@@ -21,6 +21,7 @@ import (
21
21
"github.com/nais/api/internal/logger"
22
22
"github.com/nais/api/internal/slug"
23
23
"github.com/nais/api/internal/usersync"
24
+ "github.com/nais/api/pkg/protoapi"
24
25
"github.com/sirupsen/logrus/hooks/test"
25
26
"github.com/stretchr/testify/assert"
26
27
"github.com/stretchr/testify/mock"
@@ -109,11 +110,9 @@ func TestMutationResolver_CreateTeam(t *testing.T) {
109
110
Return (nil ).
110
111
Once ()
111
112
112
- _ , psClient , closer := getPubsubServerAndClient (ctx , "some-id" , "topic-id" )
113
+ psServer , psClient , closer := getPubsubServerAndClient (ctx , "some-id" , "topic-id" )
113
114
defer closer ()
114
115
115
- // TODO: check message sent to the pubsub topic
116
-
117
116
auditLogger := auditlogger .NewAuditLoggerForTesting ()
118
117
returnedTeam , err := graph .
119
118
NewResolver (nil , nil , nil , nil , db , tenantDomain , userSync , auditLogger , nil , userSyncRuns , psClient .Topic ("topic-id" ), log ).
@@ -123,15 +122,46 @@ func TestMutationResolver_CreateTeam(t *testing.T) {
123
122
Purpose : " some purpose " ,
124
123
SlackChannel : slackChannel ,
125
124
})
126
- assert .NoError (t , err )
125
+ if err != nil {
126
+ t .Fatalf ("unexpected error: %v" , err )
127
+ }
128
+
129
+ if createdTeam .Slug != returnedTeam .Slug {
130
+ t .Errorf ("expected team slug %q, got %q" , createdTeam .Slug , returnedTeam .Slug )
131
+ }
132
+
133
+ if len (auditLogger .Entries ()) != 1 {
134
+ t .Fatalf ("expected 1 audit log entry, got %d" , len (auditLogger .Entries ()))
135
+ }
127
136
128
- assert .Equal (t , createdTeam .Slug , returnedTeam .Slug )
129
- assert .Len (t , auditLogger .Entries (), 1 )
130
137
entry := auditLogger .Entries ()[0 ]
131
- assert .Equal (t , ctx , entry .Context )
132
- assert .Equal (t , string (createdTeam .Slug ), entry .Targets [0 ].Identifier )
133
- assert .Equal (t , user , entry .Fields .Actor .User )
134
- assert .Equal (t , "Team created" , entry .Message )
138
+
139
+ if ctx != entry .Context {
140
+ t .Errorf ("incorrect context in audit log entry" )
141
+ }
142
+
143
+ if string (createdTeam .Slug ) != entry .Targets [0 ].Identifier {
144
+ t .Errorf ("expected team slug %q, got %q" , createdTeam .Slug , entry .Targets [0 ].Identifier )
145
+ }
146
+
147
+ if user != entry .Fields .Actor .User {
148
+ t .Errorf ("incorrect actor in audit log entry" )
149
+ }
150
+
151
+ if expected := "Team created" ; entry .Message != expected {
152
+ t .Errorf ("expected message %q, got %q" , expected , entry .Message )
153
+ }
154
+
155
+ psMessages := psServer .Messages ()
156
+ if len (psMessages ) != 1 {
157
+ t .Fatalf ("expected 1 message, got %d" , len (psMessages ))
158
+ }
159
+
160
+ msg := psMessages [0 ]
161
+ if msg .Attributes ["EventType" ] != protoapi .EventTypes_EVENT_TEAM_UPDATED .String () {
162
+ t .Errorf ("expected event type %s, got %s" , protoapi .EventTypes_EVENT_TEAM_UPDATED .String (), msg .Attributes ["EventType" ])
163
+
164
+ }
135
165
})
136
166
137
167
t .Run ("calling with SA, adds sa as team owner" , func (t * testing.T ) {
@@ -160,11 +190,9 @@ func TestMutationResolver_CreateTeam(t *testing.T) {
160
190
Return (nil ).
161
191
Once ()
162
192
163
- _ , psClient , closer := getPubsubServerAndClient (ctx , "some-id" , "topic-id" )
193
+ psServer , psClient , closer := getPubsubServerAndClient (ctx , "some-id" , "topic-id" )
164
194
defer closer ()
165
195
166
- // TODO: check message sent to the pubsub topic
167
-
168
196
auditLogger := auditlogger .NewAuditLoggerForTesting ()
169
197
returnedTeam , err := graph .
170
198
NewResolver (nil , nil , nil , nil , db , tenantDomain , userSync , auditLogger , nil , userSyncRuns , psClient .Topic ("topic-id" ), log ).
@@ -174,14 +202,39 @@ func TestMutationResolver_CreateTeam(t *testing.T) {
174
202
SlackChannel : slackChannel ,
175
203
})
176
204
177
- assert .NoError (t , err )
178
- assert .Equal (t , createdTeam .Slug , returnedTeam .Slug )
179
- assert .Len (t , auditLogger .Entries (), 1 )
205
+ if err != nil {
206
+ t .Fatalf ("unexpected error: %v" , err )
207
+ }
208
+
209
+ if createdTeam .Slug != returnedTeam .Slug {
210
+ t .Errorf ("expected team slug %q, got %q" , createdTeam .Slug , returnedTeam .Slug )
211
+ }
212
+
213
+ if len (auditLogger .Entries ()) != 1 {
214
+ t .Fatalf ("expected 1 audit log entry, got %d" , len (auditLogger .Entries ()))
215
+ }
216
+
180
217
entry := auditLogger .Entries ()[0 ]
181
- assert .Equal (t , saCtx , entry .Context )
182
- assert .Equal (t , string (createdTeam .Slug ), entry .Targets [0 ].Identifier )
183
- assert .Equal (t , serviceAccount , entry .Fields .Actor .User )
184
- assert .Equal (t , "Team created" , entry .Message )
218
+ if saCtx != entry .Context {
219
+ t .Errorf ("incorrect context in audit log entry" )
220
+ }
221
+
222
+ if string (createdTeam .Slug ) != entry .Targets [0 ].Identifier {
223
+ t .Errorf ("expected team slug %q, got %q" , createdTeam .Slug , entry .Targets [0 ].Identifier )
224
+ }
225
+
226
+ if serviceAccount != entry .Fields .Actor .User {
227
+ t .Errorf ("incorrect actor in audit log entry" )
228
+ }
229
+
230
+ if expected := "Team created" ; entry .Message != expected {
231
+ t .Errorf ("expected message %q, got %q" , expected , entry .Message )
232
+ }
233
+
234
+ psMessages := psServer .Messages ()
235
+ if len (psMessages ) != 1 {
236
+ t .Fatalf ("expected 1 message, got %d" , len (psMessages ))
237
+ }
185
238
})
186
239
}
187
240
0 commit comments