@@ -60,24 +60,30 @@ func (e *EnvironmentManager) getMembersMap() (map[string]MemberList, error) {
60
60
return nil , errors .Wrap (err , "get members" )
61
61
}
62
62
63
+ membersJson , _ := json .Marshal (members )
64
+ fmt .Sprintf ("members: %s" , membersJson )
65
+
63
66
membersMap := make (map [string ]MemberList )
64
67
for i := 0 ; i < len (members ); i += 1 {
68
+ memberJson , _ := json .Marshal (members )
69
+ fmt .Sprintf ("member: %s" , memberJson )
70
+ fmt .Sprintf ("member: %s" , members [i ].Email )
65
71
membersMap [members [i ].Email ] = members [i ]
66
72
}
67
73
return membersMap , nil
68
74
}
69
75
70
76
// Delete team members created with multi-player mode
71
77
func (e * EnvironmentManager ) DeleteMember (id string ) error {
72
- url := fmt .Sprintf ("%s/v1/team/member?user_id= %s" , e .Params .IDOrigin , id )
78
+ url := fmt .Sprintf ("%s/v1/team/member/ %s" , e .Params .IDOrigin , id )
73
79
req , err := http .NewRequest (
74
80
"DELETE" ,
75
81
url ,
76
82
nil ,
77
83
)
78
84
79
85
if err != nil {
80
- return err
86
+ return errors . Wrap ( err , fmt . Sprintf ( "DELETE %s/v1/team/member?user_id=%s" , e . Params . IDOrigin , id ))
81
87
}
82
88
req .Header .Set ("Authorization" , e .Params .SessionToken )
83
89
req .Header .Set ("Accept" , "application/json" )
@@ -92,38 +98,48 @@ func (e *EnvironmentManager) DeleteMember(id string) error {
92
98
panic (err .Error ())
93
99
}
94
100
if resp .StatusCode != 204 {
95
- return fmt .Errorf ("GET /v1/team/member %d: %s" , resp .StatusCode , body )
101
+ return fmt .Errorf ("DELETE /v1/team/member/%s %d: %s" , id , resp .StatusCode , body )
96
102
}
97
103
return nil
98
104
}
99
105
100
106
func (e * EnvironmentManager ) addMember (members map [string ]MemberList , policies map [string ]string ) error {
101
107
inviteEmail := e .Params .ParticipantId + "@replicated-labs.com"
108
+
109
+ e .Log .Verbose ()
110
+ e .Log .Debug ("Inviting %s" , inviteEmail )
102
111
err := e .inviteMember (inviteEmail , members , policies )
103
112
if err != nil {
104
113
return err
105
114
}
106
115
107
116
// Signup
117
+ e .Log .Debug ("Signing up %s" , inviteEmail )
108
118
sr , err := e .signupMember (inviteEmail )
109
119
if err != nil {
110
120
return err
111
121
}
122
+ inviteId := sr .Token
112
123
113
124
// Verify
125
+ signupResponseJson , _ := json .Marshal (sr )
126
+ e .Log .Debug ("Verfiying %s" , signupResponseJson )
114
127
vr , err := e .verifyMember (sr )
115
128
if err != nil {
116
129
return err
117
130
}
118
131
119
132
// Capture Invite Id
120
- invite , err := e .captureInvite (vr )
133
+ verifyResponseJson , _ := json .Marshal (vr )
134
+ e .Log .Debug ("Capturing %s with %s" , inviteId , verifyResponseJson )
135
+ invite , err := e .captureInvite (inviteId , vr )
121
136
if err != nil {
122
137
return err
123
138
}
124
139
125
140
// Accept Invite
126
- err = e .acceptInvite (invite , e .Params .ParticipantId , vr )
141
+ e .Log .Debug ("Accepting invite %s for participant %s" , inviteId , e .Params .ParticipantId )
142
+ err = e .acceptInvite (invite .Invite .Id , e .Params .ParticipantId , vr )
127
143
if err != nil {
128
144
return err
129
145
}
@@ -140,17 +156,18 @@ type AcceptBody struct {
140
156
FromTeamSelection bool `json:"from_team_selection"`
141
157
}
142
158
143
- func (e * EnvironmentManager ) acceptInvite (invite * InvitedTeams , participantId string , vr * VerifyResponse ) error {
159
+ func (e * EnvironmentManager ) acceptInvite (inviteId string , participantId string , vr * VerifyResponse ) error {
144
160
h := sha256 .Sum256 ([]byte (participantId ))
145
161
sum := fmt .Sprintf ("%x" , h )
146
- ab := AcceptBody {InviteId : (* invite ).Teams [0 ].InviteId , FirstName : "Repl" , LastName : "Replicated" , Password : string (sum [0 :20 ]), ReplaceAccount : false , FromTeamSelection : true }
162
+
163
+ ab := AcceptBody {InviteId : inviteId , FirstName : "Repl" , LastName : "Replicated" , Password : string (sum [0 :20 ]), ReplaceAccount : false , FromTeamSelection : true }
147
164
acceptBodyBytes , err := json .Marshal (ab )
148
165
if err != nil {
149
166
return errors .Wrap (err , "marshal accept body" )
150
167
}
151
168
req , err := http .NewRequest (
152
169
"POST" ,
153
- fmt .Sprintf ("%s/v1/signup/accept-invite" , e .Params .IDOrigin ),
170
+ fmt .Sprintf ("%s/vendor/ v1/signup/accept-invite" , e .Params .IDOrigin ),
154
171
bytes .NewReader (acceptBodyBytes ),
155
172
)
156
173
if err != nil {
@@ -172,18 +189,24 @@ func (e *EnvironmentManager) acceptInvite(invite *InvitedTeams, participantId st
172
189
return nil
173
190
}
174
191
175
- type InvitedTeams struct {
176
- Teams []struct {
177
- Id string `json:"id"`
178
- Name string `json:"name"`
179
- InviteId string `json:"invite_id"`
180
- } `json:"invited_teams"`
192
+ type Invite struct {
193
+ Invite struct {
194
+ Id string `json:"id"`
195
+ Email string `json:"email"`
196
+ HasConflict string `json:"has_conflict"`
197
+ } `json:"invite"`
198
+ Team struct {
199
+ Id string `json:"id"`
200
+ Name string `json:"name"`
201
+ InviteId string `json:"invite_id"`
202
+ } `json:"team"`
181
203
}
182
204
183
- func (e * EnvironmentManager ) captureInvite (vr * VerifyResponse ) (* InvitedTeams , error ) {
205
+ func (e * EnvironmentManager ) captureInvite (inviteId string , vr * VerifyResponse ) (* Invite , error ) {
206
+ e .Log .Verbose ()
184
207
req , err := http .NewRequest (
185
208
"GET" ,
186
- fmt .Sprintf ("%s/v1/signup/teams" , e .Params .IDOrigin ),
209
+ fmt .Sprintf ("%s/vendor/ v1/signup/teams" , e .Params .IDOrigin , inviteId ),
187
210
nil ,
188
211
)
189
212
if err != nil {
@@ -194,19 +217,20 @@ func (e *EnvironmentManager) captureInvite(vr *VerifyResponse) (*InvitedTeams, e
194
217
195
218
resp , err := http .DefaultClient .Do (req )
196
219
if err != nil {
197
- return nil , errors .Wrap (err , "send signup teams request " )
220
+ return nil , errors .Wrap (err , "getting the invite " )
198
221
}
199
222
defer resp .Body .Close ()
200
223
201
224
if resp .StatusCode != 200 {
202
225
body , _ := ioutil .ReadAll (resp .Body )
203
- return nil , fmt .Errorf ("POST /v1/signup/teams %d: %s" , resp .StatusCode , body )
226
+ return nil , fmt .Errorf ("GET /v1/invite/%s %d: %s" , inviteId , resp .StatusCode , body )
204
227
}
205
228
bodyBytes , err := ioutil .ReadAll (resp .Body )
229
+ e .Log .Debug (fmt .Sprintf ("GET /v1/invite/%s %d: %s" , inviteId , resp .StatusCode , bodyBytes ))
206
230
if err != nil {
207
231
return nil , errors .Wrap (err , "read body" )
208
232
}
209
- var body InvitedTeams
233
+ var body Invite
210
234
if err := json .NewDecoder (bytes .NewReader (bodyBytes )).Decode (& body ); err != nil {
211
235
return nil , errors .Wrap (err , "decode body" )
212
236
}
@@ -227,7 +251,7 @@ func (e *EnvironmentManager) verifyMember(sr *SignupResponse) (*VerifyResponse,
227
251
}
228
252
req , err := http .NewRequest (
229
253
"POST" ,
230
- fmt .Sprintf ("%s/v1/signup/verify" , e .Params .IDOrigin ),
254
+ fmt .Sprintf ("%s/vendor/ v1/signup/verify" , e .Params .IDOrigin ),
231
255
bytes .NewReader (verifyBodyBytes ),
232
256
)
233
257
if err != nil {
@@ -244,7 +268,7 @@ func (e *EnvironmentManager) verifyMember(sr *SignupResponse) (*VerifyResponse,
244
268
245
269
if resp .StatusCode != 201 {
246
270
body , _ := ioutil .ReadAll (resp .Body )
247
- return nil , fmt .Errorf ("POST /v1/signup/verify %d: %s" , resp .StatusCode , body )
271
+ return nil , fmt .Errorf ("POST /vendor/ v1/signup/verify %d: %s" , resp .StatusCode , body )
248
272
}
249
273
bodyBytes , err := ioutil .ReadAll (resp .Body )
250
274
if err != nil {
@@ -254,6 +278,7 @@ func (e *EnvironmentManager) verifyMember(sr *SignupResponse) (*VerifyResponse,
254
278
if err := json .NewDecoder (bytes .NewReader (bodyBytes )).Decode (& body ); err != nil {
255
279
return nil , errors .Wrap (err , "decode body" )
256
280
}
281
+ e .Log .Debug (fmt .Sprintf ("POST /vendor/v1/signup/verify %d: %s" , resp .StatusCode , body ))
257
282
return & body , nil
258
283
}
259
284
@@ -271,7 +296,7 @@ func (e *EnvironmentManager) signupMember(inviteEmail string) (*SignupResponse,
271
296
}
272
297
req , err := http .NewRequest (
273
298
"POST" ,
274
- fmt .Sprintf ("%s/v1/signup" , e .Params .IDOrigin ),
299
+ fmt .Sprintf ("%s/vendor/ v1/signup" , e .Params .IDOrigin ),
275
300
bytes .NewReader (signupBodyBytes ),
276
301
)
277
302
if err != nil {
@@ -317,7 +342,7 @@ func (e *EnvironmentManager) inviteMember(inviteEmail string, members map[string
317
342
}
318
343
req , err := http .NewRequest (
319
344
"POST" ,
320
- fmt .Sprintf ("%s/v1/team/invite" , e .Params .IDOrigin ),
345
+ fmt .Sprintf ("%s/vendor/ v1/team/invite" , e .Params .IDOrigin ),
321
346
bytes .NewReader (inviteBodyBytes ),
322
347
)
323
348
if err != nil {
0 commit comments