This is an automated email from the ASF dual-hosted git repository. aldettinger pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git
The following commit(s) were added to refs/heads/master by this push: new a05fa67 openstack: added cinder snapshots and glance tests #1943 a05fa67 is described below commit a05fa67e9bc5880c792746391849e48427804605 Author: aldettinger <aldettin...@gmail.com> AuthorDate: Mon Mar 15 10:10:43 2021 +0100 openstack: added cinder snapshots and glance tests #1943 --- .../it/OpenstackCinderSnapshotResource.java | 63 ++++++++++ .../it/OpenstackCinderVolumeResource.java | 54 ++++----- .../openstack/it/OpenstackGlanceResource.java | 131 +++++++++++++++++++++ .../openstack/it/OpenstackCinderSnapshotTest.java | 34 ++++++ .../openstack/it/OpenstackGlanceTest.java | 53 +++++++++ .../mappings/cinder/snapshot/volume_snapshots.json | 18 +++ .../volume}/createVolume_multiattach.json | 0 .../mappings/{ => cinder/volume}/volume.json | 0 .../{ => cinder/volume}/volume_delete.json | 0 .../mappings/{ => cinder/volume}/volume_types.json | 0 .../{ => cinder/volume}/volume_update.json | 0 .../mappings/{ => cinder/volume}/volumes.json | 0 .../src/test/resources/mappings/glance/image.json | 18 +++ .../resources/mappings/glance/image_delete.json | 14 +++ .../resources/mappings/glance/image_upload.json | 18 +++ .../src/test/resources/mappings/glance/images.json | 18 +++ .../resources/mappings/glance/images_detail.json | 18 +++ .../mappings/{ => keystone}/authv3_project.json | 0 18 files changed, 412 insertions(+), 27 deletions(-) diff --git a/extensions-jvm/openstack/integration-test/src/main/java/org/apache/camel/quarkus/component/openstack/it/OpenstackCinderSnapshotResource.java b/extensions-jvm/openstack/integration-test/src/main/java/org/apache/camel/quarkus/component/openstack/it/OpenstackCinderSnapshotResource.java new file mode 100644 index 0000000..e67b73d --- /dev/null +++ b/extensions-jvm/openstack/integration-test/src/main/java/org/apache/camel/quarkus/component/openstack/it/OpenstackCinderSnapshotResource.java @@ -0,0 +1,63 @@ +/* + * 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.apache.camel.quarkus.component.openstack.it; + +import javax.enterprise.context.ApplicationScoped; +import javax.inject.Inject; +import javax.ws.rs.POST; +import javax.ws.rs.Path; + +import org.apache.camel.ProducerTemplate; +import org.apache.camel.component.openstack.cinder.CinderConstants; +import org.apache.camel.component.openstack.common.OpenstackConstants; +import org.jboss.logging.Logger; +import org.openstack4j.model.storage.block.VolumeSnapshot; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertTrue; + +@Path("/openstack/cinder/snapshots/") +@ApplicationScoped +public class OpenstackCinderSnapshotResource { + + private static final Logger LOG = Logger.getLogger(OpenstackCinderSnapshotResource.class); + + private static final String URI_FORMAT = "openstack-cinder://{{camel.openstack.test.host-url}}?username=user&password=secret&project=project&operation=%s&subsystem=" + + CinderConstants.SNAPSHOTS; + + @Inject + ProducerTemplate template; + + @Path("/getAllShouldSucceed") + @POST + public void getAllShouldSucceed() { + LOG.debug("Calling OpenstackCinderSnapshotResource.getAllShouldSucceed()"); + + String uri = String.format(URI_FORMAT, OpenstackConstants.GET_ALL); + VolumeSnapshot[] volumeSnapshots = template.requestBody(uri, null, VolumeSnapshot[].class); + + assertEquals(2, volumeSnapshots.length); + assertEquals("a06b0531-c14b-4a7b-8749-de1378dd1007", volumeSnapshots[0].getId()); + assertEquals("b0e394e6-bb10-4bfe-960d-edf72100c810", volumeSnapshots[0].getVolumeId()); + assertNotNull(volumeSnapshots[0].getMetaData()); + assertTrue(volumeSnapshots[0].getMetaData().isEmpty()); + assertEquals("6489c55f-b9f4-442e-8d0a-5a87349d2d07", volumeSnapshots[1].getId()); + assertEquals("7f47ab73-303c-4a19-b311-6123bb115775", volumeSnapshots[1].getVolumeId()); + } + +} diff --git a/extensions-jvm/openstack/integration-test/src/main/java/org/apache/camel/quarkus/component/openstack/it/OpenstackCinderVolumeResource.java b/extensions-jvm/openstack/integration-test/src/main/java/org/apache/camel/quarkus/component/openstack/it/OpenstackCinderVolumeResource.java index 542dac4..3964683 100644 --- a/extensions-jvm/openstack/integration-test/src/main/java/org/apache/camel/quarkus/component/openstack/it/OpenstackCinderVolumeResource.java +++ b/extensions-jvm/openstack/integration-test/src/main/java/org/apache/camel/quarkus/component/openstack/it/OpenstackCinderVolumeResource.java @@ -59,8 +59,8 @@ public class OpenstackCinderVolumeResource { String uri = String.format(URI_FORMAT, OpenstackConstants.CREATE); Volume out = template.requestBody(uri, in, Volume.class); - assertEquals(out.getSize(), 10); - assertEquals(out.multiattach(), Boolean.TRUE); + assertEquals(10, out.getSize()); + assertEquals(Boolean.TRUE, out.multiattach()); } @Path("/getShouldSucceed") @@ -72,30 +72,30 @@ public class OpenstackCinderVolumeResource { String id = "8a9287b7-4f4d-4213-8d75-63470f19f27c"; Volume out = template.requestBodyAndHeader(uri, null, CinderConstants.VOLUME_ID, id, Volume.class); - assertEquals(out.getId(), id); - assertEquals(out.getName(), "test-volume"); - assertEquals(out.getDescription(), "a description"); + assertEquals(id, out.getId()); + assertEquals("test-volume", out.getName()); + assertEquals("a description", out.getDescription()); assertNotNull(out.getCreated()); - assertEquals(out.getZone(), "nova"); - assertEquals(out.getSize(), 100); - assertEquals(out.getStatus(), Volume.Status.IN_USE); - assertEquals(out.getSnapshotId(), "22222222-2222-2222-2222-222222222222"); - assertEquals(out.getSourceVolid(), "11111111-1111-1111-1111-111111111111"); - assertEquals(out.getVolumeType(), "Gold"); + assertEquals("nova", out.getZone()); + assertEquals(100, out.getSize()); + assertEquals(Volume.Status.IN_USE, out.getStatus()); + assertEquals("22222222-2222-2222-2222-222222222222", out.getSnapshotId()); + assertEquals("11111111-1111-1111-1111-111111111111", out.getSourceVolid()); + assertEquals("Gold", out.getVolumeType()); assertNotNull(out.getMetaData()); Map<String, String> metadata = out.getMetaData(); - assertEquals(metadata.get("readonly"), "False"); - assertEquals(metadata.get("attached_mode"), "rw"); + assertEquals("False", metadata.get("readonly")); + assertEquals("rw", metadata.get("attached_mode")); assertNotNull(out.getAttachments()); List<? extends VolumeAttachment> attachments = out.getAttachments(); assertEquals(1, attachments.size()); - assertEquals(attachments.get(0).getDevice(), "/dev/vdd"); - assertEquals(attachments.get(0).getHostname(), "myhost"); - assertEquals(attachments.get(0).getId(), "8a9287b7-4f4d-4213-8d75-63470f19f27c"); - assertEquals(attachments.get(0).getServerId(), "eaa6a54d-35c1-40ce-831d-bb61f991e1a9"); - assertEquals(attachments.get(0).getVolumeId(), "8a9287b7-4f4d-4213-8d75-63470f19f27c"); + assertEquals("/dev/vdd", attachments.get(0).getDevice()); + assertEquals("myhost", attachments.get(0).getHostname()); + assertEquals("8a9287b7-4f4d-4213-8d75-63470f19f27c", attachments.get(0).getId()); + assertEquals("eaa6a54d-35c1-40ce-831d-bb61f991e1a9", attachments.get(0).getServerId()); + assertEquals("8a9287b7-4f4d-4213-8d75-63470f19f27c", attachments.get(0).getVolumeId()); } @Path("/getAllShouldSucceed") @@ -106,8 +106,8 @@ public class OpenstackCinderVolumeResource { String uri = String.format(URI_FORMAT, OpenstackConstants.GET_ALL); Volume[] volumes = template.requestBody(uri, null, Volume[].class); - assertEquals(volumes.length, 3); - assertEquals(volumes[0].getTenantId(), "b0b5ed7ae06049688349fe43737796d4"); + assertEquals(3, volumes.length); + assertEquals("b0b5ed7ae06049688349fe43737796d4", volumes[0].getTenantId()); } @Path("/getAllTypesShouldSucceed") @@ -118,15 +118,15 @@ public class OpenstackCinderVolumeResource { String uri = String.format(URI_FORMAT, CinderConstants.GET_ALL_TYPES); VolumeType[] volumeTypes = template.requestBody(uri, null, VolumeType[].class); - assertEquals(volumeTypes.length, 2); - assertEquals(volumeTypes[0].getId(), "6a65bc1b-197b-45bf-8056-9695dc82191f"); - assertEquals(volumeTypes[0].getName(), "testVolume1"); + assertEquals(2, volumeTypes.length); + assertEquals("6a65bc1b-197b-45bf-8056-9695dc82191f", volumeTypes[0].getId()); + assertEquals("testVolume1", volumeTypes[0].getName()); assertNotNull(volumeTypes[0].getExtraSpecs()); - assertEquals(volumeTypes[0].getExtraSpecs().get("capabilities"), "gpu"); - assertEquals(volumeTypes[1].getId(), "10f00bb7-46d8-4f3f-b89b-702693a3dcdc"); - assertEquals(volumeTypes[1].getName(), "testVolume2"); + assertEquals("gpu", volumeTypes[0].getExtraSpecs().get("capabilities")); + assertEquals("10f00bb7-46d8-4f3f-b89b-702693a3dcdc", volumeTypes[1].getId()); + assertEquals("testVolume2", volumeTypes[1].getName()); assertNotNull(volumeTypes[1].getExtraSpecs()); - assertEquals(volumeTypes[1].getExtraSpecs().get("capabilities"), "gpu"); + assertEquals("gpu", volumeTypes[1].getExtraSpecs().get("capabilities")); } @Path("/updateShouldSucceed") diff --git a/extensions-jvm/openstack/integration-test/src/main/java/org/apache/camel/quarkus/component/openstack/it/OpenstackGlanceResource.java b/extensions-jvm/openstack/integration-test/src/main/java/org/apache/camel/quarkus/component/openstack/it/OpenstackGlanceResource.java new file mode 100644 index 0000000..2d0cfdb --- /dev/null +++ b/extensions-jvm/openstack/integration-test/src/main/java/org/apache/camel/quarkus/component/openstack/it/OpenstackGlanceResource.java @@ -0,0 +1,131 @@ +/* + * 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.apache.camel.quarkus.component.openstack.it; + +import java.io.ByteArrayInputStream; +import java.io.InputStream; +import java.util.HashMap; +import java.util.Map; + +import javax.enterprise.context.ApplicationScoped; +import javax.inject.Inject; +import javax.ws.rs.POST; +import javax.ws.rs.Path; + +import org.apache.camel.ProducerTemplate; +import org.apache.camel.component.openstack.common.OpenstackConstants; +import org.apache.camel.component.openstack.glance.GlanceConstants; +import org.jboss.logging.Logger; +import org.openstack4j.model.common.Payload; +import org.openstack4j.model.common.Payloads; +import org.openstack4j.model.image.ContainerFormat; +import org.openstack4j.model.image.DiskFormat; +import org.openstack4j.model.image.Image; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; + +@Path("/openstack/glance/") +@ApplicationScoped +public class OpenstackGlanceResource { + + private static final Logger LOG = Logger.getLogger(OpenstackGlanceResource.class); + + private static final String URI_FORMAT = "openstack-glance://{{camel.openstack.test.host-url}}?username=user&password=secret&project=project&operation=%s"; + + @Inject + ProducerTemplate template; + + @Path("/createShouldSucceed") + @POST + public void createShouldSucceed() { + LOG.debug("Calling OpenstackGlanceResource.createShouldSucceed()"); + + Map<String, Object> headers = new HashMap<>(); + headers.put(OpenstackConstants.NAME, "amphora-x64-haproxy"); + headers.put(GlanceConstants.DISK_FORMAT, DiskFormat.QCOW2); + headers.put(GlanceConstants.CONTAINER_FORMAT, ContainerFormat.BARE); + headers.put(GlanceConstants.MIN_DISK, 0L); + headers.put(GlanceConstants.MIN_RAM, 0L); + + Payload<InputStream> payload = Payloads.create(new ByteArrayInputStream(new byte[] { 10, 11, 12 })); + String uri = String.format(URI_FORMAT, OpenstackConstants.CREATE); + Image out = template.requestBodyAndHeaders(uri, payload, headers, Image.class); + + assertNotNull(out); + assertEquals("8a2ea42d-06b5-42c2-a54d-97105420f2bb", out.getId()); + assertEquals("amphora-x64-haproxy", out.getName()); + assertEquals(ContainerFormat.BARE, out.getContainerFormat()); + assertEquals(DiskFormat.QCOW2, out.getDiskFormat()); + assertEquals(0L, out.getMinDisk()); + assertEquals(0L, out.getMinRam()); + } + + @Path("/uploadShouldSucceed") + @POST + public void uploadShouldSucceed() { + LOG.debug("Calling OpenstackGlanceResource.uploadShouldSucceed()"); + + Map<String, Object> headers = new HashMap<>(); + headers.put(OpenstackConstants.NAME, "amphora-x64-haproxy"); + headers.put(OpenstackConstants.ID, "4b434528-032b-4467-946c-b5880ce15c06"); + headers.put(GlanceConstants.DISK_FORMAT, DiskFormat.QCOW2); + headers.put(GlanceConstants.CONTAINER_FORMAT, ContainerFormat.BARE); + headers.put(GlanceConstants.MIN_DISK, 0L); + headers.put(GlanceConstants.MIN_RAM, 0L); + + Payload<InputStream> payload = Payloads.create(new ByteArrayInputStream(new byte[] { 10, 11, 12 })); + String uri = String.format(URI_FORMAT, GlanceConstants.UPLOAD); + Image out = template.requestBodyAndHeaders(uri, payload, headers, Image.class); + + assertNotNull(out); + assertEquals("4b434528-032b-4467-946c-b5880ce15c06", out.getId()); + } + + @Path("/getShouldSucceed") + @POST + public void getShouldSucceed() { + LOG.debug("Calling OpenstackGlanceResource.getShouldSucceed()"); + + String uri = String.format(URI_FORMAT, OpenstackConstants.GET); + String id = "8a2ea42d-06b5-42c2-a54d-97105420f2bb"; + Image out = template.requestBodyAndHeader(uri, null, OpenstackConstants.ID, id, Image.class); + + assertEquals(id, out.getId()); + } + + @Path("/getAllShouldSucceed") + @POST + public void getAllShouldSucceed() { + LOG.debug("Calling OpenstackGlanceResource.getAllShouldSucceed()"); + + String uri = String.format(URI_FORMAT, OpenstackConstants.GET_ALL); + Image[] images = template.requestBody(uri, null, Image[].class); + + assertEquals(2, images.length); + assertEquals("7541b8be-c62b-46c3-b5a5-5bb5ce43ce01", images[0].getId()); + } + + @Path("/deleteShouldSucceed") + @POST + public void deleteShouldSucceed() { + LOG.debug("Calling OpenstackGlanceResource.deleteShouldSucceed()"); + + String uri = String.format(URI_FORMAT, OpenstackConstants.DELETE); + template.requestBodyAndHeader(uri, null, OpenstackConstants.ID, "8a2ea42d-06b5-42c2-a54d-97105420f2bb"); + } +} diff --git a/extensions-jvm/openstack/integration-test/src/test/java/org/apache/camel/quarkus/component/openstack/it/OpenstackCinderSnapshotTest.java b/extensions-jvm/openstack/integration-test/src/test/java/org/apache/camel/quarkus/component/openstack/it/OpenstackCinderSnapshotTest.java new file mode 100644 index 0000000..53a819a --- /dev/null +++ b/extensions-jvm/openstack/integration-test/src/test/java/org/apache/camel/quarkus/component/openstack/it/OpenstackCinderSnapshotTest.java @@ -0,0 +1,34 @@ +/* + * 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.apache.camel.quarkus.component.openstack.it; + +import io.quarkus.test.common.QuarkusTestResource; +import io.quarkus.test.junit.QuarkusTest; +import org.junit.jupiter.api.Test; + +import static io.restassured.RestAssured.post; + +@QuarkusTest +@QuarkusTestResource(OpenStackTestResource.class) +class OpenstackCinderSnapshotTest { + + @Test + public void getAllShouldSucceed() { + post("/openstack/cinder/snapshots/getAllShouldSucceed").then().statusCode(204); + } + +} diff --git a/extensions-jvm/openstack/integration-test/src/test/java/org/apache/camel/quarkus/component/openstack/it/OpenstackGlanceTest.java b/extensions-jvm/openstack/integration-test/src/test/java/org/apache/camel/quarkus/component/openstack/it/OpenstackGlanceTest.java new file mode 100644 index 0000000..5e6b88e --- /dev/null +++ b/extensions-jvm/openstack/integration-test/src/test/java/org/apache/camel/quarkus/component/openstack/it/OpenstackGlanceTest.java @@ -0,0 +1,53 @@ +/* + * 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.apache.camel.quarkus.component.openstack.it; + +import io.quarkus.test.common.QuarkusTestResource; +import io.quarkus.test.junit.QuarkusTest; +import org.junit.jupiter.api.Test; + +import static io.restassured.RestAssured.post; + +@QuarkusTest +@QuarkusTestResource(OpenStackTestResource.class) +class OpenstackGlanceTest { + + @Test + public void createShouldSucceed() { + post("/openstack/glance/createShouldSucceed").then().statusCode(204); + } + + @Test + public void uploadShouldSucceed() { + post("/openstack/glance/uploadShouldSucceed").then().statusCode(204); + } + + @Test + public void getShouldSucceed() { + post("/openstack/glance/getShouldSucceed").then().statusCode(204); + } + + @Test + public void getAllShouldSucceed() { + post("/openstack/glance/getAllShouldSucceed").then().statusCode(204); + } + + @Test + public void deleteShouldSucceed() { + post("/openstack/glance/deleteShouldSucceed").then().statusCode(204); + } +} diff --git a/extensions-jvm/openstack/integration-test/src/test/resources/mappings/cinder/snapshot/volume_snapshots.json b/extensions-jvm/openstack/integration-test/src/test/resources/mappings/cinder/snapshot/volume_snapshots.json new file mode 100644 index 0000000..a63c10f --- /dev/null +++ b/extensions-jvm/openstack/integration-test/src/test/resources/mappings/cinder/snapshot/volume_snapshots.json @@ -0,0 +1,18 @@ +{ + "id" : "abd83ce9-92e5-41dd-8bad-b5ce5408c775", + "name" : "volume_snapshots.json", + "request" : { + "url" : "/v2/123ac695d4db400a9001b91bb3b8aa46/snapshots", + "method" : "GET" + }, + "response" : { + "status" : 200, + "body" : "{\"snapshots\":[{\"status\":\"available\",\"display_name\":\"snap-vol-test-1\",\"created_at\":\"2015-04-23T11:32:28.364877\",\"display_description\":\"\",\"volume_id\":\"b0e394e6-bb10-4bfe-960d-edf72100c810\",\"metadata\":{},\"id\":\"a06b0531-c14b-4a7b-8749-de1378dd1007\",\"size\":1},{\"status\":\"available\",\"display_name\":\"snap-vol-test-2\",\"created_at\":\"2015-04-23T11:32:14.620321\",\"display_description\":\"\",\"volume_id\":\"7f47ab73-303c-4a19-b311-6123bb115775\", [...] + "headers" : { + "Content-Type" : "application/json; charset=UTF-8" + } + }, + "uuid" : "abd83ce9-92e5-41dd-8bad-b5ce5408c775", + "persistent" : true, + "insertionIndex" : 1 +} \ No newline at end of file diff --git a/extensions-jvm/openstack/integration-test/src/test/resources/mappings/createVolume_multiattach.json b/extensions-jvm/openstack/integration-test/src/test/resources/mappings/cinder/volume/createVolume_multiattach.json similarity index 100% rename from extensions-jvm/openstack/integration-test/src/test/resources/mappings/createVolume_multiattach.json rename to extensions-jvm/openstack/integration-test/src/test/resources/mappings/cinder/volume/createVolume_multiattach.json diff --git a/extensions-jvm/openstack/integration-test/src/test/resources/mappings/volume.json b/extensions-jvm/openstack/integration-test/src/test/resources/mappings/cinder/volume/volume.json similarity index 100% rename from extensions-jvm/openstack/integration-test/src/test/resources/mappings/volume.json rename to extensions-jvm/openstack/integration-test/src/test/resources/mappings/cinder/volume/volume.json diff --git a/extensions-jvm/openstack/integration-test/src/test/resources/mappings/volume_delete.json b/extensions-jvm/openstack/integration-test/src/test/resources/mappings/cinder/volume/volume_delete.json similarity index 100% rename from extensions-jvm/openstack/integration-test/src/test/resources/mappings/volume_delete.json rename to extensions-jvm/openstack/integration-test/src/test/resources/mappings/cinder/volume/volume_delete.json diff --git a/extensions-jvm/openstack/integration-test/src/test/resources/mappings/volume_types.json b/extensions-jvm/openstack/integration-test/src/test/resources/mappings/cinder/volume/volume_types.json similarity index 100% rename from extensions-jvm/openstack/integration-test/src/test/resources/mappings/volume_types.json rename to extensions-jvm/openstack/integration-test/src/test/resources/mappings/cinder/volume/volume_types.json diff --git a/extensions-jvm/openstack/integration-test/src/test/resources/mappings/volume_update.json b/extensions-jvm/openstack/integration-test/src/test/resources/mappings/cinder/volume/volume_update.json similarity index 100% rename from extensions-jvm/openstack/integration-test/src/test/resources/mappings/volume_update.json rename to extensions-jvm/openstack/integration-test/src/test/resources/mappings/cinder/volume/volume_update.json diff --git a/extensions-jvm/openstack/integration-test/src/test/resources/mappings/volumes.json b/extensions-jvm/openstack/integration-test/src/test/resources/mappings/cinder/volume/volumes.json similarity index 100% rename from extensions-jvm/openstack/integration-test/src/test/resources/mappings/volumes.json rename to extensions-jvm/openstack/integration-test/src/test/resources/mappings/cinder/volume/volumes.json diff --git a/extensions-jvm/openstack/integration-test/src/test/resources/mappings/glance/image.json b/extensions-jvm/openstack/integration-test/src/test/resources/mappings/glance/image.json new file mode 100644 index 0000000..26b99b2 --- /dev/null +++ b/extensions-jvm/openstack/integration-test/src/test/resources/mappings/glance/image.json @@ -0,0 +1,18 @@ +{ + "id" : "82d0d9f5-c8fa-4256-b3dd-a606c176f0b4", + "name" : "image.json", + "request" : { + "url" : "/v1/images/8a2ea42d-06b5-42c2-a54d-97105420f2bb", + "method" : "HEAD" + }, + "response" : { + "status" : 200, + "headers" : { + "Content-Type" : "application/json; charset=UTF-8", + "X-Image-Meta-Id" : "8a2ea42d-06b5-42c2-a54d-97105420f2bb" + } + }, + "uuid" : "82d0d9f5-c8fa-4256-b3dd-a606c176f0b4", + "persistent" : true, + "insertionIndex" : 1 +} \ No newline at end of file diff --git a/extensions-jvm/openstack/integration-test/src/test/resources/mappings/glance/image_delete.json b/extensions-jvm/openstack/integration-test/src/test/resources/mappings/glance/image_delete.json new file mode 100644 index 0000000..e4c3788 --- /dev/null +++ b/extensions-jvm/openstack/integration-test/src/test/resources/mappings/glance/image_delete.json @@ -0,0 +1,14 @@ +{ + "id" : "badc456b-f0b4-4542-a30f-1578e56dad95", + "name" : "image_delete.json", + "request" : { + "url" : "/v2/123ac695d4db400a9001b91bb3b8aa46/images/8a2ea42d-06b5-42c2-a54d-97105420f2bb", + "method" : "DELETE" + }, + "response" : { + "status" : 200 + }, + "uuid" : "badc456b-f0b4-4542-a30f-1578e56dad95", + "persistent" : true, + "insertionIndex" : 1 +} \ No newline at end of file diff --git a/extensions-jvm/openstack/integration-test/src/test/resources/mappings/glance/image_upload.json b/extensions-jvm/openstack/integration-test/src/test/resources/mappings/glance/image_upload.json new file mode 100644 index 0000000..af0a6ed --- /dev/null +++ b/extensions-jvm/openstack/integration-test/src/test/resources/mappings/glance/image_upload.json @@ -0,0 +1,18 @@ +{ + "id" : "05e9228c-af70-4878-83fa-093113eaa53b", + "name" : "image_upload.json", + "request" : { + "url" : "/v1/images/4b434528-032b-4467-946c-b5880ce15c06", + "method" : "PUT" + }, + "response" : { + "status" : 200, + "body" : "{\"image\":{\"status\":\"active\",\"name\":\"amphora-x64-haproxy\",\"tags\":[],\"container_format\":\"bare\",\"created_at\":\"2016-08-09T21:36:25Z\",\"size\":566600704,\"disk_format\":\"qcow2\",\"updated_at\":\"2016-08-09T21:36:29Z\",\"self\":\"\/v2\/images\/8a2ea42d-06b5-42c2-a54d-97105420f2bb\",\"min_disk\":0,\"protected\":false,\"id\":\"4b434528-032b-4467-946c-b5880ce15c06\",\"file\":\"\/v1\/images\/4b434528-032b-4467-946c-b5880ce15c06\/file\",\"checksum\":\"896e5473caaa [...] + "headers" : { + "Content-Type" : "application/json; charset=UTF-8" + } + }, + "uuid" : "05e9228c-af70-4878-83fa-093113eaa53b", + "persistent" : true, + "insertionIndex" : 1 +} \ No newline at end of file diff --git a/extensions-jvm/openstack/integration-test/src/test/resources/mappings/glance/images.json b/extensions-jvm/openstack/integration-test/src/test/resources/mappings/glance/images.json new file mode 100644 index 0000000..1898103 --- /dev/null +++ b/extensions-jvm/openstack/integration-test/src/test/resources/mappings/glance/images.json @@ -0,0 +1,18 @@ +{ + "id" : "f0fd049a-9325-4a60-a0fe-9987f7e791d1", + "name" : "images.json", + "request" : { + "url" : "/v1/images", + "method" : "POST" + }, + "response" : { + "status" : 200, + "body" : "{\"image\":{\"status\":\"active\",\"name\":\"amphora-x64-haproxy\",\"tags\":[],\"container_format\":\"bare\",\"created_at\":\"2016-08-09T21:36:25Z\",\"size\":566600704,\"disk_format\":\"qcow2\",\"updated_at\":\"2016-08-09T21:36:29Z\",\"self\":\"\/v2\/images\/8a2ea42d-06b5-42c2-a54d-97105420f2bb\",\"min_disk\":0,\"protected\":false,\"id\":\"8a2ea42d-06b5-42c2-a54d-97105420f2bb\",\"file\":\"\/v1\/images\/8a2ea42d-06b5-42c2-a54d-97105420f2bb\/file\",\"checksum\":\"896e5473caaa [...] + "headers" : { + "Content-Type" : "application/json; charset=UTF-8" + } + }, + "uuid" : "f0fd049a-9325-4a60-a0fe-9987f7e791d1", + "persistent" : true, + "insertionIndex" : 1 +} \ No newline at end of file diff --git a/extensions-jvm/openstack/integration-test/src/test/resources/mappings/glance/images_detail.json b/extensions-jvm/openstack/integration-test/src/test/resources/mappings/glance/images_detail.json new file mode 100644 index 0000000..257a10b --- /dev/null +++ b/extensions-jvm/openstack/integration-test/src/test/resources/mappings/glance/images_detail.json @@ -0,0 +1,18 @@ +{ + "id" : "3ca2b6da-cfbb-463a-9205-7843cbbdf087", + "name" : "images_detail.json", + "request" : { + "url" : "/v1/images/detail", + "method" : "GET" + }, + "response" : { + "status" : 200, + "body" : "{\"images\":[{\"status\":\"active\",\"name\":\"Fedora-x86_64-20-20140407-sda\",\"tags\":[\"testTag\"],\"container_format\":\"bare\",\"created_at\":\"2016-08-09T21:32:02Z\",\"size\":210829312,\"disk_format\":\"qcow2\",\"updated_at\":\"2016-08-15T20:28:15Z\",\"visibility\":\"public\",\"self\":\"\/v2\/images\/7541b8be-c62b-46c3-b5a5-5bb5ce43ce01\",\"min_disk\":0,\"protected\":false,\"id\":\"7541b8be-c62b-46c3-b5a5-5bb5ce43ce01\",\"file\":\"\/v2\/images\/7541b8be-c62b-46c3-b5a5 [...] + "headers" : { + "Content-Type" : "application/json; charset=UTF-8" + } + }, + "uuid" : "3ca2b6da-cfbb-463a-9205-7843cbbdf087", + "persistent" : true, + "insertionIndex" : 1 +} \ No newline at end of file diff --git a/extensions-jvm/openstack/integration-test/src/test/resources/mappings/authv3_project.json b/extensions-jvm/openstack/integration-test/src/test/resources/mappings/keystone/authv3_project.json similarity index 100% rename from extensions-jvm/openstack/integration-test/src/test/resources/mappings/authv3_project.json rename to extensions-jvm/openstack/integration-test/src/test/resources/mappings/keystone/authv3_project.json