@@ -205,7 +205,7 @@ func TestTaskStageOverride_Beta(t *testing.T) {
205
205
Overridable : Bool (true ),
206
206
}
207
207
createPolicySetWithOptions (t , client , orgTest , []* Policy {pTest }, []* Workspace {wTest }, opts )
208
- rTest , tTestCleanup := createRunWaitForStatus (t , client , wTest , RunAwaitingDecision )
208
+ rTest , tTestCleanup := createRunWaitForStatus (t , client , wTest , RunPostPlanAwaitingDecision )
209
209
defer tTestCleanup ()
210
210
211
211
taskStageList , err := client .TaskStages .List (ctx , rTest .ID , nil )
@@ -216,7 +216,49 @@ func TestTaskStageOverride_Beta(t *testing.T) {
216
216
assert .Equal (t , TaskStageAwaitingOverride , taskStageList .Items [0 ].Status )
217
217
assert .Equal (t , 1 , len (taskStageList .Items [0 ].PolicyEvaluations ))
218
218
219
- _ , err = client .TaskStages .Override (ctx , taskStageList .Items [0 ].ID )
219
+ _ , err = client .TaskStages .Override (ctx , taskStageList .Items [0 ].ID , TaskStageOverrideOptions {})
220
+ require .NoError (t , err )
221
+ })
222
+
223
+ t .Run ("when the policy failed with options" , func (t * testing.T ) {
224
+ orgTest , orgTestCleanup := createOrganization (t , client )
225
+ defer orgTestCleanup ()
226
+
227
+ options := PolicyCreateOptions {
228
+ Description : String ("A sample policy" ),
229
+ Kind : OPA ,
230
+ Query : String ("data.example.rule" ),
231
+ Enforce : []* EnforcementOptions {
232
+ {
233
+ Mode : EnforcementMode (EnforcementMandatory ),
234
+ },
235
+ },
236
+ }
237
+ pTest , pTestCleanup := createUploadedPolicyWithOptions (t , client , false , orgTest , options )
238
+ defer pTestCleanup ()
239
+
240
+ wTest , wTestCleanup := createWorkspace (t , client , orgTest )
241
+ defer wTestCleanup ()
242
+ opts := PolicySetCreateOptions {
243
+ Kind : OPA ,
244
+ Overridable : Bool (true ),
245
+ }
246
+ createPolicySetWithOptions (t , client , orgTest , []* Policy {pTest }, []* Workspace {wTest }, opts )
247
+ rTest , tTestCleanup := createRunWaitForStatus (t , client , wTest , RunPostPlanAwaitingDecision )
248
+ defer tTestCleanup ()
249
+
250
+ taskStageList , err := client .TaskStages .List (ctx , rTest .ID , nil )
251
+ require .NoError (t , err )
252
+
253
+ require .NotEmpty (t , taskStageList .Items )
254
+ assert .NotEmpty (t , taskStageList .Items [0 ].ID )
255
+ assert .Equal (t , TaskStageAwaitingOverride , taskStageList .Items [0 ].Status )
256
+ assert .Equal (t , 1 , len (taskStageList .Items [0 ].PolicyEvaluations ))
257
+
258
+ taskStageOverrideOptions := TaskStageOverrideOptions {
259
+ Comment : String ("test comment" ),
260
+ }
261
+ ts , err := client .TaskStages .Override (ctx , taskStageList .Items [0 ].ID , taskStageOverrideOptions )
220
262
require .NoError (t , err )
221
263
})
222
264
@@ -254,7 +296,7 @@ func TestTaskStageOverride_Beta(t *testing.T) {
254
296
assert .Equal (t , TaskStagePassed , taskStageList .Items [0 ].Status )
255
297
assert .Equal (t , 1 , len (taskStageList .Items [0 ].PolicyEvaluations ))
256
298
257
- _ , err = client .TaskStages .Override (ctx , taskStageList .Items [0 ].ID )
299
+ _ , err = client .TaskStages .Override (ctx , taskStageList .Items [0 ].ID , TaskStageOverrideOptions {} )
258
300
assert .Errorf (t , err , "transition not allowed" )
259
301
})
260
302
}
0 commit comments