2 * Copyright (C) The Arvados Authors. All rights reserved.
4 * SPDX-License-Identifier: AGPL-3.0 OR Apache-2.0
8 package org.arvados.client.api.client;
10 import okhttp3.mockwebserver.RecordedRequest;
11 import org.arvados.client.api.model.User;
12 import org.arvados.client.api.model.UserList;
13 import org.arvados.client.test.utils.RequestMethod;
14 import org.arvados.client.test.utils.ArvadosClientMockedWebServerTest;
15 import org.junit.Test;
17 import static org.arvados.client.common.Characters.SLASH;
18 import static org.arvados.client.test.utils.ApiClientTestUtils.*;
19 import static org.assertj.core.api.Assertions.assertThat;
21 public class UsersApiClientTest extends ArvadosClientMockedWebServerTest {
23 private static final String RESOURCE = "users";
24 private static final String USER_UUID = "ardev-tpzed-q6dvn7sby55up1b";
26 private UsersApiClient client = new UsersApiClient(CONFIG);
29 public void listUsers() throws Exception {
32 server.enqueue(getResponse("users-list"));
35 UserList actual = client.list();
38 RecordedRequest request = server.takeRequest();
39 assertAuthorizationHeader(request);
40 assertRequestPath(request, RESOURCE);
41 assertRequestMethod(request, RequestMethod.GET);
42 assertThat(actual.getItemsAvailable()).isEqualTo(13);
46 public void getUser() throws Exception {
49 server.enqueue(getResponse("users-get"));
52 User actual = client.get(USER_UUID);
55 RecordedRequest request = server.takeRequest();
56 assertAuthorizationHeader(request);
57 assertRequestPath(request, RESOURCE + SLASH + USER_UUID);
58 assertRequestMethod(request, RequestMethod.GET);
59 assertThat(actual.getUuid()).isEqualTo(USER_UUID);
63 public void getCurrentUser() throws Exception {
66 server.enqueue(getResponse("users-get"));
69 User actual = client.current();
72 RecordedRequest request = server.takeRequest();
73 assertAuthorizationHeader(request);
74 assertRequestPath(request, RESOURCE + SLASH + "current");
75 assertRequestMethod(request, RequestMethod.GET);
76 assertThat(actual.getUuid()).isEqualTo(USER_UUID);
80 public void getSystemUser() throws Exception {
83 server.enqueue(getResponse("users-system"));
86 User actual = client.system();
89 RecordedRequest request = server.takeRequest();
90 assertAuthorizationHeader(request);
91 assertRequestPath(request, RESOURCE + SLASH + "system");
92 assertRequestMethod(request, RequestMethod.GET);
93 assertThat(actual.getUuid()).isEqualTo("ardev-tpzed-000000000000000");
97 public void createUser() throws Exception {
100 server.enqueue(getResponse("users-create"));
102 String firstName = "John";
103 String lastName = "Wayne";
104 String fullName = String.format("%s %s", firstName, lastName);
105 String username = String.format("%s%s", firstName, lastName).toLowerCase();
107 User user = new User();
108 user.setFirstName(firstName);
109 user.setLastName(lastName);
110 user.setFullName(fullName);
111 user.setUsername(username);
114 User actual = client.create(user);
117 RecordedRequest request = server.takeRequest();
118 assertAuthorizationHeader(request);
119 assertRequestPath(request, RESOURCE);
120 assertRequestMethod(request, RequestMethod.POST);
121 assertThat(actual.getFirstName()).isEqualTo(firstName);
122 assertThat(actual.getLastName()).isEqualTo(lastName);
123 assertThat(actual.getFullName()).isEqualTo(fullName);
124 assertThat(actual.getUsername()).isEqualTo(username);