You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by na...@apache.org on 2015/07/27 09:29:44 UTC
[1/2] jclouds-labs git commit: Remove Shipyard provider. Project is
no longer maintained and is essentially superceded by kubernetes
Repository: jclouds-labs
Updated Branches:
refs/heads/master 736329073 -> 9c19ee0c8
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/9c19ee0c/shipyard/src/test/java/org/jclouds/shipyard/features/EnginesApiMockTest.java
----------------------------------------------------------------------
diff --git a/shipyard/src/test/java/org/jclouds/shipyard/features/EnginesApiMockTest.java b/shipyard/src/test/java/org/jclouds/shipyard/features/EnginesApiMockTest.java
deleted file mode 100644
index b5a4ad1..0000000
--- a/shipyard/src/test/java/org/jclouds/shipyard/features/EnginesApiMockTest.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.shipyard.features;
-
-import com.google.common.collect.Lists;
-import com.squareup.okhttp.mockwebserver.MockResponse;
-import com.squareup.okhttp.mockwebserver.MockWebServer;
-
-import org.jclouds.http.HttpResponseException;
-import org.jclouds.shipyard.ShipyardApi;
-import org.jclouds.shipyard.domain.engines.AddEngine;
-import org.jclouds.shipyard.domain.engines.EngineSettingsInfo;
-import org.jclouds.shipyard.internal.BaseShipyardMockTest;
-import org.testng.annotations.Test;
-
-import static org.testng.Assert.assertEquals;
-
-/**
- * Mock tests for the {@link org.jclouds.shipyard.features.EnginesApi} class.
- */
-@Test(groups = "unit", testName = "EnginesApiMockTest")
-public class EnginesApiMockTest extends BaseShipyardMockTest {
-
- public void testGetEngine() throws Exception {
- MockWebServer server = mockShipyardWebServer();
- server.enqueue(new MockResponse().setBody(payloadFromResource("/engine.json")));
- ShipyardApi shipyardApi = api(server.getUrl("/"));
- EnginesApi api = shipyardApi.enginesApi();
- try {
- String specificEngineID = "e2059d20-e9df-44f3-8a9b-1bf2321b4eae";
- assertEquals(api.getEngine(specificEngineID).id(), specificEngineID);
- assertSent(server, "GET", "/api/engines/" + specificEngineID);
- } finally {
- shipyardApi.close();
- server.shutdown();
- }
- }
-
- public void testGetAllEngines() throws Exception {
- MockWebServer server = mockShipyardWebServer();
- server.enqueue(new MockResponse().setBody(payloadFromResource("/engines.json")));
- ShipyardApi shipyardApi = api(server.getUrl("/"));
- EnginesApi api = shipyardApi.enginesApi();
- try {
- assertEquals(api.listEngines().size(), 1);
- assertSent(server, "GET", "/api/engines");
- } finally {
- shipyardApi.close();
- server.shutdown();
- }
- }
-
- public void testAddEngine() throws Exception {
- MockWebServer server = mockShipyardWebServer();
- server.enqueue(new MockResponse().setResponseCode(200));
- ShipyardApi shipyardApi = api(server.getUrl("/"));
- EnginesApi api = shipyardApi.enginesApi();
- try {
- AddEngine addEngine = AddEngine.create("local",
- "",
- "",
- "",
- EngineSettingsInfo.create("1234",
- "http://localhost:2375",
- 1,
- 1024,
- Lists.newArrayList("shipyard-test")));
-
- api.addEngine(addEngine);
- assertSent(server, "POST", "/api/engines", new String(payloadFromResource("/engine-add.json")));
- } finally {
- shipyardApi.close();
- server.shutdown();
- }
- }
-
- @Test (expectedExceptions = HttpResponseException.class)
- public void testAddNonExistentEngine() throws Exception {
- MockWebServer server = mockShipyardWebServer();
- server.enqueue(new MockResponse().setResponseCode(500));
- ShipyardApi shipyardApi = api(server.getUrl("/"));
- EnginesApi api = shipyardApi.enginesApi();
- try {
- AddEngine addEngine = AddEngine.create("local",
- "",
- "",
- "",
- EngineSettingsInfo.create("9999",
- "http://shipyard.failure.com:9999",
- 1,
- 1024,
- Lists.newArrayList("shipyard-faiure")));
-
- api.addEngine(addEngine);
- assertSent(server, "POST", "/api/engines", new String(payloadFromResource("/engine-add.json")));
- } finally {
- shipyardApi.close();
- server.shutdown();
- }
- }
-
- public void testRemoveEngine() throws Exception {
- MockWebServer server = mockShipyardWebServer();
- server.enqueue(new MockResponse().setResponseCode(200));
- ShipyardApi shipyardApi = api(server.getUrl("/"));
- EnginesApi api = shipyardApi.enginesApi();
- try {
- String specificEngineID = "e2059d20-e9df-44f3-8a9b-1bf2321b4eae";
- api.removeEngine(specificEngineID);
- assertSent(server, "DELETE", "/api/engines/" + specificEngineID);
- } finally {
- shipyardApi.close();
- server.shutdown();
- }
- }
-
- public void testRemoveNonExistentEngine() throws Exception {
- //TODO
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/9c19ee0c/shipyard/src/test/java/org/jclouds/shipyard/features/ImagesApiLiveTest.java
----------------------------------------------------------------------
diff --git a/shipyard/src/test/java/org/jclouds/shipyard/features/ImagesApiLiveTest.java b/shipyard/src/test/java/org/jclouds/shipyard/features/ImagesApiLiveTest.java
deleted file mode 100644
index 47af8e1..0000000
--- a/shipyard/src/test/java/org/jclouds/shipyard/features/ImagesApiLiveTest.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.shipyard.features;
-
-import static org.testng.Assert.assertNotNull;
-
-import java.net.URI;
-import java.util.List;
-
-import org.jclouds.shipyard.domain.images.ImageInfo;
-import org.jclouds.shipyard.internal.BaseShipyardApiLiveTest;
-import org.testng.annotations.Test;
-
-@Test(groups = "live", testName = "ImagesApiLiveTest", singleThreaded = true)
-public class ImagesApiLiveTest extends BaseShipyardApiLiveTest {
-
- public void testGetAllImages() throws Exception {
- // we only have to test that this does not fail. It's entirely possible we get 0 images back.
- // This is a placeholder test-hack until Shipyard gets a proper images API expected in v2.10
- String dockerEndpoint = System.getProperty("test.shipyard.docker.endpoint");
- List<ImageInfo> images = api().listImages(URI.create(dockerEndpoint));
- assertNotNull(images);
- }
-
- private ImagesApi api() {
- return api.imagesApi();
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/9c19ee0c/shipyard/src/test/java/org/jclouds/shipyard/features/ImagesApiMockTest.java
----------------------------------------------------------------------
diff --git a/shipyard/src/test/java/org/jclouds/shipyard/features/ImagesApiMockTest.java b/shipyard/src/test/java/org/jclouds/shipyard/features/ImagesApiMockTest.java
deleted file mode 100644
index cbc5f1e..0000000
--- a/shipyard/src/test/java/org/jclouds/shipyard/features/ImagesApiMockTest.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.shipyard.features;
-
-import static org.testng.Assert.assertEquals;
-
-import java.net.URI;
-
-import org.jclouds.http.HttpResponseException;
-import org.jclouds.shipyard.ShipyardApi;
-import org.jclouds.shipyard.internal.BaseShipyardMockTest;
-import org.testng.annotations.Test;
-
-import com.squareup.okhttp.mockwebserver.MockResponse;
-import com.squareup.okhttp.mockwebserver.MockWebServer;
-
-/**
- * Mock tests for the {@link org.jclouds.shipyard.features.ImagesApi} class.
- */
-@Test(groups = "unit", testName = "ImagesApiMockTest")
-public class ImagesApiMockTest extends BaseShipyardMockTest {
-
- public void testGetAllImages() throws Exception {
- MockWebServer server = mockShipyardWebServer();
- server.enqueue(new MockResponse().
- setResponseCode(200).
- setBody(payloadFromResource("/images.json")));
- ShipyardApi shipyardApi = api(server.getUrl("/"));
- ImagesApi api = shipyardApi.imagesApi();
- try {
- assertEquals(api.listImages(URI.create("")).size(), 1);
- assertSentIgnoreServiceKey(server, "GET", "/images/json");
- } finally {
- shipyardApi.close();
- server.shutdown();
- }
- }
-
- @Test (expectedExceptions = HttpResponseException.class)
- public void testGetNonExistentDockerDaemon() throws Exception {
- MockWebServer server = mockShipyardWebServer();
- server.enqueue(new MockResponse().
- setResponseCode(404).
- setBody(payloadFromResource("/images.json")));
- ShipyardApi shipyardApi = api(server.getUrl("/"));
- ImagesApi api = shipyardApi.imagesApi();
- try {
- assertEquals(api.listImages(URI.create("http://test-jclouds-ship:9999")).size(), 0);
- assertSentIgnoreServiceKey(server, "GET", "/images/json");
- } finally {
- shipyardApi.close();
- server.shutdown();
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/9c19ee0c/shipyard/src/test/java/org/jclouds/shipyard/features/RolesApiLiveTest.java
----------------------------------------------------------------------
diff --git a/shipyard/src/test/java/org/jclouds/shipyard/features/RolesApiLiveTest.java b/shipyard/src/test/java/org/jclouds/shipyard/features/RolesApiLiveTest.java
deleted file mode 100644
index e362bac..0000000
--- a/shipyard/src/test/java/org/jclouds/shipyard/features/RolesApiLiveTest.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.shipyard.features;
-
-import java.util.List;
-import java.util.UUID;
-
-import static org.testng.Assert.assertTrue;
-import static org.testng.Assert.assertNull;
-import static org.testng.Assert.assertNotNull;
-
-import org.jclouds.shipyard.domain.roles.RoleInfo;
-import org.jclouds.shipyard.internal.BaseShipyardApiLiveTest;
-import org.testng.annotations.AfterClass;
-import org.testng.annotations.Test;
-
-import com.google.common.base.Predicate;
-import com.google.common.collect.Iterables;
-
-@Test(groups = "live", testName = "RolesApiLiveTest", singleThreaded = true)
-public class RolesApiLiveTest extends BaseShipyardApiLiveTest {
-
- private final String roleName = "jclouds-shipyard-test-" + UUID.randomUUID().toString().replaceAll("-", "");
-
- @AfterClass (alwaysRun = true)
- protected void tearDown() {
- api().deleteRole(roleName);
- }
-
- public void testCreateRole() throws Exception {
- api().createRole(roleName);
- }
-
- @Test (dependsOnMethods = "testCreateRole")
- public void testGetRole() throws Exception {
- RoleInfo role = api().getRole(roleName);
- assertNotNull(role, "Role was not set");
- assertTrue(role.name().equals(roleName), "Found Role name does not match expected name: found=" + role.name() + ", expected=" + roleName);
- }
-
- @Test (dependsOnMethods = "testGetRole")
- public void testListRoles() throws Exception {
- List<RoleInfo> possibleRoles = api().listRoles();
- assertNotNull(possibleRoles, "possibleRoles was not set");
- assertTrue(possibleRoles.size() > 0, "Expected at least 1 Role but list was empty");
- RoleInfo possibleRole = Iterables.find(possibleRoles, new Predicate<RoleInfo>() {
- @Override
- public boolean apply(RoleInfo arg0) {
- return arg0.name().equals(roleName);
- }
- }, null);
- assertNotNull(possibleRole, "Expected but could not find Role amongst " + possibleRoles.size() + " found");
- }
-
- @Test (dependsOnMethods = "testListRoles")
- public void testRemoveRole() throws Exception {
- boolean removed = api().deleteRole(UUID.randomUUID().toString().replaceAll("-", ""));
- assertTrue(removed);
- }
-
- @Test (dependsOnMethods = "testRemoveRole")
- public void testRemoveNonExistentRole() throws Exception {
- boolean removed = api().deleteRole(UUID.randomUUID().toString().replaceAll("-", ""));
- assertTrue(removed);
- }
-
- @Test (dependsOnMethods = "testRemoveNonExistentRole")
- public void testGetNonExistentRole() throws Exception {
- RoleInfo role = api().getRole("jclouds-shipyard-test-" + UUID.randomUUID().toString().replaceAll("-", ""));
- assertNull(role, "Role was expected to be NULL but was not");
- }
-
- private RolesApi api() {
- return api.rolesApi();
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/9c19ee0c/shipyard/src/test/java/org/jclouds/shipyard/features/RolesApiMockTest.java
----------------------------------------------------------------------
diff --git a/shipyard/src/test/java/org/jclouds/shipyard/features/RolesApiMockTest.java b/shipyard/src/test/java/org/jclouds/shipyard/features/RolesApiMockTest.java
deleted file mode 100644
index 807442d..0000000
--- a/shipyard/src/test/java/org/jclouds/shipyard/features/RolesApiMockTest.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.shipyard.features;
-
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertNull;
-import static org.testng.Assert.assertNotNull;
-import static org.testng.Assert.assertFalse;
-import static org.testng.Assert.assertTrue;
-
-import org.jclouds.shipyard.ShipyardApi;
-import org.jclouds.shipyard.domain.roles.RoleInfo;
-import org.jclouds.shipyard.internal.BaseShipyardMockTest;
-import org.testng.annotations.Test;
-
-import com.squareup.okhttp.mockwebserver.MockResponse;
-import com.squareup.okhttp.mockwebserver.MockWebServer;
-
-/**
- * Mock tests for the {@link org.jclouds.shipyard.features.RolesApi} class.
- */
-@Test(groups = "unit", testName = "RolesApiMockTest")
-public class RolesApiMockTest extends BaseShipyardMockTest {
-
- public void testListRoles() throws Exception {
- MockWebServer server = mockShipyardWebServer();
- server.enqueue(new MockResponse().setResponseCode(200).setBody(payloadFromResource("/roles.json")));
- ShipyardApi shipyardApi = api(server.getUrl("/"));
- RolesApi api = shipyardApi.rolesApi();
- try {
- assertEquals(api.listRoles().size(), 2);
- assertSent(server, "GET", "/api/roles");
- } finally {
- shipyardApi.close();
- server.shutdown();
- }
- }
-
- public void testGetRole() throws Exception {
- MockWebServer server = mockShipyardWebServer();
- server.enqueue(new MockResponse().setResponseCode(200).setBody(payloadFromResource("/role.json")));
- ShipyardApi shipyardApi = api(server.getUrl("/"));
- RolesApi api = shipyardApi.rolesApi();
- try {
- RoleInfo role = api.getRole("admin");
- assertNotNull(role);
- assertEquals(role.name(), "admin");
- assertSent(server, "GET", "/api/roles/admin");
- } finally {
- shipyardApi.close();
- server.shutdown();
- }
- }
-
- public void testGetNonExistentRole() throws Exception {
- MockWebServer server = mockShipyardWebServer();
- server.enqueue(new MockResponse().setResponseCode(500).setBody("role does not exist"));
- ShipyardApi shipyardApi = api(server.getUrl("/"));
- RolesApi api = shipyardApi.rolesApi();
- try {
- RoleInfo role = api.getRole("NonExistentRole");
- assertNull(role);
- } finally {
- shipyardApi.close();
- server.shutdown();
- }
- }
-
- public void testCreateRole() throws Exception {
- MockWebServer server = mockShipyardWebServer();
- server.enqueue(new MockResponse().setResponseCode(204));
- ShipyardApi shipyardApi = api(server.getUrl("/"));
- RolesApi api = shipyardApi.rolesApi();
- try {
- api.createRole("admin");
- assertSent(server, "POST", "/api/roles", new String(payloadFromResource("/role-delete-create.json")));
- } finally {
- shipyardApi.close();
- server.shutdown();
- }
- }
-
- public void testDeleteRole() throws Exception {
- MockWebServer server = mockShipyardWebServer();
- server.enqueue(new MockResponse().setResponseCode(204));
- ShipyardApi shipyardApi = api(server.getUrl("/"));
- RolesApi api = shipyardApi.rolesApi();
- try {
- boolean removed = api.deleteRole("admin");
- assertTrue(removed);
- assertSent(server, "DELETE", "/api/roles", new String(payloadFromResource("/role-delete-create.json")));
- } finally {
- shipyardApi.close();
- server.shutdown();
- }
- }
-
- public void testDeleteNonExistentRole() throws Exception {
- MockWebServer server = mockShipyardWebServer();
- server.enqueue(new MockResponse().setResponseCode(500).setBody("role does not exist"));
- ShipyardApi shipyardApi = api(server.getUrl("/"));
- RolesApi api = shipyardApi.rolesApi();
- try {
- boolean removed = api.deleteRole("NonExistentRole");
- assertFalse(removed);
- } finally {
- shipyardApi.close();
- server.shutdown();
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/9c19ee0c/shipyard/src/test/java/org/jclouds/shipyard/features/ServiceKeysApiLiveTest.java
----------------------------------------------------------------------
diff --git a/shipyard/src/test/java/org/jclouds/shipyard/features/ServiceKeysApiLiveTest.java b/shipyard/src/test/java/org/jclouds/shipyard/features/ServiceKeysApiLiveTest.java
deleted file mode 100644
index b55b958..0000000
--- a/shipyard/src/test/java/org/jclouds/shipyard/features/ServiceKeysApiLiveTest.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.shipyard.features;
-
-import java.util.List;
-import java.util.UUID;
-
-import static org.testng.Assert.assertFalse;
-import static org.testng.Assert.assertTrue;
-import static org.testng.Assert.assertNotNull;
-
-import org.jclouds.shipyard.domain.servicekeys.ServiceKey;
-import org.jclouds.shipyard.internal.BaseShipyardApiLiveTest;
-import org.testng.annotations.AfterClass;
-import org.testng.annotations.Test;
-
-import com.google.common.base.Predicate;
-import com.google.common.collect.Iterables;
-
-@Test(groups = "live", testName = "ServiceKeysApiLiveTest", singleThreaded = true)
-public class ServiceKeysApiLiveTest extends BaseShipyardApiLiveTest {
-
- private final String serviceKeyDescription = "ShipyardJCloudsLiveTest";
- private String serviceKey = null;
-
- @AfterClass (alwaysRun = true)
- protected void tearDown() {
- api().deleteServiceKey(serviceKey);
- }
-
- public void testCreateServiceKey() throws Exception {
- ServiceKey possibleServiceKey = api().createServiceKey(serviceKeyDescription);
- assertNotNull(possibleServiceKey, "Did not successfully create ServiceKey");
- assertTrue(possibleServiceKey.description().equals(serviceKeyDescription), "ServiceKey description returned from Shipyard did not match expected value");
- serviceKey = possibleServiceKey.key();
- }
-
- @Test (dependsOnMethods = "testCreateServiceKey")
- public void testListServiceKeys() throws Exception {
- List<ServiceKey> possibleServiceKeys = api().listServiceKeys();
- assertNotNull(possibleServiceKeys, "possibleServiceKeys was not set");
- assertTrue(possibleServiceKeys.size() > 0, "Expected at least 1 ServiceKey but list was empty");
- ServiceKey possibleServiceKey = Iterables.find(possibleServiceKeys, new Predicate<ServiceKey>() {
- @Override
- public boolean apply(ServiceKey arg0) {
- return arg0.key().equals(serviceKey);
- }
- }, null);
- assertNotNull(possibleServiceKey, "Expected but could not find ServiceKey amongst " + possibleServiceKeys.size() + " found");
- }
-
- @Test (dependsOnMethods = "testListServiceKeys")
- public void testRemoveServiceKey() throws Exception {
- assertNotNull(serviceKey, "Expected serviceKey to be set but was not");
- boolean removed = api().deleteServiceKey(serviceKey);
- assertTrue(removed);
- }
-
- public void testRemoveNonExistentServiceKey() throws Exception {
- boolean removed = api().deleteServiceKey(UUID.randomUUID().toString().replaceAll("-", ""));
- assertFalse(removed);
- }
-
- private ServiceKeysApi api() {
- return api.serviceKeysApi();
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/9c19ee0c/shipyard/src/test/java/org/jclouds/shipyard/features/ServiceKeysApiMockTest.java
----------------------------------------------------------------------
diff --git a/shipyard/src/test/java/org/jclouds/shipyard/features/ServiceKeysApiMockTest.java b/shipyard/src/test/java/org/jclouds/shipyard/features/ServiceKeysApiMockTest.java
deleted file mode 100644
index 23369a1..0000000
--- a/shipyard/src/test/java/org/jclouds/shipyard/features/ServiceKeysApiMockTest.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.shipyard.features;
-
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertNotNull;
-import static org.testng.Assert.assertFalse;
-import static org.testng.Assert.assertTrue;
-
-import org.jclouds.http.HttpResponseException;
-import org.jclouds.shipyard.ShipyardApi;
-import org.jclouds.shipyard.domain.servicekeys.ServiceKey;
-import org.jclouds.shipyard.internal.BaseShipyardMockTest;
-import org.testng.annotations.Test;
-
-import com.squareup.okhttp.mockwebserver.MockResponse;
-import com.squareup.okhttp.mockwebserver.MockWebServer;
-
-/**
- * Mock tests for the {@link org.jclouds.shipyard.features.ServiceKeysApi} class.
- */
-@Test(groups = "unit", testName = "ServiceKeysApiMockTest")
-public class ServiceKeysApiMockTest extends BaseShipyardMockTest {
-
- public void testListServiceKeys() throws Exception {
- MockWebServer server = mockShipyardWebServer();
- server.enqueue(new MockResponse().setResponseCode(200).setBody(payloadFromResource("/servicekeys.json")));
- ShipyardApi shipyardApi = api(server.getUrl("/"));
- ServiceKeysApi api = shipyardApi.serviceKeysApi();
- try {
- assertEquals(api.listServiceKeys().size(), 2);
- assertSent(server, "GET", "/api/servicekeys");
- } finally {
- shipyardApi.close();
- server.shutdown();
- }
- }
-
- public void testCreateServiceKey() throws Exception {
- MockWebServer server = mockShipyardWebServer();
- server.enqueue(new MockResponse().setResponseCode(200).setBody(payloadFromResource("/servicekey-response.json")));
- ShipyardApi shipyardApi = api(server.getUrl("/"));
- ServiceKeysApi api = shipyardApi.serviceKeysApi();
- try {
- ServiceKey serviceKey = api.createServiceKey("jclouds-shipyard-testing");
- assertNotNull(serviceKey);
- assertEquals(serviceKey.description(), "jclouds-shipyard-testing");
- assertSent(server, "POST", "/api/servicekeys", new String(payloadFromResource("/servicekey-create.json")));
- } finally {
- shipyardApi.close();
- server.shutdown();
- }
- }
-
- public void testDeleteServiceKey() throws Exception {
- MockWebServer server = mockShipyardWebServer();
- server.enqueue(new MockResponse().setResponseCode(204));
- ShipyardApi shipyardApi = api(server.getUrl("/"));
- ServiceKeysApi api = shipyardApi.serviceKeysApi();
- try {
- boolean removed = api.deleteServiceKey("1111222233334444");
- assertTrue(removed);
- assertSent(server, "DELETE", "/api/servicekeys");
- } finally {
- shipyardApi.close();
- server.shutdown();
- }
- }
-
- public void testDeleteNonExistentServiceKey() throws Exception {
- MockWebServer server = mockShipyardWebServer();
- server.enqueue(new MockResponse().setResponseCode(500).setBody("service key does not exist"));
- ShipyardApi shipyardApi = api(server.getUrl("/"));
- ServiceKeysApi api = shipyardApi.serviceKeysApi();
- try {
- Boolean removed = api.deleteServiceKey("NonExistentServiceKey");
- assertFalse(removed);
- assertSent(server, "DELETE", "/api/servicekeys");
- } finally {
- shipyardApi.close();
- server.shutdown();
- }
- }
-
- @Test (expectedExceptions = HttpResponseException.class)
- public void testDeleteNonExistentServiceKeyWithErroneousData() throws Exception {
- MockWebServer server = mockShipyardWebServer();
- server.enqueue(new MockResponse().setResponseCode(555).setBody("erroneous data"));
- ShipyardApi shipyardApi = api(server.getUrl("/"));
- ServiceKeysApi api = shipyardApi.serviceKeysApi();
- try {
- api.deleteServiceKey("NonExistentServiceKey");
- } finally {
- shipyardApi.close();
- server.shutdown();
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/9c19ee0c/shipyard/src/test/java/org/jclouds/shipyard/internal/BaseShipyardApiLiveTest.java
----------------------------------------------------------------------
diff --git a/shipyard/src/test/java/org/jclouds/shipyard/internal/BaseShipyardApiLiveTest.java b/shipyard/src/test/java/org/jclouds/shipyard/internal/BaseShipyardApiLiveTest.java
deleted file mode 100644
index fa29524..0000000
--- a/shipyard/src/test/java/org/jclouds/shipyard/internal/BaseShipyardApiLiveTest.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.shipyard.internal;
-
-import java.util.Properties;
-
-import org.jclouds.Constants;
-import org.jclouds.apis.BaseApiLiveTest;
-import org.jclouds.shipyard.ShipyardApi;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableSet;
-import com.google.inject.Module;
-
-@Test(groups = "live")
-public class BaseShipyardApiLiveTest extends BaseApiLiveTest<ShipyardApi> {
-
- public BaseShipyardApiLiveTest() {
- provider = "shipyard";
- }
-
- @Override
- protected Iterable<Module> setupModules() {
- return ImmutableSet.<Module>of(getLoggingModule());
- }
-
- @Override
- protected Properties setupProperties() {
- Properties overrides = super.setupProperties();
- overrides.setProperty(Constants.PROPERTY_MAX_RETRIES, "0");
- return overrides;
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/9c19ee0c/shipyard/src/test/java/org/jclouds/shipyard/internal/BaseShipyardMockTest.java
----------------------------------------------------------------------
diff --git a/shipyard/src/test/java/org/jclouds/shipyard/internal/BaseShipyardMockTest.java b/shipyard/src/test/java/org/jclouds/shipyard/internal/BaseShipyardMockTest.java
deleted file mode 100644
index e2e9405..0000000
--- a/shipyard/src/test/java/org/jclouds/shipyard/internal/BaseShipyardMockTest.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.shipyard.internal;
-
-import static com.google.common.base.Charsets.UTF_8;
-import static com.google.common.util.concurrent.MoreExecutors.sameThreadExecutor;
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.jclouds.util.Strings2.toStringAndClose;
-import static javax.ws.rs.core.MediaType.APPLICATION_JSON;
-import static org.testng.Assert.assertEquals;
-
-import java.io.IOException;
-import java.net.URL;
-import java.util.Properties;
-import java.util.Set;
-
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-
-import org.jclouds.Constants;
-import org.jclouds.ContextBuilder;
-import org.jclouds.concurrent.config.ExecutorServiceModule;
-import org.jclouds.shipyard.ShipyardApi;
-
-import com.google.common.base.Charsets;
-import com.google.common.base.Throwables;
-import com.google.common.collect.ImmutableSet;
-import com.google.gson.JsonParser;
-import com.google.inject.Module;
-import com.squareup.okhttp.mockwebserver.MockWebServer;
-import com.squareup.okhttp.mockwebserver.RecordedRequest;
-
-/**
- * Base class for all Shipyard mock tests.
- */
-public class BaseShipyardMockTest {
- private final Set<Module> modules = ImmutableSet.<Module> of(new ExecutorServiceModule(sameThreadExecutor()));
-
- protected String provider;
- private final JsonParser parser = new JsonParser();
-
- public BaseShipyardMockTest() {
- provider = "shipyard";
- }
-
- public ShipyardApi api(URL url) {
- return ContextBuilder.newBuilder(provider)
- .credentials("shipyard-service-key", "")
- .endpoint(url.toString())
- .modules(modules)
- .overrides(setupProperties())
- .buildApi(ShipyardApi.class);
- }
-
- protected Properties setupProperties() {
- Properties properties = new Properties();
- properties.setProperty(Constants.PROPERTY_MAX_RETRIES, "0");
- return properties;
- }
-
- public static MockWebServer mockShipyardWebServer() throws IOException {
- MockWebServer server = new MockWebServer();
- server.play();
- return server;
- }
-
- public byte[] payloadFromResource(String resource) {
- try {
- return toStringAndClose(getClass().getResourceAsStream(resource)).getBytes(Charsets.UTF_8);
- } catch (IOException e) {
- throw Throwables.propagate(e);
- }
- }
-
- protected RecordedRequest assertSent(MockWebServer server, String method, String path) throws InterruptedException {
- RecordedRequest request = server.takeRequest();
- assertThat(request.getMethod()).isEqualTo(method);
- assertThat(request.getPath()).isEqualTo(path);
- assertThat(request.getHeader("X-Service-Key").equals("shipyard-service-key"));
- assertThat(request.getHeader(HttpHeaders.ACCEPT)).isEqualTo(MediaType.APPLICATION_JSON);
- return request;
- }
-
- protected RecordedRequest assertSentIgnoreServiceKey(MockWebServer server, String method, String path) throws InterruptedException {
- RecordedRequest request = server.takeRequest();
- assertThat(request.getMethod()).isEqualTo(method);
- assertThat(request.getPath()).isEqualTo(path);
- assertThat(request.getHeader(HttpHeaders.ACCEPT)).isEqualTo(MediaType.APPLICATION_JSON);
- return request;
- }
-
- protected RecordedRequest assertSent(MockWebServer server, String method, String path, String json) throws InterruptedException {
- RecordedRequest request = assertSent(server, method, path);
- assertEquals(request.getHeader("Content-Type"), APPLICATION_JSON);
- assertEquals(parser.parse(new String(request.getBody(), UTF_8)), parser.parse(json));
- return request;
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/9c19ee0c/shipyard/src/test/java/org/jclouds/shipyard/internal/BaseShipyardParseTest.java
----------------------------------------------------------------------
diff --git a/shipyard/src/test/java/org/jclouds/shipyard/internal/BaseShipyardParseTest.java b/shipyard/src/test/java/org/jclouds/shipyard/internal/BaseShipyardParseTest.java
deleted file mode 100644
index 8bc9532..0000000
--- a/shipyard/src/test/java/org/jclouds/shipyard/internal/BaseShipyardParseTest.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.shipyard.internal;
-
-import org.jclouds.json.BaseItemParserTest;
-import org.jclouds.json.config.GsonModule;
-
-import com.google.inject.Guice;
-import com.google.inject.Injector;
-
-public abstract class BaseShipyardParseTest<T> extends BaseItemParserTest<T> {
-
- @Override
- protected Injector injector() {
- return Guice.createInjector(new GsonModule());
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/9c19ee0c/shipyard/src/test/java/org/jclouds/shipyard/parse/ContainersParseTest.java
----------------------------------------------------------------------
diff --git a/shipyard/src/test/java/org/jclouds/shipyard/parse/ContainersParseTest.java b/shipyard/src/test/java/org/jclouds/shipyard/parse/ContainersParseTest.java
deleted file mode 100644
index 0db2407..0000000
--- a/shipyard/src/test/java/org/jclouds/shipyard/parse/ContainersParseTest.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.shipyard.parse;
-
-import java.util.List;
-
-import javax.ws.rs.Consumes;
-import javax.ws.rs.core.MediaType;
-
-import org.jclouds.shipyard.domain.containers.ContainerImageInfo;
-import org.jclouds.shipyard.domain.containers.ContainerInfo;
-import org.jclouds.shipyard.domain.engines.EngineSettingsInfo;
-import org.jclouds.shipyard.domain.images.ImagePortsInfo;
-import org.jclouds.shipyard.internal.BaseShipyardParseTest;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableMap;
-
-@Test(groups = "unit")
-public class ContainersParseTest extends BaseShipyardParseTest<List<ContainerInfo>> {
-
- @Override
- public String resource() {
- return "/containers.json";
- }
-
- @Override
- @Consumes(MediaType.APPLICATION_JSON)
- public List<ContainerInfo> expected() {
-
- return ImmutableList.of(
- ContainerInfo.create("e2f6784b75ed8768e83b7ec46ca8ef784941f6ce4c53231023804277965da1d2",
- "/atlassian-stash",
- ContainerImageInfo.create("nkatsaros/atlassian-stash:3.5",
- ImmutableMap.<String, String>of("STASH_HOME", "/var/atlassian/stash", "STASH_VERSION", "3.5.0"),
- ImmutableList.<String>of("/docker-entrypoint.sh"),
- "e2f6784b75ed",
- ImmutableList.<ImagePortsInfo>of(ImagePortsInfo.create("tcp", "0.0.0.0", 8089, 8080)),
- ImmutableList.<String>of("/var/atlassian/stash"),
- ImmutableMap.<String, String>of(),
- true,
- "bridge"),
- EngineSettingsInfo.create("sdrelnx150",
- "http://sdrelnx150:2375",
- 8,
- 8096,
- ImmutableList.<String>of("sdrelnx150")),
- "stopped",
- ImmutableList.<ImagePortsInfo>of(ImagePortsInfo.create("tcp", "0.0.0.0", 8089, 8080)))
- );
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/9c19ee0c/shipyard/src/test/java/org/jclouds/shipyard/parse/EnginesParseTest.java
----------------------------------------------------------------------
diff --git a/shipyard/src/test/java/org/jclouds/shipyard/parse/EnginesParseTest.java b/shipyard/src/test/java/org/jclouds/shipyard/parse/EnginesParseTest.java
deleted file mode 100644
index 9e208fc..0000000
--- a/shipyard/src/test/java/org/jclouds/shipyard/parse/EnginesParseTest.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.shipyard.parse;
-
-import java.util.List;
-
-import javax.ws.rs.Consumes;
-import javax.ws.rs.core.MediaType;
-
-import org.jclouds.shipyard.domain.engines.EngineInfo;
-import org.jclouds.shipyard.domain.engines.EngineSettingsInfo;
-import org.jclouds.shipyard.internal.BaseShipyardParseTest;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableList;
-
-@Test(groups = "unit")
-public class EnginesParseTest extends BaseShipyardParseTest<List<EngineInfo>> {
-
- @Override
- public String resource() {
- return "/engines.json";
- }
-
- @Override
- @Consumes(MediaType.APPLICATION_JSON)
- public List<EngineInfo> expected() {
- return ImmutableList.of(
- EngineInfo.create("e2059d20-e9df-44f3-8a9b-1bf2321b4eae",
- EngineSettingsInfo.create("sdrelnx150",
- "http://sdrelnx150:2375",
- 8,
- 8096,
- ImmutableList.<String>of("sdrelnx150")))
- );
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/9c19ee0c/shipyard/src/test/java/org/jclouds/shipyard/parse/ImagesParseTest.java
----------------------------------------------------------------------
diff --git a/shipyard/src/test/java/org/jclouds/shipyard/parse/ImagesParseTest.java b/shipyard/src/test/java/org/jclouds/shipyard/parse/ImagesParseTest.java
deleted file mode 100644
index 359cf0b..0000000
--- a/shipyard/src/test/java/org/jclouds/shipyard/parse/ImagesParseTest.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.shipyard.parse;
-
-import java.util.List;
-
-import javax.ws.rs.Consumes;
-import javax.ws.rs.core.MediaType;
-
-import org.jclouds.shipyard.domain.images.ImageInfo;
-import org.jclouds.shipyard.internal.BaseShipyardParseTest;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableList;
-
-@Test(groups = "unit")
-public class ImagesParseTest extends BaseShipyardParseTest<List<ImageInfo>> {
-
- @Override
- public String resource() {
- return "/images.json";
- }
-
- @Override
- @Consumes(MediaType.APPLICATION_JSON)
- public List<ImageInfo> expected() {
- return ImmutableList.of(
- ImageInfo.create(1416370366,
- "3f0d936caee4777872d6ad8dfae0077b6857d86f0232a240a95e748fb1c981f1",
- "5cd3a141e0cc8523bf5d76b9187124bb9d43b874da2656abf1f417e4d4858643",
- ImmutableList.<String>of("nkatsaros/atlassian-stash:3.4"),
- 6233,
- 480107370,
- null)
- );
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/9c19ee0c/shipyard/src/test/resources/container-deploy-response.json
----------------------------------------------------------------------
diff --git a/shipyard/src/test/resources/container-deploy-response.json b/shipyard/src/test/resources/container-deploy-response.json
deleted file mode 100644
index acce569..0000000
--- a/shipyard/src/test/resources/container-deploy-response.json
+++ /dev/null
@@ -1,49 +0,0 @@
-[
-{
- "id": "e2f6784b75ed8768e83b7ec46ca8ef784941f6ce4c53231023804277965da1d2",
- "name": "/atlassian-stash",
- "image": {
- "name": "nkatsaros/atlassian-stash:3.5",
- "entrypoint": [
- "/docker-entrypoint.sh"
- ],
- "environment": {
- "STASH_HOME": "/var/atlassian/stash",
- "STASH_VERSION": "3.5.0"
- },
- "hostname": "e2f6784b75ed",
- "bind_ports": [
- {
- "proto": "tcp",
- "host_ip": "0.0.0.0",
- "port": 8089,
- "container_port": 8080
- }
- ],
- "volumes": [
- "/var/atlassian/stash"
- ],
- "restart_policy": {},
- "publish": true,
- "network_mode": "bridge"
- },
- "engine": {
- "id": "localhost",
- "addr": "http://localhost:2375",
- "cpus": 8,
- "memory": 8096,
- "labels": [
- "localhost"
- ]
- },
- "state": "stopped",
- "ports": [
- {
- "proto": "tcp",
- "host_ip": "0.0.0.0",
- "port": 8089,
- "container_port": 8080
- }
- ]
-}
-]
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/9c19ee0c/shipyard/src/test/resources/container-deploy.json
----------------------------------------------------------------------
diff --git a/shipyard/src/test/resources/container-deploy.json b/shipyard/src/test/resources/container-deploy.json
deleted file mode 100644
index 74d391b..0000000
--- a/shipyard/src/test/resources/container-deploy.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "name": "nkatsaros/atlassian-stash:3.5",
- "container_name": "atlassian-stash",
- "cpus": 8,
- "memory": 8096,
- "type" : "service",
- "labels": [
- "localhost"
- ],
- "args": [],
- "environment": {
- "STASH_HOME": "/var/atlassian/stash",
- "STASH_VERSION": "3.5.0"
- },
- "restart_policy": {},
- "bind_ports": [],
- "links": {}
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/9c19ee0c/shipyard/src/test/resources/container.json
----------------------------------------------------------------------
diff --git a/shipyard/src/test/resources/container.json b/shipyard/src/test/resources/container.json
deleted file mode 100644
index 1d60c11..0000000
--- a/shipyard/src/test/resources/container.json
+++ /dev/null
@@ -1,47 +0,0 @@
-{
- "id": "e2f6784b75ed8768e83b7ec46ca8ef784941f6ce4c53231023804277965da1d2",
- "name": "/atlassian-stash",
- "image": {
- "name": "nkatsaros/atlassian-stash:3.5",
- "entrypoint": [
- "/docker-entrypoint.sh"
- ],
- "environment": {
- "STASH_HOME": "/var/atlassian/stash",
- "STASH_VERSION": "3.5.0"
- },
- "hostname": "e2f6784b75ed",
- "bind_ports": [
- {
- "proto": "tcp",
- "host_ip": "0.0.0.0",
- "port": 8089,
- "container_port": 8080
- }
- ],
- "volumes": [
- "/var/atlassian/stash"
- ],
- "restart_policy": {},
- "publish": true,
- "network_mode": "bridge"
- },
- "engine": {
- "id": "localhost",
- "addr": "http://localhost:2375",
- "cpus": 8,
- "memory": 8096,
- "labels": [
- "localhost"
- ]
- },
- "state": "stopped",
- "ports": [
- {
- "proto": "tcp",
- "host_ip": "0.0.0.0",
- "port": 8089,
- "container_port": 8080
- }
- ]
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/9c19ee0c/shipyard/src/test/resources/containers.json
----------------------------------------------------------------------
diff --git a/shipyard/src/test/resources/containers.json b/shipyard/src/test/resources/containers.json
deleted file mode 100644
index 2b838b2..0000000
--- a/shipyard/src/test/resources/containers.json
+++ /dev/null
@@ -1,49 +0,0 @@
-[
- {
- "id": "e2f6784b75ed8768e83b7ec46ca8ef784941f6ce4c53231023804277965da1d2",
- "name": "/atlassian-stash",
- "image": {
- "name": "nkatsaros/atlassian-stash:3.5",
- "entrypoint": [
- "/docker-entrypoint.sh"
- ],
- "environment": {
- "STASH_HOME": "/var/atlassian/stash",
- "STASH_VERSION": "3.5.0"
- },
- "hostname": "e2f6784b75ed",
- "bind_ports": [
- {
- "proto": "tcp",
- "host_ip": "0.0.0.0",
- "port": 8089,
- "container_port": 8080
- }
- ],
- "volumes": [
- "/var/atlassian/stash"
- ],
- "restart_policy": {},
- "publish": true,
- "network_mode": "bridge"
- },
- "engine": {
- "id": "sdrelnx150",
- "addr": "http://sdrelnx150:2375",
- "cpus": 8,
- "memory": 8096,
- "labels": [
- "sdrelnx150"
- ]
- },
- "state": "stopped",
- "ports": [
- {
- "proto": "tcp",
- "host_ip": "0.0.0.0",
- "port": 8089,
- "container_port": 8080
- }
- ]
- }
-]
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/9c19ee0c/shipyard/src/test/resources/engine-add.json
----------------------------------------------------------------------
diff --git a/shipyard/src/test/resources/engine-add.json b/shipyard/src/test/resources/engine-add.json
deleted file mode 100644
index 11b0800..0000000
--- a/shipyard/src/test/resources/engine-add.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "local": "local",
- "ssl_cert": "",
- "ssl_key": "",
- "ca_cert": "",
- "engine": {
- "id": "1234",
- "addr": "http://localhost:2375",
- "cpus": 1.0,
- "memory": 1024.0,
- "labels": [
- "shipyard-test"
- ]
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/9c19ee0c/shipyard/src/test/resources/engine.json
----------------------------------------------------------------------
diff --git a/shipyard/src/test/resources/engine.json b/shipyard/src/test/resources/engine.json
deleted file mode 100644
index 11f0099..0000000
--- a/shipyard/src/test/resources/engine.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "id": "e2059d20-e9df-44f3-8a9b-1bf2321b4eae",
- "engine": {
- "id": "sdrelnx150",
- "addr": "http://sdrelnx150:2375",
- "cpus": 8,
- "memory": 8096,
- "labels": [
- "sdrelnx150"
- ]
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/9c19ee0c/shipyard/src/test/resources/engines.json
----------------------------------------------------------------------
diff --git a/shipyard/src/test/resources/engines.json b/shipyard/src/test/resources/engines.json
deleted file mode 100644
index 6cc205a..0000000
--- a/shipyard/src/test/resources/engines.json
+++ /dev/null
@@ -1,14 +0,0 @@
-[
- {
- "id": "e2059d20-e9df-44f3-8a9b-1bf2321b4eae",
- "engine": {
- "id": "sdrelnx150",
- "addr": "http://sdrelnx150:2375",
- "cpus": 8,
- "memory": 8096,
- "labels": [
- "sdrelnx150"
- ]
- }
- }
-]
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/9c19ee0c/shipyard/src/test/resources/image.json
----------------------------------------------------------------------
diff --git a/shipyard/src/test/resources/image.json b/shipyard/src/test/resources/image.json
deleted file mode 100644
index 0c27470..0000000
--- a/shipyard/src/test/resources/image.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "Created": 1416370366,
- "Id": "3f0d936caee4777872d6ad8dfae0077b6857d86f0232a240a95e748fb1c981f1",
- "ParentId": "5cd3a141e0cc8523bf5d76b9187124bb9d43b874da2656abf1f417e4d4858643",
- "RepoTags": [
- "nkatsaros/atlassian-stash:3.4"
- ],
- "Size": 6233,
- "VirtualSize": 480107370
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/9c19ee0c/shipyard/src/test/resources/images.json
----------------------------------------------------------------------
diff --git a/shipyard/src/test/resources/images.json b/shipyard/src/test/resources/images.json
deleted file mode 100644
index 8affec4..0000000
--- a/shipyard/src/test/resources/images.json
+++ /dev/null
@@ -1,12 +0,0 @@
-[
- {
- "Created": 1416370366,
- "Id": "3f0d936caee4777872d6ad8dfae0077b6857d86f0232a240a95e748fb1c981f1",
- "ParentId": "5cd3a141e0cc8523bf5d76b9187124bb9d43b874da2656abf1f417e4d4858643",
- "RepoTags": [
- "nkatsaros/atlassian-stash:3.4"
- ],
- "Size": 6233,
- "VirtualSize": 480107370
- }
-]
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/9c19ee0c/shipyard/src/test/resources/role-delete-create.json
----------------------------------------------------------------------
diff --git a/shipyard/src/test/resources/role-delete-create.json b/shipyard/src/test/resources/role-delete-create.json
deleted file mode 100644
index 6447c85..0000000
--- a/shipyard/src/test/resources/role-delete-create.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "name": "admin"
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/9c19ee0c/shipyard/src/test/resources/role.json
----------------------------------------------------------------------
diff --git a/shipyard/src/test/resources/role.json b/shipyard/src/test/resources/role.json
deleted file mode 100644
index fdda8a1..0000000
--- a/shipyard/src/test/resources/role.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "name": "admin",
- "id": "448ebe2d-89d9-412c-aab9-ad774d1ec78f"
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/9c19ee0c/shipyard/src/test/resources/roles.json
----------------------------------------------------------------------
diff --git a/shipyard/src/test/resources/roles.json b/shipyard/src/test/resources/roles.json
deleted file mode 100644
index 6cb32a1..0000000
--- a/shipyard/src/test/resources/roles.json
+++ /dev/null
@@ -1,10 +0,0 @@
-[
- {
- "name": "admin",
- "id": "448ebe2d-89d9-412c-aab9-ad774d1ec78f"
- },
- {
- "name": "user",
- "id": "2243edf5-55f1-43ad-9ebb-c36c5233f007"
- }
-]
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/9c19ee0c/shipyard/src/test/resources/servicekey-create.json
----------------------------------------------------------------------
diff --git a/shipyard/src/test/resources/servicekey-create.json b/shipyard/src/test/resources/servicekey-create.json
deleted file mode 100644
index 8e4be28..0000000
--- a/shipyard/src/test/resources/servicekey-create.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "description": "jclouds-shipyard-testing"
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/9c19ee0c/shipyard/src/test/resources/servicekey-response.json
----------------------------------------------------------------------
diff --git a/shipyard/src/test/resources/servicekey-response.json b/shipyard/src/test/resources/servicekey-response.json
deleted file mode 100644
index a09a907..0000000
--- a/shipyard/src/test/resources/servicekey-response.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "key": "1111222233334444",
- "description": "jclouds-shipyard-testing"
-}
-
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/9c19ee0c/shipyard/src/test/resources/servicekeys.json
----------------------------------------------------------------------
diff --git a/shipyard/src/test/resources/servicekeys.json b/shipyard/src/test/resources/servicekeys.json
deleted file mode 100644
index b695192..0000000
--- a/shipyard/src/test/resources/servicekeys.json
+++ /dev/null
@@ -1,9 +0,0 @@
-[
- {
- "key": "aaaabbbbccccdddd"
- },
- {
- "key": "1111222233334444",
- "description": "testing service keys"
- }
-]
\ No newline at end of file
[2/2] jclouds-labs git commit: Remove Shipyard provider. Project is
no longer maintained and is essentially superceded by kubernetes
Posted by na...@apache.org.
Remove Shipyard provider. Project is no longer maintained and is essentially superceded by kubernetes
Project: http://git-wip-us.apache.org/repos/asf/jclouds-labs/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds-labs/commit/9c19ee0c
Tree: http://git-wip-us.apache.org/repos/asf/jclouds-labs/tree/9c19ee0c
Diff: http://git-wip-us.apache.org/repos/asf/jclouds-labs/diff/9c19ee0c
Branch: refs/heads/master
Commit: 9c19ee0c826db2599b9b6d3a9c29215591abaa7a
Parents: 7363290
Author: Christopher Dancy <da...@pega.com>
Authored: Sat Jul 25 16:04:53 2015 -0400
Committer: Ignasi Barrera <na...@apache.org>
Committed: Mon Jul 27 09:23:39 2015 +0200
----------------------------------------------------------------------
pom.xml | 1 -
shipyard/README.md | 22 ---
shipyard/pom.xml | 148 ------------------
.../java/org/jclouds/shipyard/ShipyardApi.java | 44 ------
.../jclouds/shipyard/ShipyardApiMetadata.java | 81 ----------
.../shipyard/config/ShipyardHttpApiModule.java | 45 ------
.../domain/containers/ContainerImageInfo.java | 71 ---------
.../domain/containers/ContainerInfo.java | 58 -------
.../domain/containers/DeployContainer.java | 82 ----------
.../shipyard/domain/engines/AddEngine.java | 45 ------
.../shipyard/domain/engines/EngineInfo.java | 37 -----
.../domain/engines/EngineSettingsInfo.java | 54 -------
.../shipyard/domain/images/ImageInfo.java | 58 -------
.../shipyard/domain/images/ImagePortsInfo.java | 41 -----
.../jclouds/shipyard/domain/roles/RoleInfo.java | 38 -----
.../shipyard/domain/servicekeys/ServiceKey.java | 38 -----
.../shipyard/fallbacks/ShipyardFallbacks.java | 61 --------
.../shipyard/features/ContainersApi.java | 69 ---------
.../jclouds/shipyard/features/EnginesApi.java | 59 -------
.../jclouds/shipyard/features/ImagesApi.java | 38 -----
.../org/jclouds/shipyard/features/RolesApi.java | 63 --------
.../shipyard/features/ServiceKeysApi.java | 55 -------
.../filters/ServiceKeyAuthentication.java | 55 -------
.../shipyard/handlers/ShipyardErrorHandler.java | 111 -------------
.../shipyard/ShipyardApiMetadataTest.java | 49 ------
.../features/ContainersApiLiveTest.java | 154 -------------------
.../features/ContainersApiMockTest.java | 144 -----------------
.../shipyard/features/EnginesApiLiveTest.java | 90 -----------
.../shipyard/features/EnginesApiMockTest.java | 134 ----------------
.../shipyard/features/ImagesApiLiveTest.java | 42 -----
.../shipyard/features/ImagesApiMockTest.java | 69 ---------
.../shipyard/features/RolesApiLiveTest.java | 90 -----------
.../shipyard/features/RolesApiMockTest.java | 125 ---------------
.../features/ServiceKeysApiLiveTest.java | 81 ----------
.../features/ServiceKeysApiMockTest.java | 112 --------------
.../internal/BaseShipyardApiLiveTest.java | 47 ------
.../shipyard/internal/BaseShipyardMockTest.java | 112 --------------
.../internal/BaseShipyardParseTest.java | 31 ----
.../shipyard/parse/ContainersParseTest.java | 67 --------
.../shipyard/parse/EnginesParseTest.java | 51 ------
.../jclouds/shipyard/parse/ImagesParseTest.java | 51 ------
.../resources/container-deploy-response.json | 49 ------
.../src/test/resources/container-deploy.json | 18 ---
shipyard/src/test/resources/container.json | 47 ------
shipyard/src/test/resources/containers.json | 49 ------
shipyard/src/test/resources/engine-add.json | 15 --
shipyard/src/test/resources/engine.json | 12 --
shipyard/src/test/resources/engines.json | 14 --
shipyard/src/test/resources/image.json | 10 --
shipyard/src/test/resources/images.json | 12 --
.../src/test/resources/role-delete-create.json | 3 -
shipyard/src/test/resources/role.json | 4 -
shipyard/src/test/resources/roles.json | 10 --
.../src/test/resources/servicekey-create.json | 3 -
.../src/test/resources/servicekey-response.json | 5 -
shipyard/src/test/resources/servicekeys.json | 9 --
56 files changed, 3083 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/9c19ee0c/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 7799687..023f3e4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -81,7 +81,6 @@
<module>joyentcloud</module>
<module>abiquo</module>
<module>profitbricks</module>
- <module>shipyard</module>
</modules>
<build>
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/9c19ee0c/shipyard/README.md
----------------------------------------------------------------------
diff --git a/shipyard/README.md b/shipyard/README.md
deleted file mode 100644
index 0545f87..0000000
--- a/shipyard/README.md
+++ /dev/null
@@ -1,22 +0,0 @@
-Shipyard provider for jclouds
-=============================
-jclouds-shipyard allows one to connect and administer multiple docker daemons from a single endpoint.
-
-## Setup
-Documentation on how to standup a Shipyard cluster can be found [here](https://github.com/shipyard/shipyard).
-
-More detailed information (docs, API, etc..) can be found on the Shipyard [site](http://shipyard-project.com/).
-
-## Testing
-To run integration tests we need a valid Shipyard instance/endpoint, identity-key, and docker daemon to use. Testing, for now, assumes the docker daemon does not have ssl enabled. To run integration tests you could do something like:
-
-```
-mvn clean install -Plive -Dtest.shipyard.endpoint=http://10.0.0.8:8080 -Dtest.shipyard.identity=zEswusMbqMR8D7QA0yJbIc1CxGYqfLAG5bZO -Dtest.shipyard.docker.endpoint=http://10.0.0.8:2375
-```
-
-## Help
-For help with jclouds-shipyard you can email the jclouds-dev mailing list or ask questions on [IRC](http://irc.lc/freenode/jclouds/shipyard-help).
-
-For help with Shipyard itself you can reach out to devs on [IRC](http://irc.lc/freenode/shipyard/jclouds-help).
-
-jclouds-shipyard is still at alpha stage please report any issues you find at [jclouds-shipyard-issues](https://issues.apache.org/jira/browse/JCLOUDS).
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/9c19ee0c/shipyard/pom.xml
----------------------------------------------------------------------
diff --git a/shipyard/pom.xml b/shipyard/pom.xml
deleted file mode 100644
index a1bbd77..0000000
--- a/shipyard/pom.xml
+++ /dev/null
@@ -1,148 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.jclouds.labs</groupId>
- <artifactId>jclouds-labs</artifactId>
- <version>2.0.0-SNAPSHOT</version>
- </parent>
-
- <!-- TODO: when out of labs, switch to org.jclouds.provider -->
- <artifactId>shipyard</artifactId>
- <name>jclouds shipyard API</name>
- <description>ComputeService binding to the Shipyard API</description>
- <packaging>bundle</packaging>
-
- <properties>
- <test.shipyard.endpoint>http://localhost:8080</test.shipyard.endpoint>
- <test.shipyard.docker.endpoint>http://localhost:2375</test.shipyard.docker.endpoint>
- <test.shipyard.identity>FIXME</test.shipyard.identity>
- <test.shipyard.credential>NA</test.shipyard.credential>
- <test.shipyard.api-version>2.0.8</test.shipyard.api-version>
- <jclouds.osgi.export>org.jclouds.shipyard*;version="${project.version}"</jclouds.osgi.export>
- <jclouds.osgi.import>
- org.jclouds.compute.internal;version="${project.version}",
- org.jclouds.rest.internal;version="${project.version}",
- org.jclouds*;version="${project.version}",
- *
- </jclouds.osgi.import>
- </properties>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.jclouds</groupId>
- <artifactId>jclouds-core</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.jclouds</groupId>
- <artifactId>jclouds-compute</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>com.google.auto.value</groupId>
- <artifactId>auto-value</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>com.google.auto.service</groupId>
- <artifactId>auto-service</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.jclouds.driver</groupId>
- <artifactId>jclouds-okhttp</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>ch.qos.logback</groupId>
- <artifactId>logback-classic</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.jclouds.driver</groupId>
- <artifactId>jclouds-slf4j</artifactId>
- <version>${project.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.jclouds</groupId>
- <artifactId>jclouds-core</artifactId>
- <version>${project.version}</version>
- <type>test-jar</type>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.jclouds</groupId>
- <artifactId>jclouds-compute</artifactId>
- <version>${project.version}</version>
- <type>test-jar</type>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>com.squareup.okhttp</groupId>
- <artifactId>mockwebserver</artifactId>
- <scope>test</scope>
- <exclusions>
- <!-- Already provided by jclouds-sshj -->
- <exclusion>
- <groupId>org.bouncycastle</groupId>
- <artifactId>bcprov-jdk15on</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- </dependencies>
-
- <profiles>
- <profile>
- <id>live</id>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <executions>
- <execution>
- <id>integration</id>
- <phase>integration-test</phase>
- <goals>
- <goal>test</goal>
- </goals>
- <configuration>
- <threadCount>1</threadCount>
- <systemPropertyVariables>
- <test.shipyard.endpoint>${test.shipyard.endpoint}</test.shipyard.endpoint>
- <test.shipyard.docker.endpoint>${test.shipyard.docker.endpoint}</test.shipyard.docker.endpoint>
- <test.shipyard.identity>${test.shipyard.identity}</test.shipyard.identity>
- <test.shipyard.credential>${test.shipyard.credential}</test.shipyard.credential>
- <test.shipyard.api-version>${test.shipyard.api-version}</test.shipyard.api-version>
- </systemPropertyVariables>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
- </profiles>
-
-</project>
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/9c19ee0c/shipyard/src/main/java/org/jclouds/shipyard/ShipyardApi.java
----------------------------------------------------------------------
diff --git a/shipyard/src/main/java/org/jclouds/shipyard/ShipyardApi.java b/shipyard/src/main/java/org/jclouds/shipyard/ShipyardApi.java
deleted file mode 100644
index 79bde85..0000000
--- a/shipyard/src/main/java/org/jclouds/shipyard/ShipyardApi.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.shipyard;
-
-import org.jclouds.rest.annotations.Delegate;
-import org.jclouds.shipyard.features.ContainersApi;
-import org.jclouds.shipyard.features.EnginesApi;
-import org.jclouds.shipyard.features.ImagesApi;
-import org.jclouds.shipyard.features.RolesApi;
-import org.jclouds.shipyard.features.ServiceKeysApi;
-
-import java.io.Closeable;
-
-public interface ShipyardApi extends Closeable {
-
- @Delegate
- ContainersApi containersApi();
-
- @Delegate
- ImagesApi imagesApi();
-
- @Delegate
- EnginesApi enginesApi();
-
- @Delegate
- ServiceKeysApi serviceKeysApi();
-
- @Delegate
- RolesApi rolesApi();
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/9c19ee0c/shipyard/src/main/java/org/jclouds/shipyard/ShipyardApiMetadata.java
----------------------------------------------------------------------
diff --git a/shipyard/src/main/java/org/jclouds/shipyard/ShipyardApiMetadata.java b/shipyard/src/main/java/org/jclouds/shipyard/ShipyardApiMetadata.java
deleted file mode 100644
index ea4adb3..0000000
--- a/shipyard/src/main/java/org/jclouds/shipyard/ShipyardApiMetadata.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.shipyard;
-
-import com.google.auto.service.AutoService;
-import com.google.common.collect.ImmutableSet;
-import com.google.inject.Module;
-
-import org.jclouds.apis.ApiMetadata;
-import org.jclouds.rest.internal.BaseHttpApiMetadata;
-import org.jclouds.shipyard.config.ShipyardHttpApiModule;
-
-import java.net.URI;
-import java.util.Properties;
-
-@AutoService(ApiMetadata.class)
-public class ShipyardApiMetadata extends BaseHttpApiMetadata<ShipyardApi> {
-
- @Override
- public Builder toBuilder() {
- return new Builder().fromApiMetadata(this);
- }
-
- public ShipyardApiMetadata() {
- this(new Builder());
- }
-
- protected ShipyardApiMetadata(Builder builder) {
- super(builder);
- }
-
- public static Properties defaultProperties() {
- return BaseHttpApiMetadata.defaultProperties();
- }
-
- public static class Builder extends BaseHttpApiMetadata.Builder<ShipyardApi, Builder> {
-
- protected Builder() {
- super(ShipyardApi.class);
- id("shipyard")
- .name("Shipyard Remote Docker Management API")
- .identityName("<shipyard-service-key>")
- .credentialName("not used")
- .documentation(URI.create("http://shipyard-project.com/docs/api/"))
- .version("2.0.4")
- .defaultEndpoint("https://127.0.0.1:8080")
- .defaultProperties(ShipyardApiMetadata.defaultProperties())
- .defaultModules(ImmutableSet.<Class<? extends Module>>of(
- ShipyardHttpApiModule.class));
- }
-
- @Override
- public ShipyardApiMetadata build() {
- return new ShipyardApiMetadata(this);
- }
-
- @Override
- protected Builder self() {
- return this;
- }
-
- @Override
- public Builder fromApiMetadata(ApiMetadata in) {
- return this;
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/9c19ee0c/shipyard/src/main/java/org/jclouds/shipyard/config/ShipyardHttpApiModule.java
----------------------------------------------------------------------
diff --git a/shipyard/src/main/java/org/jclouds/shipyard/config/ShipyardHttpApiModule.java b/shipyard/src/main/java/org/jclouds/shipyard/config/ShipyardHttpApiModule.java
deleted file mode 100644
index adcfc38..0000000
--- a/shipyard/src/main/java/org/jclouds/shipyard/config/ShipyardHttpApiModule.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.shipyard.config;
-
-import org.jclouds.http.HttpErrorHandler;
-import org.jclouds.http.annotation.ClientError;
-import org.jclouds.http.annotation.Redirection;
-import org.jclouds.http.annotation.ServerError;
-import org.jclouds.http.config.ConfiguresHttpCommandExecutorService;
-import org.jclouds.http.okhttp.config.OkHttpCommandExecutorServiceModule;
-import org.jclouds.rest.ConfiguresHttpApi;
-import org.jclouds.rest.config.HttpApiModule;
-import org.jclouds.shipyard.ShipyardApi;
-import org.jclouds.shipyard.handlers.ShipyardErrorHandler;
-
-@ConfiguresHttpApi
-@ConfiguresHttpCommandExecutorService
-public class ShipyardHttpApiModule extends HttpApiModule<ShipyardApi> {
-
- @Override
- protected void bindErrorHandlers() {
- bind(HttpErrorHandler.class).annotatedWith(Redirection.class).to(ShipyardErrorHandler.class);
- bind(HttpErrorHandler.class).annotatedWith(ClientError.class).to(ShipyardErrorHandler.class);
- bind(HttpErrorHandler.class).annotatedWith(ServerError.class).to(ShipyardErrorHandler.class);
- }
-
- protected void configure() {
- super.configure();
- install(new OkHttpCommandExecutorServiceModule());
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/9c19ee0c/shipyard/src/main/java/org/jclouds/shipyard/domain/containers/ContainerImageInfo.java
----------------------------------------------------------------------
diff --git a/shipyard/src/main/java/org/jclouds/shipyard/domain/containers/ContainerImageInfo.java b/shipyard/src/main/java/org/jclouds/shipyard/domain/containers/ContainerImageInfo.java
deleted file mode 100644
index 315e787..0000000
--- a/shipyard/src/main/java/org/jclouds/shipyard/domain/containers/ContainerImageInfo.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.shipyard.domain.containers;
-
-import java.util.List;
-import java.util.Map;
-
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.json.SerializedNames;
-import org.jclouds.shipyard.domain.images.ImagePortsInfo;
-
-import com.google.auto.value.AutoValue;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
-
-@AutoValue
-public abstract class ContainerImageInfo {
-
- @Nullable public abstract String name();
-
- public abstract Map<String, String> environment();
-
- public abstract List<String> entryPoint();
-
- @Nullable public abstract String hostName();
-
- public abstract List<ImagePortsInfo> bindPorts();
-
- public abstract List<String> volumes();
-
- public abstract Map<String, String> restartPolicy();
-
- public abstract boolean publish();
-
- @Nullable public abstract String networkMode();
-
- ContainerImageInfo() {
- }
-
- @SerializedNames({ "name", "environment", "entrypoint", "hostname", "bind_ports", "volumes", "restart_policy", "publish", "network_mode" })
- public static ContainerImageInfo create(String name, Map<String, String> environment, List<String> entryPoint,
- String hostName, List<ImagePortsInfo> bindPorts,
- List<String> volumes, Map<String, String> restartPolicy,
- boolean publish, String networkMode) {
-
- if (environment == null) environment = Maps.newHashMap();
- if (entryPoint == null) entryPoint = Lists.newArrayList();
- if (bindPorts == null) bindPorts = Lists.newArrayList();
- if (volumes == null) volumes = Lists.newArrayList();
- if (restartPolicy == null) restartPolicy = Maps.newHashMap();
-
- return new AutoValue_ContainerImageInfo(name, environment, entryPoint,
- hostName, bindPorts,
- volumes, restartPolicy,
- publish, networkMode);
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/9c19ee0c/shipyard/src/main/java/org/jclouds/shipyard/domain/containers/ContainerInfo.java
----------------------------------------------------------------------
diff --git a/shipyard/src/main/java/org/jclouds/shipyard/domain/containers/ContainerInfo.java b/shipyard/src/main/java/org/jclouds/shipyard/domain/containers/ContainerInfo.java
deleted file mode 100644
index 8e6404d..0000000
--- a/shipyard/src/main/java/org/jclouds/shipyard/domain/containers/ContainerInfo.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.shipyard.domain.containers;
-
-import java.util.List;
-
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.json.SerializedNames;
-import org.jclouds.shipyard.domain.engines.EngineSettingsInfo;
-import org.jclouds.shipyard.domain.images.ImagePortsInfo;
-
-import com.google.auto.value.AutoValue;
-import com.google.common.collect.Lists;
-
-@AutoValue
-public abstract class ContainerInfo {
-
- public abstract String id();
-
- @Nullable public abstract String name();
-
- public abstract ContainerImageInfo image();
-
- public abstract EngineSettingsInfo engine();
-
- public abstract String state();
-
- public abstract List<ImagePortsInfo> ports();
-
- ContainerInfo() {
- }
-
- @SerializedNames({ "id", "name", "image", "engine", "state", "ports" })
- public static ContainerInfo create(String id, String name,
- ContainerImageInfo image,
- EngineSettingsInfo engine,
- String state, List<ImagePortsInfo> ports) {
-
- if (state == null) state = "unknown";
- if (ports == null) ports = Lists.newArrayList();
-
- return new AutoValue_ContainerInfo(id, name, image, engine, state, ports);
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/9c19ee0c/shipyard/src/main/java/org/jclouds/shipyard/domain/containers/DeployContainer.java
----------------------------------------------------------------------
diff --git a/shipyard/src/main/java/org/jclouds/shipyard/domain/containers/DeployContainer.java b/shipyard/src/main/java/org/jclouds/shipyard/domain/containers/DeployContainer.java
deleted file mode 100644
index e1352ae..0000000
--- a/shipyard/src/main/java/org/jclouds/shipyard/domain/containers/DeployContainer.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.shipyard.domain.containers;
-
-import java.util.List;
-import java.util.Map;
-
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.json.SerializedNames;
-import org.jclouds.shipyard.domain.images.ImagePortsInfo;
-
-import com.google.auto.value.AutoValue;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
-
-@AutoValue
-public abstract class DeployContainer {
-
- public abstract String name();
-
- public abstract String containerName();
-
- public abstract double cpus();
-
- public abstract int memory();
-
- public abstract String type();
-
- @Nullable public abstract String hostName();
-
- @Nullable public abstract String domain();
-
- public abstract List<String> labels();
-
- public abstract List<String> args();
-
- public abstract Map<String, String> environment();
-
- public abstract Map<String, String> restartPolicy();
-
- public abstract List<ImagePortsInfo> bindPorts();
-
- public abstract Map<String, String> links();
-
- DeployContainer() {
- }
-
- @SerializedNames({ "name", "container_name", "cpus", "memory", "type", "hostname", "domain", "labels", "args", "environment", "restart_policy", "bind_ports", "links" })
- public static DeployContainer create(String name, String containerName, double cpus,
- int memory, String type, String hostName,
- String domain, List<String> labels, List<String> args,
- Map<String, String> environment, Map<String, String> restartPolicy,
- List<ImagePortsInfo> bindPorts, Map<String, String> links) {
-
- if (labels == null) labels = Lists.newArrayList();
- if (args == null) args = Lists.newArrayList();
- if (environment == null) environment = Maps.newHashMap();
- if (restartPolicy == null) restartPolicy = Maps.newHashMap();
- if (bindPorts == null) bindPorts = Lists.newArrayList();
- if (links == null) links = Maps.newHashMap();
-
- return new AutoValue_DeployContainer(name, containerName, cpus,
- memory, "service", hostName,
- domain, labels, args,
- environment, restartPolicy, bindPorts,
- links);
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/9c19ee0c/shipyard/src/main/java/org/jclouds/shipyard/domain/engines/AddEngine.java
----------------------------------------------------------------------
diff --git a/shipyard/src/main/java/org/jclouds/shipyard/domain/engines/AddEngine.java b/shipyard/src/main/java/org/jclouds/shipyard/domain/engines/AddEngine.java
deleted file mode 100644
index 683568d..0000000
--- a/shipyard/src/main/java/org/jclouds/shipyard/domain/engines/AddEngine.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.shipyard.domain.engines;
-
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.json.SerializedNames;
-
-import com.google.auto.value.AutoValue;
-
-@AutoValue
-public abstract class AddEngine {
-
- public abstract String local();
-
- @Nullable abstract String sslCert();
-
- @Nullable abstract String sslKey();
-
- @Nullable abstract String caCert();
-
- public abstract EngineSettingsInfo engine();
-
- AddEngine() {
- }
-
- @SerializedNames({ "local", "ssl_cert", "ssl_key", "ca_cert", "engine" })
- public static AddEngine create(String local, String sslCert,
- String sslKey, String caCert, EngineSettingsInfo engine) {
- return new AutoValue_AddEngine(local, sslCert, sslKey, caCert, engine);
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/9c19ee0c/shipyard/src/main/java/org/jclouds/shipyard/domain/engines/EngineInfo.java
----------------------------------------------------------------------
diff --git a/shipyard/src/main/java/org/jclouds/shipyard/domain/engines/EngineInfo.java b/shipyard/src/main/java/org/jclouds/shipyard/domain/engines/EngineInfo.java
deleted file mode 100644
index f7bbf89..0000000
--- a/shipyard/src/main/java/org/jclouds/shipyard/domain/engines/EngineInfo.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.shipyard.domain.engines;
-
-import org.jclouds.json.SerializedNames;
-
-import com.google.auto.value.AutoValue;
-
-@AutoValue
-public abstract class EngineInfo {
-
- public abstract String id();
-
- public abstract EngineSettingsInfo engine();
-
- EngineInfo() {
- }
-
- @SerializedNames({ "id", "engine" })
- public static EngineInfo create(String id, EngineSettingsInfo engine) {
- return new AutoValue_EngineInfo(id, engine);
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/9c19ee0c/shipyard/src/main/java/org/jclouds/shipyard/domain/engines/EngineSettingsInfo.java
----------------------------------------------------------------------
diff --git a/shipyard/src/main/java/org/jclouds/shipyard/domain/engines/EngineSettingsInfo.java b/shipyard/src/main/java/org/jclouds/shipyard/domain/engines/EngineSettingsInfo.java
deleted file mode 100644
index 1a5f923..0000000
--- a/shipyard/src/main/java/org/jclouds/shipyard/domain/engines/EngineSettingsInfo.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.shipyard.domain.engines;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-import static com.google.common.base.Preconditions.checkState;
-
-import java.util.List;
-
-import org.jclouds.json.SerializedNames;
-
-import com.google.auto.value.AutoValue;
-
-@AutoValue
-public abstract class EngineSettingsInfo {
-
- public abstract String id();
-
- public abstract String addr();
-
- public abstract double cpus();
-
- public abstract double memory();
-
- public abstract List<String> labels();
-
- EngineSettingsInfo() {
- }
-
- @SerializedNames({ "id", "addr", "cpus", "memory", "labels" })
- public static EngineSettingsInfo create(String id, String addr,
- double cpus, double memory,
- List<String> labels) {
-
- checkNotNull(labels, "labels must be non-null");
- checkState(labels.size() > 0, "labels must have at least 1 entry");
-
- return new AutoValue_EngineSettingsInfo(id, addr, cpus, memory, labels);
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/9c19ee0c/shipyard/src/main/java/org/jclouds/shipyard/domain/images/ImageInfo.java
----------------------------------------------------------------------
diff --git a/shipyard/src/main/java/org/jclouds/shipyard/domain/images/ImageInfo.java b/shipyard/src/main/java/org/jclouds/shipyard/domain/images/ImageInfo.java
deleted file mode 100644
index c18bf30..0000000
--- a/shipyard/src/main/java/org/jclouds/shipyard/domain/images/ImageInfo.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.shipyard.domain.images;
-
-import java.util.List;
-
-import org.jclouds.domain.Location;
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.json.SerializedNames;
-
-import com.google.auto.value.AutoValue;
-import com.google.common.collect.Lists;
-
-@AutoValue
-public abstract class ImageInfo {
-
- public abstract int created();
-
- @Nullable public abstract String id();
-
- public abstract String parentId();
-
- public abstract List<String> repoTags();
-
- public abstract int size();
-
- public abstract int virtualSize();
-
- @Nullable abstract Location location();
-
- ImageInfo() {
- }
-
- @SerializedNames({ "Created", "Id", "ParentId", "RepoTags", "Size", "VirtualSize" , "Location"})
- public static ImageInfo create(int created, String id,
- String parentId, List<String> repoTags,
- int size, int virtualSize,
- Location location) {
-
- if (repoTags == null) repoTags = Lists.newArrayList();
-
- return new AutoValue_ImageInfo(created, id, parentId, repoTags, size, virtualSize, location);
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/9c19ee0c/shipyard/src/main/java/org/jclouds/shipyard/domain/images/ImagePortsInfo.java
----------------------------------------------------------------------
diff --git a/shipyard/src/main/java/org/jclouds/shipyard/domain/images/ImagePortsInfo.java b/shipyard/src/main/java/org/jclouds/shipyard/domain/images/ImagePortsInfo.java
deleted file mode 100644
index 1728e2e..0000000
--- a/shipyard/src/main/java/org/jclouds/shipyard/domain/images/ImagePortsInfo.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.shipyard.domain.images;
-
-import org.jclouds.json.SerializedNames;
-
-import com.google.auto.value.AutoValue;
-
-@AutoValue
-public abstract class ImagePortsInfo {
-
- public abstract String proto();
-
- public abstract String hostIp();
-
- public abstract int port();
-
- public abstract int containerPort();
-
- ImagePortsInfo() {
- }
-
- @SerializedNames({ "proto", "host_ip", "port", "container_port" })
- public static ImagePortsInfo create(String proto, String hostIp, int port, int containerPort) {
- return new AutoValue_ImagePortsInfo(proto, hostIp, port, containerPort);
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/9c19ee0c/shipyard/src/main/java/org/jclouds/shipyard/domain/roles/RoleInfo.java
----------------------------------------------------------------------
diff --git a/shipyard/src/main/java/org/jclouds/shipyard/domain/roles/RoleInfo.java b/shipyard/src/main/java/org/jclouds/shipyard/domain/roles/RoleInfo.java
deleted file mode 100644
index a56b99c..0000000
--- a/shipyard/src/main/java/org/jclouds/shipyard/domain/roles/RoleInfo.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.shipyard.domain.roles;
-
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.json.SerializedNames;
-
-import com.google.auto.value.AutoValue;
-
-@AutoValue
-public abstract class RoleInfo {
-
- public abstract String name();
-
- @Nullable public abstract String id();
-
- RoleInfo() {
- }
-
- @SerializedNames({ "name", "id" })
- public static RoleInfo create(String name, String id) {
- return new AutoValue_RoleInfo(name, id);
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/9c19ee0c/shipyard/src/main/java/org/jclouds/shipyard/domain/servicekeys/ServiceKey.java
----------------------------------------------------------------------
diff --git a/shipyard/src/main/java/org/jclouds/shipyard/domain/servicekeys/ServiceKey.java b/shipyard/src/main/java/org/jclouds/shipyard/domain/servicekeys/ServiceKey.java
deleted file mode 100644
index ce9f754..0000000
--- a/shipyard/src/main/java/org/jclouds/shipyard/domain/servicekeys/ServiceKey.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.shipyard.domain.servicekeys;
-
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.json.SerializedNames;
-
-import com.google.auto.value.AutoValue;
-
-@AutoValue
-public abstract class ServiceKey {
-
- public abstract String key();
-
- @Nullable public abstract String description();
-
- ServiceKey() {
- }
-
- @SerializedNames({ "key", "description" })
- public static ServiceKey create(String key, String description) {
- return new AutoValue_ServiceKey(key, description);
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/9c19ee0c/shipyard/src/main/java/org/jclouds/shipyard/fallbacks/ShipyardFallbacks.java
----------------------------------------------------------------------
diff --git a/shipyard/src/main/java/org/jclouds/shipyard/fallbacks/ShipyardFallbacks.java b/shipyard/src/main/java/org/jclouds/shipyard/fallbacks/ShipyardFallbacks.java
deleted file mode 100644
index 4e15a32..0000000
--- a/shipyard/src/main/java/org/jclouds/shipyard/fallbacks/ShipyardFallbacks.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.shipyard.fallbacks;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-import static com.google.common.base.Predicates.equalTo;
-import static com.google.common.base.Throwables.propagate;
-
-import static org.jclouds.http.HttpUtils.returnValueOnCodeOrNull;
-
-import org.jclouds.Fallback;
-
-public final class ShipyardFallbacks {
-
- public static final class BooleanOnServiceKeyNotFoundAnd500 implements Fallback<Boolean> {
- public Boolean createOrPropagate(Throwable t) throws Exception {
- if (checkNotNull(t, "throwable") != null &&
- t.getMessage().contains("service key does not exist") &&
- returnValueOnCodeOrNull(t, true, equalTo(500)) != null) {
- return Boolean.FALSE;
- }
- throw propagate(t);
- }
- }
-
- public static final class BooleanOnRoleNotFoundAnd500 implements Fallback<Boolean> {
- public Boolean createOrPropagate(Throwable t) throws Exception {
- if (checkNotNull(t, "throwable") != null &&
- t.getMessage().contains("role does not exist") &&
- returnValueOnCodeOrNull(t, true, equalTo(500)) != null) {
- return Boolean.FALSE;
- }
- throw propagate(t);
- }
- }
-
- public static final class NullOnRoleNotFoundAnd500 implements Fallback<Object> {
- public Object createOrPropagate(Throwable t) throws Exception {
- if (checkNotNull(t, "throwable") != null &&
- t.getMessage().contains("role does not exist") &&
- returnValueOnCodeOrNull(t, true, equalTo(500)) != null) {
- return null;
- }
- throw propagate(t);
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/9c19ee0c/shipyard/src/main/java/org/jclouds/shipyard/features/ContainersApi.java
----------------------------------------------------------------------
diff --git a/shipyard/src/main/java/org/jclouds/shipyard/features/ContainersApi.java b/shipyard/src/main/java/org/jclouds/shipyard/features/ContainersApi.java
deleted file mode 100644
index 0ca98fc..0000000
--- a/shipyard/src/main/java/org/jclouds/shipyard/features/ContainersApi.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.shipyard.features;
-
-import java.util.List;
-
-import javax.inject.Named;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.core.MediaType;
-
-import org.jclouds.rest.annotations.BinderParam;
-import org.jclouds.rest.annotations.RequestFilters;
-import org.jclouds.rest.binders.BindToJsonPayload;
-import org.jclouds.shipyard.domain.containers.ContainerInfo;
-import org.jclouds.shipyard.domain.containers.DeployContainer;
-import org.jclouds.shipyard.filters.ServiceKeyAuthentication;
-
-@Consumes(MediaType.APPLICATION_JSON)
-@RequestFilters({ ServiceKeyAuthentication.class })
-@Path("/api/containers")
-public interface ContainersApi {
-
- @Named("containers:list")
- @GET
- List<ContainerInfo> listContainers();
-
- @Named("containers:info")
- @GET
- @Path("/{id}")
- ContainerInfo getContainer(@PathParam("id") String id);
-
- @Named("containers:delete")
- @DELETE
- @Path("/{id}")
- void deleteContainer(@PathParam("id") String id);
-
- @Named("containers:stop")
- @GET
- @Path("/{id}/stop")
- void stopContainer(@PathParam("id") String id);
-
- @Named("containers:restart")
- @GET
- @Path("/{id}/restart")
- void restartContainer(@PathParam("id") String id);
-
- @Named("containers:deploy")
- @POST
- List<ContainerInfo> deployContainer(@BinderParam(BindToJsonPayload.class) DeployContainer deployContainer);
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/9c19ee0c/shipyard/src/main/java/org/jclouds/shipyard/features/EnginesApi.java
----------------------------------------------------------------------
diff --git a/shipyard/src/main/java/org/jclouds/shipyard/features/EnginesApi.java b/shipyard/src/main/java/org/jclouds/shipyard/features/EnginesApi.java
deleted file mode 100644
index bcb027c..0000000
--- a/shipyard/src/main/java/org/jclouds/shipyard/features/EnginesApi.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.shipyard.features;
-
-import java.util.List;
-
-import javax.inject.Named;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.core.MediaType;
-
-import org.jclouds.rest.annotations.BinderParam;
-import org.jclouds.rest.annotations.RequestFilters;
-import org.jclouds.rest.binders.BindToJsonPayload;
-import org.jclouds.shipyard.domain.engines.AddEngine;
-import org.jclouds.shipyard.domain.engines.EngineInfo;
-import org.jclouds.shipyard.filters.ServiceKeyAuthentication;
-
-@Consumes(MediaType.APPLICATION_JSON)
-@RequestFilters({ ServiceKeyAuthentication.class })
-@Path("/api/engines")
-public interface EnginesApi {
-
- @Named("engines:list-info")
- @GET
- List<EngineInfo> listEngines();
-
- @Named("engines:info")
- @GET
- @Path("/{id}")
- EngineInfo getEngine(@PathParam("id") String engineID);
-
- @Named("engines:add")
- @POST
- void addEngine(@BinderParam(BindToJsonPayload.class) AddEngine addEngine);
-
- @Named("engines:remove")
- @DELETE
- @Path("/{id}")
- void removeEngine(@PathParam("id") String engineID);
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/9c19ee0c/shipyard/src/main/java/org/jclouds/shipyard/features/ImagesApi.java
----------------------------------------------------------------------
diff --git a/shipyard/src/main/java/org/jclouds/shipyard/features/ImagesApi.java b/shipyard/src/main/java/org/jclouds/shipyard/features/ImagesApi.java
deleted file mode 100644
index 80dad17..0000000
--- a/shipyard/src/main/java/org/jclouds/shipyard/features/ImagesApi.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.shipyard.features;
-
-import java.net.URI;
-import java.util.List;
-
-import javax.inject.Named;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.MediaType;
-
-import org.jclouds.rest.annotations.EndpointParam;
-import org.jclouds.shipyard.domain.images.ImageInfo;
-
-@Consumes(MediaType.APPLICATION_JSON)
-@Path("/images/json")
-public interface ImagesApi {
-
- @Named("images:list")
- @GET
- List<ImageInfo> listImages(@EndpointParam URI rootURL);
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/9c19ee0c/shipyard/src/main/java/org/jclouds/shipyard/features/RolesApi.java
----------------------------------------------------------------------
diff --git a/shipyard/src/main/java/org/jclouds/shipyard/features/RolesApi.java b/shipyard/src/main/java/org/jclouds/shipyard/features/RolesApi.java
deleted file mode 100644
index 2528fc7..0000000
--- a/shipyard/src/main/java/org/jclouds/shipyard/features/RolesApi.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.shipyard.features;
-
-import java.util.List;
-
-import javax.inject.Named;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-
-import org.jclouds.rest.annotations.Fallback;
-import org.jclouds.rest.annotations.RequestFilters;
-import org.jclouds.rest.annotations.WrapWith;
-import org.jclouds.shipyard.domain.roles.RoleInfo;
-import org.jclouds.shipyard.fallbacks.ShipyardFallbacks.BooleanOnRoleNotFoundAnd500;
-import org.jclouds.shipyard.fallbacks.ShipyardFallbacks.NullOnRoleNotFoundAnd500;
-import org.jclouds.shipyard.filters.ServiceKeyAuthentication;
-
-@Consumes(MediaType.APPLICATION_JSON)
-@Produces(MediaType.APPLICATION_JSON)
-@RequestFilters({ ServiceKeyAuthentication.class })
-@Path("/api/roles")
-public interface RolesApi {
-
- @Named("roles:list")
- @GET
- List<RoleInfo> listRoles();
-
- @Named("roles:info")
- @Fallback(NullOnRoleNotFoundAnd500.class)
- @GET
- @Path("/{name}")
- RoleInfo getRole(@PathParam("name") String name);
-
- @Named("roles:create")
- @POST
- void createRole(@WrapWith("name") String name);
-
- @Named("roles:delete")
- @Fallback(BooleanOnRoleNotFoundAnd500.class)
- @DELETE
- boolean deleteRole(@WrapWith("name") String name);
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/9c19ee0c/shipyard/src/main/java/org/jclouds/shipyard/features/ServiceKeysApi.java
----------------------------------------------------------------------
diff --git a/shipyard/src/main/java/org/jclouds/shipyard/features/ServiceKeysApi.java b/shipyard/src/main/java/org/jclouds/shipyard/features/ServiceKeysApi.java
deleted file mode 100644
index 9cd8aaa..0000000
--- a/shipyard/src/main/java/org/jclouds/shipyard/features/ServiceKeysApi.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.shipyard.features;
-
-import java.util.List;
-
-import javax.inject.Named;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-
-import org.jclouds.rest.annotations.Fallback;
-import org.jclouds.rest.annotations.RequestFilters;
-import org.jclouds.rest.annotations.WrapWith;
-import org.jclouds.shipyard.domain.servicekeys.ServiceKey;
-import org.jclouds.shipyard.fallbacks.ShipyardFallbacks.BooleanOnServiceKeyNotFoundAnd500;
-import org.jclouds.shipyard.filters.ServiceKeyAuthentication;
-
-@Consumes(MediaType.APPLICATION_JSON)
-@Produces(MediaType.APPLICATION_JSON)
-@RequestFilters({ ServiceKeyAuthentication.class })
-@Path("/api/servicekeys")
-public interface ServiceKeysApi {
-
- @Named("servicekeys:list")
- @GET
- List<ServiceKey> listServiceKeys();
-
- @Named("servicekeys:create")
- @POST
- ServiceKey createServiceKey(@WrapWith("description") String description);
-
- @Named("servicekeys:delete")
- @Fallback(BooleanOnServiceKeyNotFoundAnd500.class)
- @DELETE
- Boolean deleteServiceKey(@WrapWith("key") String key);
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/9c19ee0c/shipyard/src/main/java/org/jclouds/shipyard/filters/ServiceKeyAuthentication.java
----------------------------------------------------------------------
diff --git a/shipyard/src/main/java/org/jclouds/shipyard/filters/ServiceKeyAuthentication.java b/shipyard/src/main/java/org/jclouds/shipyard/filters/ServiceKeyAuthentication.java
deleted file mode 100644
index 9750bb1..0000000
--- a/shipyard/src/main/java/org/jclouds/shipyard/filters/ServiceKeyAuthentication.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.shipyard.filters;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-
-import org.jclouds.domain.Credentials;
-import org.jclouds.http.HttpException;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.http.HttpRequestFilter;
-import org.jclouds.location.Provider;
-import org.jclouds.rest.AuthorizationException;
-
-import com.google.common.base.Supplier;
-
-/**
- * Shipyard remote API authentication is made via the HTTP header 'X-Service-Key' which in turns
- * has it's value as an encoded string (Shipyard-cli generates this for you).
- *
- */
-@Singleton
-public class ServiceKeyAuthentication implements HttpRequestFilter {
- private final Supplier<Credentials> creds;
-
- @Inject
- ServiceKeyAuthentication(@Provider Supplier<Credentials> creds) {
- this.creds = creds;
- }
-
- @Override
- public HttpRequest filter(HttpRequest request) throws HttpException {
- Credentials currentCreds = checkNotNull(creds.get(), "credential supplier returned null");
- if (currentCreds.identity == null) {
- throw new AuthorizationException("Credentials identity can not be null");
- }
- return request.toBuilder().addHeader("X-Service-Key", currentCreds.identity).build();
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/9c19ee0c/shipyard/src/main/java/org/jclouds/shipyard/handlers/ShipyardErrorHandler.java
----------------------------------------------------------------------
diff --git a/shipyard/src/main/java/org/jclouds/shipyard/handlers/ShipyardErrorHandler.java b/shipyard/src/main/java/org/jclouds/shipyard/handlers/ShipyardErrorHandler.java
deleted file mode 100644
index 374ce7e..0000000
--- a/shipyard/src/main/java/org/jclouds/shipyard/handlers/ShipyardErrorHandler.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.shipyard.handlers;
-
-import static org.jclouds.util.Closeables2.closeQuietly;
-
-import java.io.IOException;
-
-import javax.annotation.Resource;
-
-import org.jclouds.http.HttpCommand;
-import org.jclouds.http.HttpErrorHandler;
-import org.jclouds.http.HttpResponse;
-import org.jclouds.http.HttpResponseException;
-import org.jclouds.logging.Logger;
-import org.jclouds.rest.AuthorizationException;
-import org.jclouds.rest.ResourceNotFoundException;
-import org.jclouds.util.Strings2;
-
-import com.google.common.base.Throwables;
-
-/**
- * Handle errors and propagate exception
- *
- */
-public class ShipyardErrorHandler implements HttpErrorHandler {
- @Resource
- protected Logger logger = Logger.NULL;
-
- public void handleError(HttpCommand command, HttpResponse response) {
-
- String message = parseMessage(response);
- Exception exception = null;
- try {
-
- message = message != null ? message : String.format("%s -> %s", command.getCurrentRequest().getRequestLine(), response.getStatusLine());
- switch (response.getStatusCode()) {
- case 401:
- exception = new AuthorizationException(message, exception);
- break;
- case 404:
- if (command.getCurrentRequest().getMethod().equals("GET")) {
- if (command.getCurrentRequest().getEndpoint().getPath().endsWith("/images/json"))
- exception = new HttpResponseException("Unable to reach docker daemon", command, response);
- }
- break;
- case 409:
- if (command.getCurrentRequest().getMethod().equals("POST")) {
- if (command.getCurrentRequest().getEndpoint().getPath().endsWith("/containers"))
- exception = new HttpResponseException("Container already exists", command, response);
- }
- break;
- case 500:
- if (command.getCurrentRequest().getMethod().equals("GET")) {
- if (command.getCurrentRequest().getEndpoint().getPath().startsWith("/api/roles") &&
- message.contains("role does not exist")) {
- exception = new ResourceNotFoundException(message, new HttpResponseException(command, response, message));
- }
- } else if (command.getCurrentRequest().getMethod().equals("POST")) {
- if (command.getCurrentRequest().getEndpoint().getPath().endsWith("/engines"))
- exception = new HttpResponseException("Connection refused registering docker daemon", command, response);
- } else if (command.getCurrentRequest().getMethod().equals("DELETE")) {
- if (command.getCurrentRequest().getEndpoint().getPath().endsWith("/servicekeys") &&
- message.contains("service key does not exist")) {
- exception = new ResourceNotFoundException(message, new HttpResponseException(command, response, message));
- } else if (command.getCurrentRequest().getEndpoint().getPath().endsWith("/roles") &&
- message.contains("role does not exist")) {
- exception = new ResourceNotFoundException(message, new HttpResponseException(command, response, message));
- }
- }
- break;
- default:
- exception = new HttpResponseException(message, command, response);
- break;
- }
- } catch (Exception e) {
- exception = new HttpResponseException(command, response, e);
- } finally {
- if (exception == null) {
- exception = message != null ? new HttpResponseException(command, response, message)
- : new HttpResponseException(command, response);
- }
- closeQuietly(response.getPayload());
- command.setException(exception);
- }
- }
-
- private String parseMessage(HttpResponse response) {
- if (response.getPayload() == null)
- return null;
- try {
- return Strings2.toStringAndClose(response.getPayload().openStream());
- } catch (IOException e) {
- throw Throwables.propagate(e);
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/9c19ee0c/shipyard/src/test/java/org/jclouds/shipyard/ShipyardApiMetadataTest.java
----------------------------------------------------------------------
diff --git a/shipyard/src/test/java/org/jclouds/shipyard/ShipyardApiMetadataTest.java b/shipyard/src/test/java/org/jclouds/shipyard/ShipyardApiMetadataTest.java
deleted file mode 100644
index b6db473..0000000
--- a/shipyard/src/test/java/org/jclouds/shipyard/ShipyardApiMetadataTest.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.shipyard;
-
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertNotNull;
-import static org.testng.Assert.assertTrue;
-
-import java.util.HashSet;
-import org.jclouds.View;
-import org.jclouds.apis.ApiMetadata;
-import org.jclouds.apis.Apis;
-import org.jclouds.apis.internal.BaseApiMetadataTest;
-import org.testng.annotations.Test;
-
-import com.google.common.reflect.TypeToken;
-
-/**
- * Unit tests for the {@link ShipyardApiMetadata} class.
- */
-@Test(groups = "unit", testName = "ShipyardApiMetadataTest")
-public class ShipyardApiMetadataTest extends BaseApiMetadataTest {
-
- public ShipyardApiMetadataTest() {
- super(new ShipyardApiMetadata(), new HashSet<TypeToken<? extends View>>());
- }
-
- public void testShipyardApiRegistered() {
- ApiMetadata api = Apis.withId("shipyard");
-
- assertNotNull(api);
- assertTrue(api instanceof ShipyardApiMetadata);
- assertEquals(api.getId(), "shipyard");
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/9c19ee0c/shipyard/src/test/java/org/jclouds/shipyard/features/ContainersApiLiveTest.java
----------------------------------------------------------------------
diff --git a/shipyard/src/test/java/org/jclouds/shipyard/features/ContainersApiLiveTest.java b/shipyard/src/test/java/org/jclouds/shipyard/features/ContainersApiLiveTest.java
deleted file mode 100644
index 4361854..0000000
--- a/shipyard/src/test/java/org/jclouds/shipyard/features/ContainersApiLiveTest.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.shipyard.features;
-
-import static org.testng.Assert.assertNull;
-import static org.testng.Assert.assertNotNull;
-import static org.testng.Assert.assertTrue;
-
-import java.util.List;
-
-import org.jclouds.http.HttpResponseException;
-import org.jclouds.shipyard.domain.containers.ContainerInfo;
-import org.jclouds.shipyard.domain.containers.DeployContainer;
-import org.testng.annotations.AfterClass;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.Lists;
-
-
-@Test(groups = "live", testName = "ContainersApiLiveTest", singleThreaded = true)
-public class ContainersApiLiveTest extends EnginesApiLiveTest {
-
- private String containerName = "shipyard-jclouds-container-test";
- private String containerID = null;
-
- @BeforeClass
- protected void init() throws Exception {
- super.init();
- super.testGetAllEngines();
- }
-
- @AfterClass (alwaysRun = true)
- protected void tearDown() {
- super.tearDown();
- }
-
- public void testDeployContainer() throws Exception {
-
- DeployContainer deployContainer = DeployContainer.create("ubuntu:14.04.1",
- containerName,
- 1,
- 512,
- null,
- null,
- null,
- Lists.newArrayList(EnginesApiLiveTest.engineName),
- Lists.newArrayList("/bin/bash"),
- ImmutableMap.of("shipyard-jclouds", "test"),
- null,
- null,
- null);
-
- List<ContainerInfo> container = api().deployContainer(deployContainer);
- assertNotNull(container, "Expected valid container but returned NULL");
- assertTrue(container.size() == 1, "Expected exactly 1 container removed and found " + container.size());
- assertTrue(container.get(0).name().endsWith(containerName),
- "Expected name does not match actual name: requested=" + containerName + ", actual=" + container.get(0).name());
- assertTrue(container.get(0).engine().labels().contains(EnginesApiLiveTest.engineName),
- "Expected label was not found in container: expected=" + EnginesApiLiveTest.engineName + ", found=" + container.get(0).engine().labels());
- containerID = container.get(0).id();
- }
-
- @Test (dependsOnMethods = "testDeployContainer", expectedExceptions = HttpResponseException.class)
- public void testDeployAlreadyExistentContainer() throws Exception {
-
- DeployContainer deployContainer = DeployContainer.create("ubuntu:14.04.1",
- containerName,
- 1,
- 512,
- null,
- null,
- null,
- Lists.newArrayList(EnginesApiLiveTest.engineName),
- Lists.newArrayList("/bin/bash"),
- ImmutableMap.of("shipyard-jclouds", "test"),
- null,
- null,
- null);
-
- List<ContainerInfo> container = api().deployContainer(deployContainer);
- assertNull(container);
- }
-
- @Test (expectedExceptions = HttpResponseException.class)
- public void testDeployNonExistentContainer() throws Exception {
-
- DeployContainer deployContainer = DeployContainer.create("jclouds-shipyard-test:99.99.99",
- containerName,
- 1,
- 512,
- null,
- null,
- null,
- Lists.newArrayList(EnginesApiLiveTest.engineName),
- Lists.newArrayList("/bin/bash"),
- ImmutableMap.of("shipyard-jclouds", "test"),
- null,
- null,
- null);
-
- List<ContainerInfo> container = api().deployContainer(deployContainer);
- assertNull(container);
- }
-
- @Test (dependsOnMethods = "testDeployAlreadyExistentContainer")
- public void testStopContainer() throws Exception {
- api().stopContainer(containerID);
- }
-
- @Test (expectedExceptions = HttpResponseException.class)
- public void testStopNonExistentContainer() throws Exception {
- api().stopContainer("aaabbbccc111222333");
- }
-
- @Test (dependsOnMethods = "testStopContainer")
- public void testRestartContainer() throws Exception {
- api().restartContainer(containerID);
- }
-
- @Test (expectedExceptions = HttpResponseException.class)
- public void testRestartNonExistentContainer() throws Exception {
- api().restartContainer("aaabbbccc111222333");
- }
-
- @Test (dependsOnMethods = "testRestartContainer")
- public void testDeleteContainer() throws Exception {
- api().deleteContainer(containerID);
- }
-
- @Test (expectedExceptions = HttpResponseException.class)
- public void testDeleteNonExistentContainer() throws Exception {
- api().deleteContainer("aaabbbccc111222333");
- }
-
- private ContainersApi api() {
- return api.containersApi();
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/9c19ee0c/shipyard/src/test/java/org/jclouds/shipyard/features/ContainersApiMockTest.java
----------------------------------------------------------------------
diff --git a/shipyard/src/test/java/org/jclouds/shipyard/features/ContainersApiMockTest.java b/shipyard/src/test/java/org/jclouds/shipyard/features/ContainersApiMockTest.java
deleted file mode 100644
index 20de82f..0000000
--- a/shipyard/src/test/java/org/jclouds/shipyard/features/ContainersApiMockTest.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.shipyard.features;
-
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertNotNull;
-import java.util.List;
-
-import org.jclouds.shipyard.ShipyardApi;
-import org.jclouds.shipyard.domain.containers.ContainerInfo;
-import org.jclouds.shipyard.domain.containers.DeployContainer;
-import org.jclouds.shipyard.internal.BaseShipyardMockTest;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.Lists;
-import com.squareup.okhttp.mockwebserver.MockResponse;
-import com.squareup.okhttp.mockwebserver.MockWebServer;
-
-/**
- * Mock tests for the {@link org.jclouds.shipyard.features.ContainersApi} class.
- */
-@Test(groups = "unit", testName = "ContainersApiMockTest")
-public class ContainersApiMockTest extends BaseShipyardMockTest {
-
-
- public void testListContainers() throws Exception {
- MockWebServer server = mockShipyardWebServer();
- server.enqueue(new MockResponse().setBody(payloadFromResource("/containers.json")));
- ShipyardApi shipyardApi = api(server.getUrl("/"));
- ContainersApi api = shipyardApi.containersApi();
- try {
- assertEquals(api.listContainers().size(), 1);
- assertSent(server, "GET", "/api/containers");
- } finally {
- shipyardApi.close();
- server.shutdown();
- }
- }
-
- public void testGetContainer() throws Exception {
- MockWebServer server = mockShipyardWebServer();
- server.enqueue(new MockResponse().setBody(payloadFromResource("/container.json")));
- ShipyardApi shipyardApi = api(server.getUrl("/"));
- ContainersApi api = shipyardApi.containersApi();
- String containerId = "e2f6784b75ed8768e83b7ec46ca8ef784941f6ce4c53231023804277965da1d2";
- try {
- assertEquals(api.getContainer(containerId).id(), containerId);
- assertSent(server, "GET", "/api/containers/" + containerId);
- } finally {
- shipyardApi.close();
- server.shutdown();
- }
- }
-
- public void testDeployContainer() throws Exception {
- MockWebServer server = mockShipyardWebServer();
- server.enqueue(new MockResponse().setResponseCode(201).setBody(payloadFromResource("/container-deploy-response.json")));
- ShipyardApi shipyardApi = api(server.getUrl("/"));
- ContainersApi api = shipyardApi.containersApi();
-
- DeployContainer deployContainer = DeployContainer.create("nkatsaros/atlassian-stash:3.5",
- "atlassian-stash",
- 8,
- 8096,
- null,
- null,
- null,
- Lists.newArrayList("localhost"),
- null,
- ImmutableMap.of("STASH_HOME", "/var/atlassian/stash", "STASH_VERSION", "3.5.0"),
- null,
- null,
- null);
- try {
- List<ContainerInfo> container = api.deployContainer(deployContainer);
- assertNotNull(container);
- assertEquals(container.get(0).id(), "e2f6784b75ed8768e83b7ec46ca8ef784941f6ce4c53231023804277965da1d2");
- assertSent(server, "POST", "/api/containers", new String(payloadFromResource("/container-deploy.json")));
- } finally {
- shipyardApi.close();
- server.shutdown();
- }
- }
-
- public void testDeleteContainer() throws Exception {
- MockWebServer server = mockShipyardWebServer();
- server.enqueue(new MockResponse().setResponseCode(204));
- ShipyardApi shipyardApi = api(server.getUrl("/"));
- ContainersApi api = shipyardApi.containersApi();
- String containerId = "e2f6784b75ed8768e83b7ec46ca8ef784941f6ce4c53231023804277965da1d2";
- try {
- api.deleteContainer(containerId);
- assertSent(server, "DELETE", "/api/containers/" + containerId);
- } finally {
- shipyardApi.close();
- server.shutdown();
- }
- }
-
- public void testStopContainer() throws Exception {
- MockWebServer server = mockShipyardWebServer();
- server.enqueue(new MockResponse().setResponseCode(204));
- ShipyardApi shipyardApi = api(server.getUrl("/"));
- ContainersApi api = shipyardApi.containersApi();
- String containerId = "e2f6784b75ed8768e83b7ec46ca8ef784941f6ce4c53231023804277965da1d2";
- try {
- api.stopContainer(containerId);
- assertSent(server, "GET", "/api/containers/" + containerId + "/stop");
- } finally {
- shipyardApi.close();
- server.shutdown();
- }
- }
-
- public void testStartOrRestartContainer() throws Exception {
- MockWebServer server = mockShipyardWebServer();
- server.enqueue(new MockResponse().setResponseCode(204));
- ShipyardApi shipyardApi = api(server.getUrl("/"));
- ContainersApi api = shipyardApi.containersApi();
- String containerId = "e2f6784b75ed8768e83b7ec46ca8ef784941f6ce4c53231023804277965da1d2";
- try {
- api.restartContainer(containerId);
- assertSent(server, "GET", "/api/containers/" + containerId + "/restart");
- } finally {
- shipyardApi.close();
- server.shutdown();
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/9c19ee0c/shipyard/src/test/java/org/jclouds/shipyard/features/EnginesApiLiveTest.java
----------------------------------------------------------------------
diff --git a/shipyard/src/test/java/org/jclouds/shipyard/features/EnginesApiLiveTest.java b/shipyard/src/test/java/org/jclouds/shipyard/features/EnginesApiLiveTest.java
deleted file mode 100644
index 8a45468..0000000
--- a/shipyard/src/test/java/org/jclouds/shipyard/features/EnginesApiLiveTest.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.shipyard.features;
-
-import java.util.List;
-
-import static org.testng.Assert.assertTrue;
-import static org.testng.Assert.assertNotNull;
-
-import org.jclouds.http.HttpResponseException;
-import org.jclouds.shipyard.domain.engines.AddEngine;
-import org.jclouds.shipyard.domain.engines.EngineInfo;
-import org.jclouds.shipyard.domain.engines.EngineSettingsInfo;
-import org.jclouds.shipyard.internal.BaseShipyardApiLiveTest;
-import org.testng.annotations.AfterClass;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.Lists;
-
-@Test(groups = "live", testName = "EnginesApiLiveTest", singleThreaded = true)
-public class EnginesApiLiveTest extends BaseShipyardApiLiveTest {
-
- protected static final String engineName = "jclouds-shipard-live-test";
- protected String engineID = null;
-
- @BeforeClass
- protected void init() throws Exception {
- String dockerEndpoint = System.getProperty("test.shipyard.docker.endpoint");
- EngineSettingsInfo info = EngineSettingsInfo.create(engineName, dockerEndpoint, 1, 1024, Lists.newArrayList(engineName));
- AddEngine additionalEngine = AddEngine.create("local", "", "", "", info);
- api().addEngine(additionalEngine);
- }
-
- @AfterClass (alwaysRun = true)
- protected void tearDown() {
- assertNotNull(engineID, "Expected engineID to be set but was not");
- api().removeEngine(engineID);
- }
-
- public void testGetAllEngines() throws Exception {
- List<EngineInfo> engines = api().listEngines();
- assertTrue(engines.size() >= 1, "Shipyard did not contain at least 1 Engine which was expected");
- boolean engineFound = false;
- for (EngineInfo engine : api().listEngines()) {
- if (engine.engine().id().equals(engineName)) {
- engineID = engine.id();
- engineFound = true;
- }
- }
- assertTrue(engineFound, "Expected but could not find Engine amongst " + engines.size() + " found");
- }
-
- @Test (dependsOnMethods = "testGetAllEngines")
- public void testGetEngine() throws Exception {
- assertNotNull(engineID, "Expected engineID to be set but was not");
- EngineInfo engine = api().getEngine(engineID);
- assertTrue(engine.engine().id().equals(engineName), "Expected Engine name " + engineName + " but found " + engine.engine().id());
- }
-
- @Test (expectedExceptions = HttpResponseException.class)
- public void testAddNonExistentEngine() throws Exception {
- EngineSettingsInfo info = EngineSettingsInfo.create("local", "http://www.test-jclouds-shipyard:9999", 1, 1024, Lists.newArrayList("default"));
- AddEngine additionalEngine = AddEngine.create("local", "", "", "", info);
- api().addEngine(additionalEngine);
- }
-
- @Test (expectedExceptions = HttpResponseException.class)
- public void testRemoveNonExistentEngine() throws Exception {
- api().removeEngine("1234567890-shipyard-jclouds");
- }
-
- private EnginesApi api() {
- return api.enginesApi();
- }
-}