@@ -92,16 +92,29 @@ export function executeScenario(testCase: RetryTestCase) {
92
92
instructionSet . instructions ,
93
93
jsonMethod ?. name . toString ( )
94
94
) ;
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
+ }
105
118
notification = bucket . notification ( `${ TESTS_PREFIX } ` ) ;
106
119
await notification . create ( ) ;
107
120
@@ -121,29 +134,22 @@ export function executeScenario(testCase: RetryTestCase) {
121
134
} ) ;
122
135
123
136
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
+ }
124
147
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 ) ) ;
134
149
} 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
+ } ) ;
147
153
}
148
154
const testBenchResult = await getTestBenchRetryTest (
149
155
creationResult . id
@@ -158,15 +164,15 @@ export function executeScenario(testCase: RetryTestCase) {
158
164
159
165
async function createBucketForTest (
160
166
storage : Storage ,
161
- preconditionProvided : boolean ,
167
+ preconditionShouldBeOnInstance : boolean ,
162
168
storageMethodString : String
163
169
) {
164
170
const name = generateName ( storageMethodString , 'bucket' ) ;
165
171
const bucket = storage . bucket ( name ) ;
166
172
await bucket . create ( ) ;
167
173
await bucket . setRetentionPeriod ( DURATION_SECONDS ) ;
168
174
169
- if ( preconditionProvided ) {
175
+ if ( preconditionShouldBeOnInstance ) {
170
176
return new Bucket ( storage , bucket . name , {
171
177
preconditionOpts : {
172
178
ifMetagenerationMatch : 2 ,
@@ -177,14 +183,14 @@ async function createBucketForTest(
177
183
}
178
184
179
185
async function createFileForTest (
180
- preconditionProvided : boolean ,
186
+ preconditionShouldBeOnInstance : boolean ,
181
187
storageMethodString : String ,
182
188
bucket : Bucket
183
189
) {
184
190
const name = generateName ( storageMethodString , 'file' ) ;
185
191
const file = bucket . file ( name ) ;
186
192
await file . save ( name ) ;
187
- if ( preconditionProvided ) {
193
+ if ( preconditionShouldBeOnInstance ) {
188
194
return new File ( bucket , file . name , {
189
195
preconditionOpts : {
190
196
ifMetagenerationMatch : file . metadata . metageneration ,
0 commit comments