summaryrefslogtreecommitdiff
path: root/server/vendor/php-opencloud/common/tests/unit/Fixtures
diff options
context:
space:
mode:
authorEoleDev <root@serverpc.home>2016-03-09 15:37:42 +0100
committerEoleDev <root@serverpc.home>2016-03-09 15:37:42 +0100
commit1d3ed3af6d57316640c143002ddf80d61e6c098a (patch)
tree97ac49bc7ff0f16150aefee821da3557dc0d0644 /server/vendor/php-opencloud/common/tests/unit/Fixtures
parentd69adc4f9d1f6019927de235ef84885c68e6e508 (diff)
parent08ea5ef31abcc4e23a39a780cacb64fa27f19194 (diff)
Merge branch 'Evan' into develop
Diffstat (limited to 'server/vendor/php-opencloud/common/tests/unit/Fixtures')
-rw-r--r--server/vendor/php-opencloud/common/tests/unit/Fixtures/ComputeV2Api.php107
-rw-r--r--server/vendor/php-opencloud/common/tests/unit/Fixtures/IdentityV2Api.php36
-rw-r--r--server/vendor/php-opencloud/common/tests/unit/Fixtures/IdentityV3Api.php75
3 files changed, 218 insertions, 0 deletions
diff --git a/server/vendor/php-opencloud/common/tests/unit/Fixtures/ComputeV2Api.php b/server/vendor/php-opencloud/common/tests/unit/Fixtures/ComputeV2Api.php
new file mode 100644
index 0000000..d395d10
--- /dev/null
+++ b/server/vendor/php-opencloud/common/tests/unit/Fixtures/ComputeV2Api.php
@@ -0,0 +1,107 @@
+<?php
+
+namespace OpenCloud\Test\Fixtures;
+
+use OpenCloud\Common\Api\ApiInterface;
+
+class ComputeV2Api implements ApiInterface
+{
+ private $idParam = ['type' => 'string', 'required' => true, 'location' => 'url'];
+
+ public function getImage()
+ {
+ return [
+ 'method' => 'GET',
+ 'path' => 'images/{id}',
+ 'params' => [self::$idParam]
+ ];
+ }
+
+ public function postServer()
+ {
+ return [
+ 'path' => 'servers',
+ 'method' => 'POST',
+ 'jsonKey' => 'server',
+ 'params' => [
+ 'removeMetadata' => [
+ 'type' => 'object',
+ 'properties' => ['type' => 'string'],
+ ],
+ 'securityGroups' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'name' => ['type' => 'string']
+ ]
+ ],
+ 'sentAs' => 'security_groups',
+ ],
+ 'userData' => ['type' => 'string', 'sentAs' => 'user_data'],
+ 'availabilityZone' => ['type' => 'string', 'sentAs' => 'availability_zone'],
+ 'imageId' => ['type' => 'string', 'required' => true, 'sentAs' => 'imageRef'],
+ 'flavorId' => ['type' => 'string', 'required' => true, 'sentAs' => 'flavorRef'],
+ 'networks' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'uuid' => ['type' => 'string'],
+ 'port' => ['type' => 'string'],
+ ]
+ ]
+ ],
+ 'name' => ['type' => 'string', 'required' => true],
+ 'metadata' => ['type' => 'object', 'location' => 'json'],
+ 'personality' => ['type' => 'string'],
+ 'blockDeviceMapping' => [
+ 'type' => 'array',
+ 'sentAs' => 'block_device_mapping_v2',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'configDrive' => ['type' => 'string', 'sentAs' => 'config_drive'],
+ 'bootIndex' => ['type' => 'string', 'sentAs' => 'boot_index'],
+ 'deleteOnTermination' => ['type' => 'boolean', 'sentAs' => 'delete_on_termination'],
+ 'guestFormat' => ['type' => 'string', 'sentAs' => 'guest_format'],
+ 'destinationType' => ['type' => 'string', 'sentAs' => 'destination_type'],
+ 'sourceType' => ['type' => 'string', 'sentAs' => 'source_type'],
+ 'deviceName' => ['type' => 'string', 'sentAs' => 'device_name'],
+ ]
+ ],
+ ],
+ ]
+ ];
+ }
+
+ public function test()
+ {
+ return [
+ 'method' => 'GET',
+ 'path' => 'foo',
+ 'params' => [
+ 'id' => ['type' => 'string', 'location' => 'json'],
+ 'bar' => ['type' => 'string', 'location' => 'json'],
+ ]
+ ];
+ }
+
+ public function getServers()
+ {
+ return [
+ 'method' => 'GET',
+ 'path' => 'servers',
+ 'params' => [
+ 'changesSince' => ['sentAs' => 'changes-since', 'type' => 'string', 'location' => 'query'],
+ 'imageId' => ['sentAs' => 'image', 'type' => 'string', 'location' => 'query'],
+ 'flavorId' => ['sentAs' => 'flavor', 'type' => 'string', 'location' => 'query'],
+ 'name' => ['type' => 'string', 'location' => 'query'],
+ 'marker' => ['type' => 'string', 'location' => 'query'],
+ 'limit' => ['type' => 'integer', 'location' => 'query'],
+ 'status' => ['type' => 'string', 'location' => 'query'],
+ 'host' => ['type' => 'string', 'location' => 'query']
+ ],
+ ];
+ }
+}
diff --git a/server/vendor/php-opencloud/common/tests/unit/Fixtures/IdentityV2Api.php b/server/vendor/php-opencloud/common/tests/unit/Fixtures/IdentityV2Api.php
new file mode 100644
index 0000000..4cc66b5
--- /dev/null
+++ b/server/vendor/php-opencloud/common/tests/unit/Fixtures/IdentityV2Api.php
@@ -0,0 +1,36 @@
+<?php
+
+namespace OpenCloud\Test\Fixtures;
+
+use OpenCloud\Common\Api\ApiInterface;
+
+class IdentityV2Api implements ApiInterface
+{
+ public function postToken()
+ {
+ return [
+ 'method' => 'POST',
+ 'path' => 'tokens',
+ 'params' => [
+ 'username' => [
+ 'type' => 'string',
+ 'required' => true,
+ 'path' => 'auth.passwordCredentials'
+ ],
+ 'password' => [
+ 'type' => 'string',
+ 'required' => true,
+ 'path' => 'auth.passwordCredentials'
+ ],
+ 'tenantId' => [
+ 'type' => 'string',
+ 'path' => 'auth',
+ ],
+ 'tenantName' => [
+ 'type' => 'string',
+ 'path' => 'auth',
+ ]
+ ],
+ ];
+ }
+}
diff --git a/server/vendor/php-opencloud/common/tests/unit/Fixtures/IdentityV3Api.php b/server/vendor/php-opencloud/common/tests/unit/Fixtures/IdentityV3Api.php
new file mode 100644
index 0000000..2fc922f
--- /dev/null
+++ b/server/vendor/php-opencloud/common/tests/unit/Fixtures/IdentityV3Api.php
@@ -0,0 +1,75 @@
+<?php
+
+namespace OpenCloud\Test\Fixtures;
+
+class IdentityV3Api
+{
+ private function domainParam()
+ {
+ return [
+ 'type' => 'object',
+ 'params' => [
+ 'id' => ['type' => 'string'],
+ 'name' => ['type' => 'string']
+ ]
+ ];
+ }
+
+ private function projectParam()
+ {
+ return [
+ 'type' => 'object',
+ 'params' => [
+ 'id' => ['type' => 'string'],
+ 'name' => ['type' => 'string'],
+ 'domain' => $this->domainParam(),
+ ]
+ ];
+ }
+
+ public function postTokens()
+ {
+ return [
+ 'method' => 'POST',
+ 'path' => 'tokens',
+ 'params' => [
+ 'methods' => [
+ 'type' => 'array',
+ 'path' => 'auth.identity',
+ 'items' => [
+ 'type' => 'string'
+ ]
+ ],
+ 'user' => [
+ 'path' => 'auth.identity.password',
+ 'type' => 'object',
+ 'properties' => [
+ 'id' => [
+ 'type' => 'string',
+ ],
+ 'name' => [
+ 'type' => 'string',
+ ],
+ 'password' => [
+ 'type' => 'string',
+ ],
+ 'domain' => $this->domainParam()
+ ]
+ ],
+ 'tokenId' => [
+ 'type' => 'string',
+ 'path' => 'auth.identity.token',
+ 'sentAs' => 'id',
+ ],
+ 'scope' => [
+ 'type' => 'object',
+ 'path' => 'auth',
+ 'properties' => [
+ 'project' => $this->projectParam(),
+ 'domain' => $this->domainParam()
+ ]
+ ]
+ ]
+ ];
+ }
+}