mirror of
https://github.com/zalando/postgres-operator.git
synced 2026-10-06 19:37:59 +02:00
add unit test for 404 at team members
This commit is contained in:
@@ -194,8 +194,8 @@ type mockTeamsAPIClient struct {
|
||||
members []string
|
||||
}
|
||||
|
||||
func (m *mockTeamsAPIClient) TeamInfo(teamID, token string) (tm *teams.Team, err error) {
|
||||
return &teams.Team{Members: m.members}, nil
|
||||
func (m *mockTeamsAPIClient) TeamInfo(teamID, token string) (tm *teams.Team, statusCode int, err error) {
|
||||
return &teams.Team{Members: m.members}, statusCode, nil
|
||||
}
|
||||
|
||||
func (m *mockTeamsAPIClient) setMembers(members []string) {
|
||||
@@ -260,15 +260,15 @@ type mockTeamsAPIClientMultipleTeams struct {
|
||||
teams []mockTeam
|
||||
}
|
||||
|
||||
func (m *mockTeamsAPIClientMultipleTeams) TeamInfo(teamID, token string) (tm *teams.Team, err error) {
|
||||
func (m *mockTeamsAPIClientMultipleTeams) TeamInfo(teamID, token string) (tm *teams.Team, statusCode int, err error) {
|
||||
for _, team := range m.teams {
|
||||
if team.teamID == teamID {
|
||||
return &teams.Team{Members: team.members}, nil
|
||||
return &teams.Team{Members: team.members}, statusCode, nil
|
||||
}
|
||||
}
|
||||
|
||||
// should not be reached if a slice with teams is populated correctly
|
||||
return nil, nil
|
||||
return nil, statusCode, nil
|
||||
}
|
||||
|
||||
// Test adding members of maintenance teams that get superuser rights for all PG databases
|
||||
@@ -302,12 +302,6 @@ func TestInitHumanUsersWithSuperuserTeams(t *testing.T) {
|
||||
isPostgresSuperuserTeam: true,
|
||||
}
|
||||
|
||||
teamC := mockTeam{
|
||||
teamID: "",
|
||||
members: []string{""},
|
||||
isPostgresSuperuserTeam: true,
|
||||
}
|
||||
|
||||
userB := spec.PgUser{
|
||||
Name: "postgres_admin",
|
||||
Origin: spec.RoleOriginTeamsAPI,
|
||||
@@ -340,7 +334,7 @@ func TestInitHumanUsersWithSuperuserTeams(t *testing.T) {
|
||||
ownerTeam: "test",
|
||||
existingRoles: map[string]spec.PgUser{},
|
||||
superuserTeams: []string{"postgres_superusers", "postgres_admins"},
|
||||
teams: []mockTeam{teamA, teamB, teamC, teamTest},
|
||||
teams: []mockTeam{teamA, teamB, teamTest},
|
||||
result: map[string]spec.PgUser{
|
||||
"postgres_superuser": userA,
|
||||
"postgres_admin": userB,
|
||||
|
||||
+7
-2
@@ -272,9 +272,14 @@ func (c *Cluster) getTeamMembers(teamID string) ([]string, error) {
|
||||
return nil, fmt.Errorf("could not get oauth token to authenticate to team service API: %v", err)
|
||||
}
|
||||
|
||||
teamInfo, err := c.teamsAPIClient.TeamInfo(teamID, token)
|
||||
teamInfo, statusCode, err := c.teamsAPIClient.TeamInfo(teamID, token)
|
||||
|
||||
if err != nil {
|
||||
c.logger.Warningf("could not get team info for team %q: %v", teamID, err)
|
||||
if statusCode == 404 {
|
||||
c.logger.Warningf("could not get team info for team %q: %v", teamID, err)
|
||||
} else {
|
||||
return nil, fmt.Errorf("could not get team info for team %q: %v", teamID, err)
|
||||
}
|
||||
} else {
|
||||
for _, member := range teamInfo.Members {
|
||||
if !(util.SliceContains(members, member)) {
|
||||
|
||||
Reference in New Issue
Block a user