Add tails_uuid and tail_kind to Links API
[arvados.git] / sdk / java-v2 / src / test / java / org / arvados / client / api / client / LinkApiClientTest.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.Link;
12 import org.arvados.client.api.model.LinkList;
13 import org.arvados.client.test.utils.ArvadosClientMockedWebServerTest;
14 import org.arvados.client.test.utils.RequestMethod;
15 import org.junit.Test;
16
17 import static org.arvados.client.test.utils.ApiClientTestUtils.assertAuthorizationHeader;
18 import static org.arvados.client.test.utils.ApiClientTestUtils.assertRequestMethod;
19 import static org.arvados.client.test.utils.ApiClientTestUtils.assertRequestPath;
20 import static org.arvados.client.test.utils.ApiClientTestUtils.getResponse;
21 import static org.assertj.core.api.Assertions.assertThat;
22 import static org.junit.Assert.assertEquals;
23
24 public class LinkApiClientTest extends ArvadosClientMockedWebServerTest {
25
26     private static final String RESOURCE = "links";
27
28     private final LinksApiClient client = new LinksApiClient(CONFIG);
29
30     @Test
31     public void listLinks() throws Exception {
32         // given
33         server.enqueue(getResponse("links-list"));
34
35         // when
36         LinkList actual = client.list();
37
38         // then
39         RecordedRequest request = server.takeRequest();
40         assertAuthorizationHeader(request);
41         assertRequestPath(request, RESOURCE);
42         assertRequestMethod(request, RequestMethod.GET);
43         assertThat(actual.getItemsAvailable()).isEqualTo(2);
44     }
45
46     @Test
47     public void getLink() throws Exception {
48         // given
49         server.enqueue(getResponse("links-get"));
50
51         String uuid = "arkau-o0j2j-huxuaxbi46s1yml";
52
53         // when
54         Link actual = client.get(uuid);
55
56         // then
57         RecordedRequest request = server.takeRequest();
58         assertAuthorizationHeader(request);
59         assertRequestPath(request, RESOURCE + "/" + uuid);
60         assertRequestMethod(request, RequestMethod.GET);
61         assertEquals(actual.getUuid(), uuid);
62         assertEquals(actual.getName(), "can_read");
63         assertEquals(actual.getHeadKind(), "arvados#group");
64         assertEquals(actual.getHeadUuid(), "arkau-j7d0g-fcedae2076pw56h");
65         assertEquals(actual.getTailUuid(), "ardev-tpzed-n3kzq4fvoks3uw4");
66         assertEquals(actual.getTailKind(), "arvados#user");
67         assertEquals(actual.getLinkClass(), "permission");
68     }
69
70     @Test
71     public void createLink() throws Exception {
72         // given
73         server.enqueue(getResponse("links-create"));
74
75         String name = "Star Link";
76
77         Link collection = new Link();
78         collection.setName(name);
79
80         // when
81         Link actual = client.create(collection);
82
83         // then
84         RecordedRequest request = server.takeRequest();
85         assertAuthorizationHeader(request);
86         assertRequestPath(request, RESOURCE);
87         assertRequestMethod(request, RequestMethod.POST);
88         assertThat(actual.getName()).isEqualTo(name);
89         assertEquals(actual.getName(), name);
90         assertEquals(actual.getUuid(), "arkau-o0j2j-huxuaxbi46s1yml");
91         assertEquals(actual.getHeadKind(), "arvados#group");
92         assertEquals(actual.getHeadUuid(), "arkau-j7d0g-fcedae2076pw56h");
93         assertEquals(actual.getTailUuid(), "ardev-tpzed-n3kzq4fvoks3uw4");
94         assertEquals(actual.getTailKind(), "arvados#user");
95         assertEquals(actual.getLinkClass(), "star");
96     }
97 }