reflect more feedback

This commit is contained in:
Felix Kunde 2020-10-22 11:55:56 +02:00
parent 61225998ff
commit 65f1b35275
3 changed files with 35 additions and 21 deletions

View File

@ -110,9 +110,9 @@ func (ptm *PostgresTeamMap) Load(pgTeams *acidv1.PostgresTeamList) {
for teamID := range teamIDs { for teamID := range teamIDs {
(*ptm)[teamID] = postgresTeamMembership{ (*ptm)[teamID] = postgresTeamMembership{
AdditionalSuperuserTeams: superuserTeamSet.toMap()[teamID], AdditionalSuperuserTeams: util.CoalesceStrArr(superuserTeamSet.toMap()[teamID], []string{}),
AdditionalTeams: teamSet.toMap()[teamID], AdditionalTeams: util.CoalesceStrArr(teamSet.toMap()[teamID], []string{}),
AdditionalMembers: teamMemberSet.toMap()[teamID], AdditionalMembers: util.CoalesceStrArr(teamMemberSet.toMap()[teamID], []string{}),
} }
} }
} }

View File

@ -26,9 +26,9 @@ var (
Name: "teamAB", Name: "teamAB",
}, },
Spec: acidv1.PostgresTeamSpec{ Spec: acidv1.PostgresTeamSpec{
AdditionalSuperuserTeams: map[string][]string{"teamA": []string{"teamB", "team24/7"}, "teamB": []string{"teamA", "teamC", "team24/7"}}, AdditionalSuperuserTeams: map[string][]string{"teamA": []string{"teamB", "team24x7"}, "teamB": []string{"teamA", "teamC", "team24x7"}},
AdditionalTeams: map[string][]string{"teamA": []string{"teamC"}, "teamB": []string{}}, AdditionalTeams: map[string][]string{"teamA": []string{"teamC"}, "teamB": []string{}},
AdditionalMembers: map[string][]string{"team24/7": []string{"optimusprime"}, "teamB": []string{"drno"}}, AdditionalMembers: map[string][]string{"team24x7": []string{"optimusprime"}, "teamB": []string{"drno"}},
}, },
}, { }, {
TypeMeta: metav1.TypeMeta{ TypeMeta: metav1.TypeMeta{
@ -39,7 +39,7 @@ var (
Name: "teamC", Name: "teamC",
}, },
Spec: acidv1.PostgresTeamSpec{ Spec: acidv1.PostgresTeamSpec{
AdditionalSuperuserTeams: map[string][]string{"teamC": []string{"team24/7"}}, AdditionalSuperuserTeams: map[string][]string{"teamC": []string{"team24x7"}},
AdditionalTeams: map[string][]string{"teamA": []string{"teamC"}, "teamC": []string{"teamA", "teamB", "acid"}}, AdditionalTeams: map[string][]string{"teamA": []string{"teamC"}, "teamC": []string{"teamA", "teamB", "acid"}},
AdditionalMembers: map[string][]string{"acid": []string{"batman"}}, AdditionalMembers: map[string][]string{"acid": []string{"batman"}},
}, },
@ -61,28 +61,28 @@ func TestLoadingPostgresTeamCRD(t *testing.T) {
pgTeamList, pgTeamList,
PostgresTeamMap{ PostgresTeamMap{
"teamA": { "teamA": {
AdditionalSuperuserTeams: []string{"teamB", "team24/7"}, AdditionalSuperuserTeams: []string{"teamB", "team24x7"},
AdditionalTeams: []string{"teamC"}, AdditionalTeams: []string{"teamC"},
AdditionalMembers: nil, AdditionalMembers: []string{},
}, },
"teamB": { "teamB": {
AdditionalSuperuserTeams: []string{"teamA", "teamC", "team24/7"}, AdditionalSuperuserTeams: []string{"teamA", "teamC", "team24x7"},
AdditionalTeams: []string{}, AdditionalTeams: []string{},
AdditionalMembers: []string{"drno"}, AdditionalMembers: []string{"drno"},
}, },
"teamC": { "teamC": {
AdditionalSuperuserTeams: []string{"team24/7"}, AdditionalSuperuserTeams: []string{"team24x7"},
AdditionalTeams: []string{"teamA", "teamB", "acid"}, AdditionalTeams: []string{"teamA", "teamB", "acid"},
AdditionalMembers: nil, AdditionalMembers: []string{},
}, },
"team24/7": { "team24x7": {
AdditionalSuperuserTeams: nil, AdditionalSuperuserTeams: []string{},
AdditionalTeams: nil, AdditionalTeams: []string{},
AdditionalMembers: []string{"optimusprime"}, AdditionalMembers: []string{"optimusprime"},
}, },
"acid": { "acid": {
AdditionalSuperuserTeams: nil, AdditionalSuperuserTeams: []string{},
AdditionalTeams: nil, AdditionalTeams: []string{},
AdditionalMembers: []string{"batman"}, AdditionalMembers: []string{"batman"},
}, },
}, },
@ -130,6 +130,13 @@ func TestGetAdditionalTeams(t *testing.T) {
[]string{"teamC", "teamB", "acid"}, []string{"teamC", "teamB", "acid"},
"GetAdditionalTeams returns wrong list", "GetAdditionalTeams returns wrong list",
}, },
{
"Check that empty list is returned",
"teamB",
false,
[]string{},
"GetAdditionalTeams returns wrong list",
},
} }
postgresTeamMap := PostgresTeamMap{} postgresTeamMap := PostgresTeamMap{}
@ -156,15 +163,22 @@ func TestGetAdditionalSuperuserTeams(t *testing.T) {
"Check that additional superuser teams are returned", "Check that additional superuser teams are returned",
"teamA", "teamA",
false, false,
[]string{"teamB", "team24/7"}, []string{"teamB", "team24x7"},
"GetAdditionalTeams returns wrong list", "GetAdditionalSuperuserTeams returns wrong list",
}, },
{ {
"Check that additional superuser teams are returned incl. transitive superuser teams", "Check that additional superuser teams are returned incl. transitive superuser teams",
"teamA", "teamA",
true, true,
[]string{"teamB", "teamC", "team24/7"}, []string{"teamB", "teamC", "team24x7"},
"GetAdditionalTeams returns wrong list", "GetAdditionalSuperuserTeams returns wrong list",
},
{
"Check that empty list is returned",
"team24x7",
false,
[]string{},
"GetAdditionalSuperuserTeams returns wrong list",
}, },
} }

View File

@ -51,7 +51,7 @@ var isEqualIgnoreOrderTest = []struct {
{[]string{"a", "b", "c"}, []string{"a", "b", "c"}, true}, {[]string{"a", "b", "c"}, []string{"a", "b", "c"}, true},
{[]string{"a", "b", "c"}, []string{"a", "c", "b"}, true}, {[]string{"a", "b", "c"}, []string{"a", "c", "b"}, true},
{[]string{"a", "b"}, []string{"a", "c", "b"}, false}, {[]string{"a", "b"}, []string{"a", "c", "b"}, false},
{[]string{"a", "b", "c"}, []string{"a", "d", "c"}, true}, {[]string{"a", "b", "c"}, []string{"a", "d", "c"}, false},
} }
var substractTest = []struct { var substractTest = []struct {