Tweak test script no issue #
[arvados.git] / src / test / java / org / arvados / client / api / client / UsersApiClientTest.java
1 /*
2  * Copyright (C) The Arvados Authors. All rights reserved.
3  *
4  * SPDX-License-Identifier: AGPL-3.0 OR Apache-2.0
5  *
6  */
7
8 package org.arvados.client.api.client;
9
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;
16
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;
20
21 public class UsersApiClientTest extends ArvadosClientMockedWebServerTest {
22
23     private static final String RESOURCE = "users";
24     private static final String USER_UUID = "ardev-tpzed-q6dvn7sby55up1b";
25
26     private UsersApiClient client = new UsersApiClient(CONFIG);
27
28     @Test
29     public void listUsers() throws Exception {
30
31         // given
32         server.enqueue(getResponse("users-list"));
33
34         // when
35         UserList actual = client.list();
36
37         // then
38         RecordedRequest request = server.takeRequest();
39         assertAuthorizationHeader(request);
40         assertRequestPath(request, RESOURCE);
41         assertRequestMethod(request, RequestMethod.GET);
42         assertThat(actual.getItemsAvailable()).isEqualTo(13);
43     }
44
45     @Test
46     public void getUser() throws Exception {
47
48         // given
49         server.enqueue(getResponse("users-get"));
50
51         // when
52         User actual = client.get(USER_UUID);
53
54         // then
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);
60     }
61
62     @Test
63     public void getCurrentUser() throws Exception {
64
65         // given
66         server.enqueue(getResponse("users-get"));
67
68         // when
69         User actual = client.current();
70
71         // then
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);
77     }
78
79     @Test
80     public void getSystemUser() throws Exception {
81
82         // given
83         server.enqueue(getResponse("users-system"));
84
85         // when
86         User actual = client.system();
87
88         // then
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");
94     }
95
96     @Test
97     public void createUser() throws Exception {
98
99         // given
100         server.enqueue(getResponse("users-create"));
101
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();
106
107         User user = new User();
108         user.setFirstName(firstName);
109         user.setLastName(lastName);
110         user.setFullName(fullName);
111         user.setUsername(username);
112
113         // when
114         User actual = client.create(user);
115
116         // then
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);
125     }
126 }