Skip to content

Commit 9ab9528

Browse files
authored
Merge branch 'shaffeeullah/preconditionUpdates' into refactor-setmetadata
2 parents 094c4e2 + 3896201 commit 9ab9528

File tree

11 files changed

+847
-393
lines changed

11 files changed

+847
-393
lines changed

conformance-test/conformanceCommon.ts

Lines changed: 41 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -92,16 +92,29 @@ export function executeScenario(testCase: RetryTestCase) {
9292
instructionSet.instructions,
9393
jsonMethod?.name.toString()
9494
);
95-
bucket = await createBucketForTest(
96-
storage,
97-
testCase.preconditionProvided,
98-
storageMethodString
99-
);
100-
file = await createFileForTest(
101-
testCase.preconditionProvided,
102-
storageMethodString,
103-
bucket
104-
);
95+
if (storageMethodString.includes('InstancePrecondition')) {
96+
bucket = await createBucketForTest(
97+
storage,
98+
testCase.preconditionProvided,
99+
storageMethodString
100+
);
101+
file = await createFileForTest(
102+
testCase.preconditionProvided,
103+
storageMethodString,
104+
bucket
105+
);
106+
} else {
107+
bucket = await createBucketForTest(
108+
storage,
109+
false,
110+
storageMethodString
111+
);
112+
file = await createFileForTest(
113+
false,
114+
storageMethodString,
115+
bucket
116+
);
117+
}
105118
notification = bucket.notification(`${TESTS_PREFIX}`);
106119
await notification.create();
107120

@@ -121,29 +134,22 @@ export function executeScenario(testCase: RetryTestCase) {
121134
});
122135

123136
it(`${instructionNumber}`, async () => {
137+
const methodParameters: libraryMethods.ConformanceTestOptions = {
138+
bucket: bucket,
139+
file: file,
140+
notification: notification,
141+
storage: storage,
142+
hmacKey: hmacKey,
143+
};
144+
if (testCase.preconditionProvided) {
145+
methodParameters.preconditionRequired = true;
146+
}
124147
if (testCase.expectSuccess) {
125-
assert.ifError(
126-
await storageMethodObject(
127-
bucket,
128-
file,
129-
notification,
130-
storage,
131-
hmacKey
132-
)
133-
);
148+
assert.ifError(await storageMethodObject(methodParameters));
134149
} else {
135-
try {
136-
await storageMethodObject(
137-
bucket,
138-
file,
139-
notification,
140-
storage,
141-
hmacKey
142-
);
143-
throw Error(`${storageMethodString} was supposed to throw.`);
144-
} catch (e) {
145-
assert.notStrictEqual(e, undefined);
146-
}
150+
await assert.rejects(async () => {
151+
await storageMethodObject(methodParameters);
152+
});
147153
}
148154
const testBenchResult = await getTestBenchRetryTest(
149155
creationResult.id
@@ -158,15 +164,15 @@ export function executeScenario(testCase: RetryTestCase) {
158164

159165
async function createBucketForTest(
160166
storage: Storage,
161-
preconditionProvided: boolean,
167+
preconditionShouldBeOnInstance: boolean,
162168
storageMethodString: String
163169
) {
164170
const name = generateName(storageMethodString, 'bucket');
165171
const bucket = storage.bucket(name);
166172
await bucket.create();
167173
await bucket.setRetentionPeriod(DURATION_SECONDS);
168174

169-
if (preconditionProvided) {
175+
if (preconditionShouldBeOnInstance) {
170176
return new Bucket(storage, bucket.name, {
171177
preconditionOpts: {
172178
ifMetagenerationMatch: 2,
@@ -177,14 +183,14 @@ async function createBucketForTest(
177183
}
178184

179185
async function createFileForTest(
180-
preconditionProvided: boolean,
186+
preconditionShouldBeOnInstance: boolean,
181187
storageMethodString: String,
182188
bucket: Bucket
183189
) {
184190
const name = generateName(storageMethodString, 'file');
185191
const file = bucket.file(name);
186192
await file.save(name);
187-
if (preconditionProvided) {
193+
if (preconditionShouldBeOnInstance) {
188194
return new File(bucket, file.name, {
189195
preconditionOpts: {
190196
ifMetagenerationMatch: file.metadata.metageneration,

0 commit comments

Comments
 (0)