diff --git a/client/client.go b/client/client.go index 9fe45b878f2..6783bcc45d8 100644 --- a/client/client.go +++ b/client/client.go @@ -355,14 +355,16 @@ type CreateUserResult struct { // createUserRequest holds the user creation request type createUserRequest struct { - EMail string `json:"email"` + EMail string `json:"email"` + Sudoer bool `json:"sudoer"` } // CreateUser creates a user from the given mail address func (client *Client) CreateUser(mail string, sudoer bool) (*CreateUserResult, error) { var createResult CreateUserResult b, err := json.Marshal(createUserRequest{ - EMail: mail, + EMail: mail, + Sudoer: sudoer, }) if err != nil { return nil, err diff --git a/client/client_test.go b/client/client_test.go index 4874d6ad2ed..185e9c6ff61 100644 --- a/client/client_test.go +++ b/client/client_test.go @@ -282,15 +282,17 @@ func (cs *clientSuite) TestClientCreateUser(c *check.C) { cs.rsp = `{ "type": "sync", "result": { - "username": "karl" + "username": "karl", + "ssh_key_count": 1 } }` - rsp, err := cs.cli.CreateUser("popper@lse.ac.uk") + rsp, err := cs.cli.CreateUser("popper@lse.ac.uk", true) c.Assert(cs.req.Method, check.Equals, "POST") c.Assert(cs.req.URL.Path, check.Equals, "/v2/create-user") c.Assert(err, check.IsNil) c.Assert(rsp, check.DeepEquals, &client.CreateUserResult{ - Username: "karl", + Username: "karl", + SshKeyCount: 1, }) }