summaryrefslogtreecommitdiff
path: root/server/vendor/php-opencloud/common/tests/unit/Common/Api
diff options
context:
space:
mode:
authorEoleDev <EoleDev@outlook.fr>2016-04-14 16:28:25 +0200
committerEoleDev <EoleDev@outlook.fr>2016-04-14 16:28:25 +0200
commit31d2d0c158ad4daa3dde7a905f3c2e312c194f2e (patch)
tree43d761d2aec8265a22c0fdedcc365bacc10dc814 /server/vendor/php-opencloud/common/tests/unit/Common/Api
parent27730911d8c9253a4f5aa90450c57cdeca9d5d26 (diff)
parentb348dbc2266a3e8070a3951fb0bd8c19b852ec47 (diff)
Merge branch 'compute'
Conflicts: server/core/LibOverride/genTokenOptions.php
Diffstat (limited to 'server/vendor/php-opencloud/common/tests/unit/Common/Api')
-rwxr-xr-xserver/vendor/php-opencloud/common/tests/unit/Common/Api/OperationTest.php74
-rwxr-xr-xserver/vendor/php-opencloud/common/tests/unit/Common/Api/OperatorTest.php136
-rwxr-xr-xserver/vendor/php-opencloud/common/tests/unit/Common/Api/ParameterTest.php203
-rwxr-xr-xserver/vendor/php-opencloud/common/tests/unit/Common/Api/fixtures/headers.php25
-rwxr-xr-xserver/vendor/php-opencloud/common/tests/unit/Common/Api/fixtures/jsonBody.php27
5 files changed, 0 insertions, 465 deletions
diff --git a/server/vendor/php-opencloud/common/tests/unit/Common/Api/OperationTest.php b/server/vendor/php-opencloud/common/tests/unit/Common/Api/OperationTest.php
deleted file mode 100755
index ea0f7c8..0000000
--- a/server/vendor/php-opencloud/common/tests/unit/Common/Api/OperationTest.php
+++ /dev/null
@@ -1,74 +0,0 @@
-<?php
-
-namespace OpenCloud\Test\Common\Api;
-
-use OpenCloud\Common\Api\Operation;
-use OpenCloud\Common\Api\Parameter;
-use OpenCloud\Test\Fixtures\ComputeV2Api;
-
-class OperationTest extends \PHPUnit_Framework_TestCase
-{
- private $operation;
-
- public function setUp()
- {
- $def = (new ComputeV2Api())->postServer();
-
- $this->operation = new Operation($def);
- }
-
- public function test_it_reveals_whether_params_are_set_or_not()
- {
- $this->assertFalse($this->operation->hasParam('foo'));
- $this->assertTrue($this->operation->hasParam('name'));
- }
-
- public function test_it_gets_params()
- {
- $this->assertInstanceOf(Parameter::class, $this->operation->getParam('name'));
- }
-
- public function test_it_validates_params()
- {
- $this->assertTrue($this->operation->validate([
- 'name' => 'foo',
- 'imageId' => 'bar',
- 'flavorId' => 'baz',
- ]));
- }
-
- /**
- * @expectedException \Exception
- */
- public function test_exceptions_are_propagated()
- {
- $this->assertFalse($this->operation->validate([
- 'name' => true,
- 'imageId' => 'bar',
- 'flavorId' => 'baz',
- ]));
- }
-
- /**
- * @expectedException \Exception
- */
- public function test_an_exception_is_thrown_when_user_does_not_provide_required_options()
- {
- $this->operation->validate([]);
- }
-
- /**
- * @expectedException \Exception
- */
- public function test_it_throws_exception_when_user_provides_undefined_options()
- {
- $userData = ['name' => 'new_server', 'undefined_opt' => 'bah'];
-
- $this->operation->validate($userData);
- }
-
- public function test_it_gets_json_key()
- {
- $this->assertEquals('server', $this->operation->getJsonKey());
- }
-}
diff --git a/server/vendor/php-opencloud/common/tests/unit/Common/Api/OperatorTest.php b/server/vendor/php-opencloud/common/tests/unit/Common/Api/OperatorTest.php
deleted file mode 100755
index e22c25e..0000000
--- a/server/vendor/php-opencloud/common/tests/unit/Common/Api/OperatorTest.php
+++ /dev/null
@@ -1,136 +0,0 @@
-<?php
-
-namespace OpenCloud\Test\Common\Api;
-
-use function GuzzleHttp\Psr7\uri_for;
-use GuzzleHttp\Promise\Promise;
-use GuzzleHttp\Psr7\Request;
-use GuzzleHttp\Psr7\Response;
-use GuzzleHttp\Psr7\Uri;
-use OpenCloud\Common\Api\Operator;
-use OpenCloud\Common\Resource\AbstractResource;
-use OpenCloud\Common\Resource\ResourceInterface;
-use OpenCloud\Test\Fixtures\ComputeV2Api;
-use OpenCloud\Test\TestCase;
-use Prophecy\Argument;
-
-class OperatorTest extends TestCase
-{
- private $operator;
- private $def;
-
- public function setUp()
- {
- parent::setUp();
-
- $this->rootFixturesDir = __DIR__;
-
- $this->def = [
- 'method' => 'GET',
- 'path' => 'test',
- 'params' => [],
- ];
-
- $this->operator = new TestOperator($this->client->reveal(), new ComputeV2Api());
- }
-
- public function test_it_returns_operations()
- {
- $this->assertInstanceOf(
- 'OpenCloud\Common\Api\Operation',
- $this->operator->getOperation($this->def, [])
- );
- }
-
- public function test_it_sends_a_request_when_operations_are_executed()
- {
- $this->client->request('GET', 'test', ['headers' => []])->willReturn(new Response());
-
- $this->operator->execute($this->def, []);
- }
-
- public function test_it_sends_a_request_when_async_operations_are_executed()
- {
- $this->client->requestAsync('GET', 'test', ['headers' => []])->willReturn(new Promise());
-
- $this->operator->executeAsync($this->def, []);
- }
-
- public function test_it_returns_a_model_instance()
- {
- $this->assertInstanceOf(ResourceInterface::class, $this->operator->model(TestResource::class));
- }
-
- public function test_it_populates_models_from_response()
- {
- $this->assertInstanceOf(ResourceInterface::class, $this->operator->model(TestResource::class, new Response(200)));
- }
-
- public function test_it_populates_models_from_arrays()
- {
- $data = ['flavor' => [], 'image' => []];
- $this->assertInstanceOf(ResourceInterface::class, $this->operator->model(TestResource::class, $data));
- }
-
- public function test_it_wraps_sequential_ops_in_promise_when_async_is_appended_to_method_name()
- {
- $promise = $this->operator->createAsync('something');
-
- $this->assertInstanceOf(Promise::class, $promise);
-
- $promise->then(function ($val) {
- $this->assertEquals('Created something', $val);
- });
-
- $promise->wait();
- }
-
- /**
- * @expectedException \RuntimeException
- */
- public function test_it_throws_exception_when_async_is_called_on_a_non_existent_method()
- {
- $this->operator->fooAsync();
- }
-
- public function test_it_retrieves_base_http_url()
- {
- $returnedUri = uri_for('http://foo.com');
-
- $this->client->getConfig('base_uri')->shouldBeCalled()->willReturn($returnedUri);
-
- $uri = $this->operator->testBaseUri();
-
- $this->assertInstanceOf(Uri::class, $uri);
- $this->assertEquals($returnedUri, $uri);
- }
-
- /**
- * @expectedException \Exception
- */
- public function test_undefined_methods_result_in_error()
- {
- $this->operator->foo();
- }
-}
-
-class TestResource extends AbstractResource
-{
-}
-
-class TestOperator extends Operator
-{
- public function testBaseUri()
- {
- return $this->getHttpBaseUrl();
- }
-
- public function create($str)
- {
- return 'Created ' . $str;
- }
-
- public function fail()
- {
- }
-}
diff --git a/server/vendor/php-opencloud/common/tests/unit/Common/Api/ParameterTest.php b/server/vendor/php-opencloud/common/tests/unit/Common/Api/ParameterTest.php
deleted file mode 100755
index 65d4760..0000000
--- a/server/vendor/php-opencloud/common/tests/unit/Common/Api/ParameterTest.php
+++ /dev/null
@@ -1,203 +0,0 @@
-<?php
-
-namespace OpenCloud\Test\Common\Api;
-
-use OpenCloud\Common\Api\Parameter;
-use OpenCloud\Test\Fixtures\ComputeV2Api;
-
-class ParameterTest extends \PHPUnit_Framework_TestCase
-{
- const PARAMETER_CLASS = 'OpenCloud\Common\Api\Parameter';
-
- private $param;
- private $data;
- private $api;
-
- public function setUp()
- {
- $this->api = new ComputeV2Api();
-
- $this->data = $this->api->postServer()['params']['name'] + ['name' => 'name'];
- $this->param = new Parameter($this->data);
- }
-
- /**
- * @expectedException \RuntimeException
- */
- public function test_exception_is_thrown_for_invalid_locations()
- {
- $data = $this->data;
- $data['location'] = 'foo';
- new Parameter($data);
- }
-
- public function test_it_should_provide_access_to_a_name()
- {
- $this->assertEquals($this->data['name'], $this->param->getName());
- }
-
- public function test_it_should_use_sentAs_alias_for_name_if_one_is_set()
- {
- $data = $this->data + ['sentAs' => 'foo'];
- $param = new Parameter($data);
-
- $this->assertEquals($data['sentAs'], $param->getName());
- }
-
- public function test_it_indicates_whether_it_is_required_or_not()
- {
- $this->assertTrue($this->param->isRequired());
- }
-
- public function test_it_indicates_its_item_schema()
- {
- $data = $this->api->postServer()['params']['networks'] + ['name' => 'networks'];
- $param = new Parameter($data);
-
- $this->assertInstanceOf(self::PARAMETER_CLASS, $param->getItemSchema());
- }
-
- public function test_it_allows_property_retrieval()
- {
- $definition = $this->api->postServer()['params']['networks']['items'] + ['name' => 'network'];
- $param = new Parameter($definition);
-
- $this->assertInstanceOf(self::PARAMETER_CLASS, $param->getProperty('uuid'));
- }
-
- public function test_it_indicates_its_path()
- {
- $path = 'foo.bar.baz';
- $param = new Parameter($this->data + ['path' => $path]);
-
- $this->assertEquals($path, $param->getPath());
- }
-
- public function test_it_verifies_a_given_location_with_a_boolean()
- {
- $this->assertFalse($this->param->hasLocation('foo'));
- $this->assertTrue($this->param->hasLocation('json'));
- }
-
- public function test_it_should_return_true_when_required_attributes_are_provided_and_match_their_definitions()
- {
- $this->assertTrue($this->param->validate('TestName'));
- }
-
- /**
- * @expectedException \Exception
- */
- public function test_it_throws_exception_when_values_do_not_match_their_definition_types()
- {
- $data = $this->api->postServer()['params']['networks'] + ['name' => 'networks'];
- $param = new Parameter($data);
-
- $param->validate('a_network!'); // should be an array
- }
-
- /**
- * @expectedException \Exception
- */
- public function test_it_throws_exception_when_deeply_nested_values_have_wrong_types()
- {
- $data = $this->api->postServer()['params']['networks'] + ['name' => 'networks'];
-
- $param = new Parameter($data);
- $param->validate(['name' => false]); // value should be a string, not bool
- }
-
- public function test_metadata_properties_are_handled_differently()
- {
- $params = [
- 'name' => 'metadata',
- 'type' => 'object',
- 'properties' => [
- 'type' => 'string',
- ],
- ];
-
- $userValues = ['some' => 'value'];
-
- $param = new Parameter($params);
- $this->assertTrue($param->validate($userValues));
- }
-
- public function test_it_passes_validation_when_array_values_pass()
- {
- $params = [
- 'name' => 'foo',
- 'type' => 'array',
- 'items' => ['type' => 'string'],
- ];
-
- $userVals = ['1', '2', '3'];
-
- $param = new Parameter($params);
- $this->assertTrue($param->validate($userVals));
- }
-
- /**
- * @expectedException \Exception
- */
- public function test_an_exception_is_thrown_when_an_undefined_property_is_provided()
- {
- $params = ['type' => 'object', 'properties' => ['foo' => ['type' => 'string']]];
- $userVals = ['bar' => 'baz'];
-
- $param = new Parameter($params);
- $param->validate($userVals);
- }
-
- public function test_it_passes_validation_when_all_subproperties_pass()
- {
- $params = ['type' => 'object', 'properties' => ['foo' => ['type' => 'string']]];
- $userVals = ['foo' => 'baz'];
-
- $param = new Parameter($params);
- $this->assertTrue($param->validate($userVals));
- }
-
- public function test_it_sets_name()
- {
- $this->param->setName('foo');
- $this->assertEquals($this->param->getName(), 'foo');
- }
-
- public function test_it_gets_property()
- {
- $property = new Parameter([
- 'name' => 'metadata',
- 'properties' => [
- 'type' => 'string',
- 'prefix' => 'foo',
- ],
- ]);
-
- $prop = $property->getProperty('metadata');
-
- $this->assertInstanceOf(Parameter::class, $prop);
- $this->assertEquals('foo', $prop->getPrefix());
- }
-
- public function test_it_gets_prefixed_name()
- {
- $property = new Parameter([
- 'name' => 'metadata',
- 'prefix' => 'foo-',
- ]);
-
- $this->assertEquals('foo-metadata', $property->getPrefixedName());
- }
-
- /**
- * @expectedException \Exception
- */
- public function test_exception_is_thrown_when_value_is_not_in_enum_list()
- {
- $data = $this->data;
- $data['enum'] = ['foo'];
-
- $param = new Parameter($data);
- $param->validate('blah');
- }
-}
diff --git a/server/vendor/php-opencloud/common/tests/unit/Common/Api/fixtures/headers.php b/server/vendor/php-opencloud/common/tests/unit/Common/Api/fixtures/headers.php
deleted file mode 100755
index f428992..0000000
--- a/server/vendor/php-opencloud/common/tests/unit/Common/Api/fixtures/headers.php
+++ /dev/null
@@ -1,25 +0,0 @@
-<?php
-
-return [
- 'method' => 'POST',
- 'path' => 'something',
- 'params' => [
- 'name' => [
- 'type' => 'string',
- 'location' => 'header',
- 'sentAs' => 'X-Foo-Name'
- ],
- 'age' => [
- 'type' => 'integer',
- 'location' => 'header'
- ],
- 'metadata' => [
- 'type' => 'object',
- 'location' => 'header',
- 'items' => [
- 'prefix' => 'X-Meta-'
- ]
- ],
- 'other' => ['type' => 'string'] // should not be a header
- ],
-];
diff --git a/server/vendor/php-opencloud/common/tests/unit/Common/Api/fixtures/jsonBody.php b/server/vendor/php-opencloud/common/tests/unit/Common/Api/fixtures/jsonBody.php
deleted file mode 100755
index 350affd..0000000
--- a/server/vendor/php-opencloud/common/tests/unit/Common/Api/fixtures/jsonBody.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-return [
- 'method' => 'POST',
- 'path' => 'something',
- 'params' => [
- 'name' => [
- 'type' => 'string',
- 'sentAs' => 'server_name',
- ],
- 'other' => [
- 'type' => 'array',
- 'sentAs' => 'other_params',
- 'items' => [
- 'type' => 'string'
- ]
- ],
- 'etc' => [
- 'type' => 'object',
- 'sentAs' => 'etcetc',
- 'properties' => [
- 'dob' => ['type' => 'string'],
- 'age' => ['type' => 'integer', 'sentAs' => 'current_age'],
- ]
- ],
- ],
-];