Skip to content

Commit ac7f860

Browse files
committed
Add remaining data store tests for VPP automation
1 parent a384c97 commit ac7f860

File tree

2 files changed

+41
-8
lines changed

2 files changed

+41
-8
lines changed

server/datastore/mysql/software_titles_test.go

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1023,12 +1023,22 @@ func testListSoftwareTitlesAvailableForInstallFilter(t *testing.T, ds *Datastore
10231023
VPPAppTeam: fleet.VPPAppTeam{VPPAppID: fleet.VPPAppID{AdamID: "adam_vpp_app_2", Platform: fleet.MacOSPlatform}},
10241024
}, nil)
10251025
require.NoError(t, err)
1026-
_, err = ds.InsertVPPAppWithTeam(ctx, &fleet.VPPApp{
1026+
vpp2, err := ds.InsertVPPAppWithTeam(ctx, &fleet.VPPApp{
10271027
Name: "vpp2", BundleIdentifier: "com.example.vpp2",
10281028
VPPAppTeam: fleet.VPPAppTeam{VPPAppID: fleet.VPPAppID{AdamID: "adam_vpp_app_2", Platform: fleet.IOSPlatform}},
10291029
}, nil)
10301030
require.NoError(t, err)
10311031

1032+
// insert a policy referring to one of the VPP apps
1033+
vpp2Meta, err := ds.GetVPPAppMetadataByTeamAndTitleID(ctx, ptr.Uint(0), vpp2.TitleID)
1034+
require.NoError(t, err)
1035+
vppPolicy, err := ds.NewTeamPolicy(ctx, fleet.PolicyNoTeamID, nil, fleet.PolicyPayload{
1036+
Name: "VPP Policy",
1037+
Query: "SELECT 1;",
1038+
VPPAppsTeamsID: &vpp2Meta.VPPAppsTeamsID,
1039+
})
1040+
require.NoError(t, err)
1041+
10321042
host := test.NewHost(t, ds, "host", "", "hostkey", "hostuuid", time.Now())
10331043
software := []fleet.Software{
10341044
{Name: "foo", Version: "0.0.1", Source: "chrome_extensions"},
@@ -1065,6 +1075,11 @@ func testListSoftwareTitlesAvailableForInstallFilter(t *testing.T, ds *Datastore
10651075
names := make([]nameSource, 0, len(titles))
10661076
for _, title := range titles {
10671077
names = append(names, nameSource{name: title.Name, source: title.Source})
1078+
if title.ID == vpp2.TitleID {
1079+
assert.Len(t, title.AppStoreApp.AutomaticInstallPolicies, 1)
1080+
assert.Equal(t, title.AppStoreApp.AutomaticInstallPolicies[0].Name, "VPP Policy")
1081+
assert.Equal(t, title.AppStoreApp.AutomaticInstallPolicies[0].ID, vppPolicy.ID)
1082+
}
10681083
}
10691084
assert.ElementsMatch(t, []nameSource{
10701085
{name: "bar", source: "deb_packages"},

server/datastore/mysql/vpp_test.go

Lines changed: 25 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -919,7 +919,21 @@ func testVPPTokensCRUD(t *testing.T, ds *Datastore) {
919919
assert.Equal(t, team.ID, teamTok.Teams[0].ID)
920920
assert.Equal(t, team.Name, teamTok.Teams[0].Name)
921921

922-
// TODO make sure policies are unaffected
922+
// make sure renewing a VPP token doesn't affect associated VPP install automations
923+
t1app, err := ds.InsertVPPAppWithTeam(ctx, &fleet.VPPApp{
924+
Name: "vpp1", BundleIdentifier: "com.app.vpp1",
925+
VPPAppTeam: fleet.VPPAppTeam{VPPAppID: fleet.VPPAppID{AdamID: "adam_vpp_app_1", Platform: fleet.MacOSPlatform}},
926+
}, &team.ID)
927+
require.NoError(t, err)
928+
t1meta, err := ds.GetVPPAppMetadataByTeamAndTitleID(ctx, &team.ID, t1app.TitleID)
929+
require.NoError(t, err)
930+
931+
t1Policy, err := ds.NewTeamPolicy(ctx, team.ID, nil, fleet.PolicyPayload{
932+
Name: "p1",
933+
Query: "SELECT 1;",
934+
VPPAppsTeamsID: &t1meta.VPPAppsTeamsID,
935+
})
936+
require.NoError(t, err)
923937

924938
// Renew flow
925939
upTok, err = ds.UpdateVPPToken(ctx, tokID, dataToken6)
@@ -934,6 +948,10 @@ func testVPPTokensCRUD(t *testing.T, ds *Datastore) {
934948
assert.Equal(t, team.ID, upTok.Teams[0].ID)
935949
assert.Equal(t, team.Name, upTok.Teams[0].Name)
936950

951+
t1Policy, err = ds.Policy(ctx, t1Policy.ID)
952+
require.NoError(t, err)
953+
require.Equal(t, t1Policy.VPPAppsTeamsID, &t1meta.VPPAppsTeamsID)
954+
937955
tok, err = ds.GetVPPToken(ctx, tok.ID)
938956
assert.NoError(t, err)
939957
assert.Equal(t, tokID, tok.ID)
@@ -1112,16 +1130,16 @@ func testVPPTokensCRUD(t *testing.T, ds *Datastore) {
11121130
////
11131131

11141132
// make sure deleting a VPP token auto-clears associated VPP install automations
1115-
t1app, err := ds.InsertVPPAppWithTeam(ctx, &fleet.VPPApp{
1133+
t1app, err = ds.InsertVPPAppWithTeam(ctx, &fleet.VPPApp{
11161134
Name: "vpp1", BundleIdentifier: "com.app.vpp1",
11171135
VPPAppTeam: fleet.VPPAppTeam{VPPAppID: fleet.VPPAppID{AdamID: "adam_vpp_app_1", Platform: fleet.MacOSPlatform}},
11181136
}, &team.ID)
11191137
require.NoError(t, err)
1120-
t1meta, err := ds.GetVPPAppMetadataByTeamAndTitleID(ctx, &team.ID, t1app.TitleID)
1138+
t1meta, err = ds.GetVPPAppMetadataByTeamAndTitleID(ctx, &team.ID, t1app.TitleID)
11211139
require.NoError(t, err)
11221140

1123-
t1Policy, err := ds.NewTeamPolicy(ctx, team.ID, nil, fleet.PolicyPayload{
1124-
Name: "p1",
1141+
t1Policy2, err := ds.NewTeamPolicy(ctx, team.ID, nil, fleet.PolicyPayload{
1142+
Name: "t1p2",
11251143
Query: "SELECT 1;",
11261144
VPPAppsTeamsID: &t1meta.VPPAppsTeamsID,
11271145
})
@@ -1130,9 +1148,9 @@ func testVPPTokensCRUD(t *testing.T, ds *Datastore) {
11301148
err = ds.DeleteVPPToken(ctx, tokTeam.ID)
11311149
assert.NoError(t, err)
11321150

1133-
t1Policy, err = ds.Policy(ctx, t1Policy.ID)
1151+
t1Policy2, err = ds.Policy(ctx, t1Policy2.ID)
11341152
assert.NoError(t, err)
1135-
assert.Nil(t, t1Policy.VPPAppsTeamsID)
1153+
assert.Nil(t, t1Policy2.VPPAppsTeamsID)
11361154

11371155
tokNil, err = ds.GetVPPTokenByTeamID(ctx, nil)
11381156
assert.NoError(t, err)

0 commit comments

Comments
 (0)