Skip to content

Commit c339dc6

Browse files
committed
beta test
1 parent 1f49cd3 commit c339dc6

File tree

1 file changed

+86
-10
lines changed

1 file changed

+86
-10
lines changed

team_project_access_integration_test.go

Lines changed: 86 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -166,15 +166,13 @@ func TestTeamProjectAccessesAdd(t *testing.T) {
166166
})
167167

168168
t.Run("with valid options for all custom TeamProject permissions", func(t *testing.T) {
169-
skipUnlessBeta(t)
170169
options := TeamProjectAccessAddOptions{
171170
Access: *ProjectAccess(TeamProjectAccessCustom),
172171
Team: tmTest,
173172
Project: pTest,
174173
ProjectAccess: &TeamProjectAccessProjectPermissionsOptions{
175-
Settings: ProjectSettingsPermission(ProjectSettingsPermissionUpdate),
176-
Teams: ProjectTeamsPermission(ProjectTeamsPermissionManage),
177-
VariableSets: ProjectVariableSetsPermission(ProjectVariableSetsPermissionWrite),
174+
Settings: ProjectSettingsPermission(ProjectSettingsPermissionUpdate),
175+
Teams: ProjectTeamsPermission(ProjectTeamsPermissionManage),
178176
},
179177
WorkspaceAccess: &TeamProjectAccessWorkspacePermissionsOptions{
180178
Runs: WorkspaceRunsPermission(WorkspaceRunsPermissionApply),
@@ -211,7 +209,6 @@ func TestTeamProjectAccessesAdd(t *testing.T) {
211209
assert.Equal(t, options.Access, item.Access)
212210
assert.Equal(t, *options.ProjectAccess.Settings, item.ProjectAccess.ProjectSettingsPermission)
213211
assert.Equal(t, *options.ProjectAccess.Teams, item.ProjectAccess.ProjectTeamsPermission)
214-
assert.Equal(t, *options.ProjectAccess.VariableSets, item.ProjectAccess.ProjectVariableSetsPermission)
215212
assert.Equal(t, *options.WorkspaceAccess.Runs, item.WorkspaceAccess.WorkspaceRunsPermission)
216213
assert.Equal(t, *options.WorkspaceAccess.SentinelMocks, item.WorkspaceAccess.WorkspaceSentinelMocksPermission)
217214
assert.Equal(t, *options.WorkspaceAccess.StateVersions, item.WorkspaceAccess.WorkspaceStateVersionsPermission)
@@ -224,6 +221,45 @@ func TestTeamProjectAccessesAdd(t *testing.T) {
224221
}
225222
})
226223

224+
t.Run("with valid options for custom variable sets permissions", func(t *testing.T) {
225+
skipUnlessBeta(t)
226+
options := TeamProjectAccessAddOptions{
227+
Access: *ProjectAccess(TeamProjectAccessCustom),
228+
Team: tmTest,
229+
Project: pTest,
230+
ProjectAccess: &TeamProjectAccessProjectPermissionsOptions{
231+
VariableSets: ProjectVariableSetsPermission(ProjectVariableSetsPermissionWrite),
232+
},
233+
WorkspaceAccess: &TeamProjectAccessWorkspacePermissionsOptions{
234+
Runs: WorkspaceRunsPermission(WorkspaceRunsPermissionApply),
235+
},
236+
}
237+
238+
tpa, err := client.TeamProjectAccess.Add(ctx, options)
239+
t.Cleanup(func() {
240+
err := client.TeamProjectAccess.Remove(ctx, tpa.ID)
241+
if err != nil {
242+
t.Logf("error removing team access (%s): %s", tpa.ID, err)
243+
}
244+
})
245+
246+
require.NoError(t, err)
247+
248+
// Get a refreshed view from the API.
249+
refreshed, err := client.TeamProjectAccess.Read(ctx, tpa.ID)
250+
require.NoError(t, err)
251+
252+
for _, item := range []*TeamProjectAccess{
253+
tpa,
254+
refreshed,
255+
} {
256+
assert.NotEmpty(t, item.ID)
257+
assert.Equal(t, options.Access, item.Access)
258+
assert.Equal(t, *options.ProjectAccess.VariableSets, item.ProjectAccess.ProjectVariableSetsPermission)
259+
assert.Equal(t, *options.WorkspaceAccess.Runs, item.WorkspaceAccess.WorkspaceRunsPermission)
260+
}
261+
})
262+
227263
t.Run("with valid options for some custom TeamProject permissions", func(t *testing.T) {
228264
options := TeamProjectAccessAddOptions{
229265
Access: *ProjectAccess(TeamProjectAccessCustom),
@@ -355,13 +391,11 @@ func TestTeamProjectAccessesUpdate(t *testing.T) {
355391
})
356392

357393
t.Run("with valid custom permissions attributes for all permissions", func(t *testing.T) {
358-
skipUnlessBeta(t)
359394
options := TeamProjectAccessUpdateOptions{
360395
Access: ProjectAccess(TeamProjectAccessCustom),
361396
ProjectAccess: &TeamProjectAccessProjectPermissionsOptions{
362-
Settings: ProjectSettingsPermission(ProjectSettingsPermissionUpdate),
363-
Teams: ProjectTeamsPermission(ProjectTeamsPermissionManage),
364-
VariableSets: ProjectVariableSetsPermission(ProjectVariableSetsPermissionRead),
397+
Settings: ProjectSettingsPermission(ProjectSettingsPermissionUpdate),
398+
Teams: ProjectTeamsPermission(ProjectTeamsPermissionManage),
365399
},
366400
WorkspaceAccess: &TeamProjectAccessWorkspacePermissionsOptions{
367401
Runs: WorkspaceRunsPermission(WorkspaceRunsPermissionPlan),
@@ -383,7 +417,6 @@ func TestTeamProjectAccessesUpdate(t *testing.T) {
383417
assert.Equal(t, tpa.Access, TeamProjectAccessCustom)
384418
assert.Equal(t, *options.ProjectAccess.Teams, tpa.ProjectAccess.ProjectTeamsPermission)
385419
assert.Equal(t, *options.ProjectAccess.Settings, tpa.ProjectAccess.ProjectSettingsPermission)
386-
assert.Equal(t, *options.ProjectAccess.VariableSets, tpa.ProjectAccess.ProjectVariableSetsPermission)
387420
assert.Equal(t, *options.WorkspaceAccess.Runs, tpa.WorkspaceAccess.WorkspaceRunsPermission)
388421
assert.Equal(t, *options.WorkspaceAccess.SentinelMocks, tpa.WorkspaceAccess.WorkspaceSentinelMocksPermission)
389422
assert.Equal(t, *options.WorkspaceAccess.StateVersions, tpa.WorkspaceAccess.WorkspaceStateVersionsPermission)
@@ -395,6 +428,48 @@ func TestTeamProjectAccessesUpdate(t *testing.T) {
395428
assert.Equal(t, true, tpa.WorkspaceAccess.WorkspaceRunTasksPermission)
396429
})
397430

431+
t.Run("with valid custom permissions attributes for variable sets permissions", func(t *testing.T) {
432+
skipUnlessBeta(t)
433+
// create tpaCustomTest to verify unupdated attributes stay the same for custom permissions
434+
// because going from admin to read to custom changes the values of all custom permissions
435+
tm2Test, tm2TestCleanup := createTeam(t, client, orgTest)
436+
defer tm2TestCleanup()
437+
438+
TpaOptions := TeamProjectAccessAddOptions{
439+
Access: *ProjectAccess(TeamProjectAccessCustom),
440+
Team: tm2Test,
441+
Project: pTest,
442+
}
443+
444+
tpaCustomTest, err := client.TeamProjectAccess.Add(ctx, TpaOptions)
445+
require.NoError(t, err)
446+
447+
options := TeamProjectAccessUpdateOptions{
448+
Access: ProjectAccess(TeamProjectAccessCustom),
449+
ProjectAccess: &TeamProjectAccessProjectPermissionsOptions{
450+
VariableSets: ProjectVariableSetsPermission(ProjectVariableSetsPermissionRead),
451+
},
452+
WorkspaceAccess: &TeamProjectAccessWorkspacePermissionsOptions{
453+
Create: Bool(false),
454+
},
455+
}
456+
457+
tpa, err := client.TeamProjectAccess.Update(ctx, tpaCustomTest.ID, options)
458+
require.NoError(t, err)
459+
require.NotNil(t, options.ProjectAccess)
460+
require.NotNil(t, options.WorkspaceAccess)
461+
assert.Equal(t, *options.ProjectAccess.VariableSets, tpa.ProjectAccess.ProjectVariableSetsPermission)
462+
assert.Equal(t, false, tpa.WorkspaceAccess.WorkspaceCreatePermission)
463+
// assert that other attributes remain the same
464+
assert.Equal(t, tpaCustomTest.ProjectAccess.ProjectSettingsPermission, tpa.ProjectAccess.ProjectSettingsPermission)
465+
assert.Equal(t, tpaCustomTest.WorkspaceAccess.WorkspaceLockingPermission, tpa.WorkspaceAccess.WorkspaceLockingPermission)
466+
assert.Equal(t, tpaCustomTest.WorkspaceAccess.WorkspaceMovePermission, tpa.WorkspaceAccess.WorkspaceMovePermission)
467+
assert.Equal(t, tpaCustomTest.WorkspaceAccess.WorkspaceDeletePermission, tpa.WorkspaceAccess.WorkspaceDeletePermission)
468+
assert.Equal(t, tpaCustomTest.WorkspaceAccess.WorkspaceRunsPermission, tpa.WorkspaceAccess.WorkspaceRunsPermission)
469+
assert.Equal(t, tpaCustomTest.WorkspaceAccess.WorkspaceSentinelMocksPermission, tpa.WorkspaceAccess.WorkspaceSentinelMocksPermission)
470+
assert.Equal(t, tpaCustomTest.WorkspaceAccess.WorkspaceStateVersionsPermission, tpa.WorkspaceAccess.WorkspaceStateVersionsPermission)
471+
})
472+
398473
t.Run("with valid custom permissions attributes for some permissions", func(t *testing.T) {
399474
// create tpaCustomTest to verify unupdated attributes stay the same for custom permissions
400475
// because going from admin to read to custom changes the values of all custom permissions
@@ -435,6 +510,7 @@ func TestTeamProjectAccessesUpdate(t *testing.T) {
435510
assert.Equal(t, tpaCustomTest.WorkspaceAccess.WorkspaceSentinelMocksPermission, tpa.WorkspaceAccess.WorkspaceSentinelMocksPermission)
436511
assert.Equal(t, tpaCustomTest.WorkspaceAccess.WorkspaceStateVersionsPermission, tpa.WorkspaceAccess.WorkspaceStateVersionsPermission)
437512
})
513+
438514
t.Run("with invalid custom permissions attributes", func(t *testing.T) {
439515
options := TeamProjectAccessUpdateOptions{
440516
Access: ProjectAccess(TeamProjectAccessCustom),

0 commit comments

Comments
 (0)