Skip to content

Commit

Permalink
remove redundant user check/test
Browse files Browse the repository at this point in the history
  • Loading branch information
christeredvartsen committed Feb 15, 2024
1 parent 2a5c5ce commit 67f78c0
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 74 deletions.
12 changes: 0 additions & 12 deletions internal/reconcilers/azure/group/reconciler.go
Original file line number Diff line number Diff line change
Expand Up @@ -182,7 +182,6 @@ func (r *azureGroupReconciler) connectUsers(ctx context.Context, client *apiclie
return fmt.Errorf("list existing members in Azure group %q: %s", azureGroup.MailNickname, err)
}

naisTeamUserMap := make(map[string]*protoapi.User)
membersToRemove := remoteOnlyMembers(members, naisTeamMembers)
for _, member := range membersToRemove {
remoteEmail := strings.ToLower(member.Mail)
Expand All @@ -192,17 +191,6 @@ func (r *azureGroupReconciler) connectUsers(ctx context.Context, client *apiclie
continue
}

if _, exists := naisTeamUserMap[remoteEmail]; !exists {
resp, err := client.Users().Get(ctx, &protoapi.GetUserRequest{
Email: remoteEmail,
})
if err != nil {
log.WithError(err).Warnf("user does not exist in NAIS teams")
continue
}
naisTeamUserMap[remoteEmail] = resp.User
}

reconcilers.AuditLogForTeamAndUser(
ctx,
client,
Expand Down
68 changes: 6 additions & 62 deletions internal/reconcilers/azure/group/reconciler_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ import (
"github.com/nais/api/pkg/protoapi"
"github.com/sirupsen/logrus/hooks/test"
"github.com/stretchr/testify/mock"
"google.golang.org/grpc/status"
"k8s.io/utils/ptr"
)

Expand Down Expand Up @@ -93,18 +92,6 @@ func TestAzureReconciler_Reconcile(t *testing.T) {
{User: addUser}, {User: keepUser},
}}, nil).
Once()
mockServer.Users.EXPECT().
Get(mock.Anything, mock.AnythingOfType("*protoapi.GetUserRequest")).
RunAndReturn(func(ctx context.Context, gur *protoapi.GetUserRequest) (*protoapi.GetUserResponse, error) {
switch gur.Email {
case addUser.Email:
return &protoapi.GetUserResponse{User: addUser}, nil
case keepUser.Email:
return &protoapi.GetUserResponse{User: keepUser}, nil
}
return nil, status.Error(404, "not found")
}).
Once()
mockServer.AuditLogs.EXPECT().
Create(mock.Anything, mock.MatchedBy(func(r *protoapi.CreateAuditLogsRequest) bool {
return r.Action == "azure:group:create"
Expand All @@ -117,6 +104,12 @@ func TestAzureReconciler_Reconcile(t *testing.T) {
})).
Return(&protoapi.CreateAuditLogsResponse{}, nil).
Once()
mockServer.AuditLogs.EXPECT().
Create(mock.Anything, mock.MatchedBy(func(r *protoapi.CreateAuditLogsRequest) bool {
return r.Action == "azure:group:delete-member"
})).
Return(&protoapi.CreateAuditLogsResponse{}, nil).
Once()

err := azure_group_reconciler.
New(domain, groupNamePrefix, azure_group_reconciler.WithAzureClient(mockClient)).
Expand Down Expand Up @@ -206,55 +199,6 @@ func TestAzureReconciler_Reconcile(t *testing.T) {
}
})

t.Run("GetUser fail", func(t *testing.T) {
client, mockServer := apiclient.NewMockClient(t)
mockClient := azureclient.NewMockClient(t)
getUserError := errors.New("GetUser failed")

mockServer.Teams.EXPECT().
Members(mock.Anything, &protoapi.ListTeamMembersRequest{Limit: 100, Offset: 0, Slug: teamSlug}).
Return(&protoapi.ListTeamMembersResponse{Nodes: []*protoapi.TeamMember{
{User: addUser}, {User: keepUser},
}}, nil).
Once()
mockServer.Users.EXPECT().
Get(mock.Anything, mock.AnythingOfType("*protoapi.GetUserRequest")).
RunAndReturn(func(ctx context.Context, gur *protoapi.GetUserRequest) (*protoapi.GetUserResponse, error) {
switch gur.Email {
case addUser.Email:
return &protoapi.GetUserResponse{User: addUser}, nil
case keepUser.Email:
return &protoapi.GetUserResponse{User: keepUser}, nil
}
return nil, status.Error(404, "not found")
}).
Once()

mockClient.EXPECT().
GetOrCreateGroup(mock.Anything, mock.Anything, "nais-team-slug").
Return(group, false, nil).
Once()
mockClient.EXPECT().
ListGroupMembers(mock.Anything, group).
Return([]*azureclient.Member{keepMember, removeMember}, nil).
Once()
mockClient.EXPECT().
RemoveMemberFromGroup(mock.Anything, group, removeMember).
Return(nil).
Once()
mockClient.EXPECT().
GetUser(mock.Anything, addUser.Email).
Return(nil, getUserError).
Once()

err := azure_group_reconciler.
New(domain, groupNamePrefix, azure_group_reconciler.WithAzureClient(mockClient)).
Reconcile(ctx, client, team, log)
if err != nil {
t.Errorf("unexpected error: %s", err)
}
})

t.Run("AddMemberToGroup fail", func(t *testing.T) {
client, mockServer := apiclient.NewMockClient(t)
mockClient := azureclient.NewMockClient(t)
Expand Down

0 comments on commit 67f78c0

Please sign in to comment.