|
30 | 30 | from google.protobuf import field_mask_pb2, json_format |
31 | 31 |
|
32 | 32 | import testbench |
| 33 | +import testbench.common |
33 | 34 | from google.storage.v2 import storage_pb2 |
34 | 35 |
|
35 | 36 | # Lock to prevent race condition while generating metadata versions: |
@@ -116,10 +117,32 @@ def init( |
116 | 117 | cs = metadata.checksums |
117 | 118 | if len(cs.md5_hash) != 0 and actual_md5Hash != cs.md5_hash: |
118 | 119 | testbench.error.mismatch( |
119 | | - "md5Hash", cs.md5_hash, actual_md5Hash, context |
| 120 | + "md5Hash", actual_md5Hash, cs.md5_hash, context |
120 | 121 | ) |
121 | 122 | if cs.HasField("crc32c") and actual_crc32c != cs.crc32c: |
122 | | - testbench.error.mismatch("crc32c", cs.crc32c, actual_crc32c, context) |
| 123 | + testbench.error.mismatch("crc32c", actual_crc32c, cs.crc32c, context) |
| 124 | + |
| 125 | + # Check if checksum is present in x_emulator_crc32c field. |
| 126 | + if ( |
| 127 | + "x_emulator_crc32c" in metadata.metadata |
| 128 | + and len(metadata.metadata["x_emulator_crc32c"]) != 0 |
| 129 | + ): |
| 130 | + got_crc32c_encoded = metadata.metadata["x_emulator_crc32c"] |
| 131 | + # Decode to int32. |
| 132 | + got_crc32c = testbench.common.rest_crc32c_to_proto(got_crc32c_encoded) |
| 133 | + if actual_crc32c != got_crc32c: |
| 134 | + testbench.error.mismatch("crc32c", actual_crc32c, got_crc32c, context) |
| 135 | + |
| 136 | + # Check if md5h hash is present in x_emulator_md5 field. |
| 137 | + if ( |
| 138 | + "x_emulator_md5" in metadata.metadata |
| 139 | + and len(metadata.metadata["x_emulator_md5"]) != 0 |
| 140 | + ): |
| 141 | + got_md5_encoded = metadata.metadata["x_emulator_md5"] |
| 142 | + # Decode to bytes. |
| 143 | + got_md5 = testbench.common.rest_md5_to_proto(got_md5_encoded) |
| 144 | + if actual_md5Hash != got_md5: |
| 145 | + testbench.error.mismatch("md5", actual_md5Hash, got_md5, context) |
123 | 146 | metadata.checksums.md5_hash = actual_md5Hash |
124 | 147 | metadata.checksums.crc32c = actual_crc32c |
125 | 148 | metadata.create_time.FromDatetime(timestamp) |
|
0 commit comments