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.Collection;
12 import org.arvados.client.api.model.CollectionList;
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.test.utils.ApiClientTestUtils.*;
18 import static org.assertj.core.api.Assertions.assertThat;
20 public class CollectionsApiClientTest extends ArvadosClientMockedWebServerTest {
22 private static final String RESOURCE = "collections";
24 private CollectionsApiClient client = new CollectionsApiClient(CONFIG);
27 public void listCollections() throws Exception {
30 server.enqueue(getResponse("collections-list"));
33 CollectionList actual = client.list();
36 RecordedRequest request = server.takeRequest();
37 assertAuthorizationHeader(request);
38 assertRequestPath(request, RESOURCE);
39 assertRequestMethod(request, RequestMethod.GET);
40 assertThat(actual.getItemsAvailable()).isEqualTo(41);
44 public void getCollection() throws Exception {
47 server.enqueue(getResponse("collections-get"));
49 String uuid = "112ci-4zz18-p51w7z3fpopo6sm";
52 Collection actual = client.get(uuid);
55 RecordedRequest request = server.takeRequest();
56 assertAuthorizationHeader(request);
57 assertRequestPath(request, RESOURCE + "/" + uuid);
58 assertRequestMethod(request, RequestMethod.GET);
59 assertThat(actual.getUuid()).isEqualTo(uuid);
60 assertThat(actual.getPortableDataHash()).isEqualTo("6c4106229b08fe25f48b3a7a8289dd46+143");
64 public void createCollection() throws Exception {
67 server.enqueue(getResponse("collections-create-simple"));
69 String name = "Super Collection";
71 Collection collection = new Collection();
72 collection.setName(name);
75 Collection actual = client.create(collection);
78 RecordedRequest request = server.takeRequest();
79 assertAuthorizationHeader(request);
80 assertRequestPath(request, RESOURCE);
81 assertRequestMethod(request, RequestMethod.POST);
82 assertThat(actual.getName()).isEqualTo(name);
83 assertThat(actual.getPortableDataHash()).isEqualTo("d41d8cd98f00b204e9800998ecf8427e+0");
84 assertThat(actual.getManifestText()).isEmpty();
88 public void createCollectionWithManifest() throws Exception {
91 server.enqueue(getResponse("collections-create-manifest"));
93 String name = "Super Collection";
94 String manifestText = ". 7df44272090cee6c0732382bba415ee9+70+Aa5ece4560e3329315165b36c239b8ab79c888f8a@5a1d5708 0:70:README.md\n";
96 Collection collection = new Collection();
97 collection.setName(name);
98 collection.setManifestText(manifestText);
101 Collection actual = client.create(collection);
104 RecordedRequest request = server.takeRequest();
105 assertAuthorizationHeader(request);
106 assertRequestPath(request, RESOURCE);
107 assertRequestMethod(request, RequestMethod.POST);
108 assertThat(actual.getName()).isEqualTo(name);
109 assertThat(actual.getPortableDataHash()).isEqualTo("d41d8cd98f00b204e9800998ecf8427e+0");
110 assertThat(actual.getManifestText()).isEqualTo(manifestText);