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.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;
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;
24 public class LinkApiClientTest extends ArvadosClientMockedWebServerTest {
26 private static final String RESOURCE = "links";
28 private final LinksApiClient client = new LinksApiClient(CONFIG);
31 public void listLinks() throws Exception {
33 server.enqueue(getResponse("links-list"));
36 LinkList actual = client.list();
39 RecordedRequest request = server.takeRequest();
40 assertAuthorizationHeader(request);
41 assertRequestPath(request, RESOURCE);
42 assertRequestMethod(request, RequestMethod.GET);
43 assertThat(actual.getItemsAvailable()).isEqualTo(2);
47 public void getLink() throws Exception {
49 server.enqueue(getResponse("links-get"));
51 String uuid = "arkau-o0j2j-huxuaxbi46s1yml";
54 Link actual = client.get(uuid);
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");
71 public void createLink() throws Exception {
73 server.enqueue(getResponse("links-create"));
75 String name = "Star Link";
77 Link collection = new Link();
78 collection.setName(name);
81 Link actual = client.create(collection);
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");