summaryrefslogtreecommitdiff
path: root/server/vendor/php-opencloud/common/tests/unit/Common/Api/OperationTest.php
diff options
context:
space:
mode:
authormanzerbredes <loic.guegan_secondary@yahoo.fr>2016-03-15 16:17:39 +0100
committermanzerbredes <loic.guegan_secondary@yahoo.fr>2016-03-15 16:17:39 +0100
commit26d10bc0fa4befbac54453228ae1ce89021bdec2 (patch)
tree029d7240ecf7416205e5f76cf9107a6b5bdf8ca3 /server/vendor/php-opencloud/common/tests/unit/Common/Api/OperationTest.php
parent8ad216dedf017f3d6de047a25d08db3b98e16361 (diff)
parent03ef74d0cfe675a6e18a91f039182ca1b248d8f5 (diff)
Merge branch 'develop' into loic
Diffstat (limited to 'server/vendor/php-opencloud/common/tests/unit/Common/Api/OperationTest.php')
-rw-r--r--server/vendor/php-opencloud/common/tests/unit/Common/Api/OperationTest.php74
1 files changed, 74 insertions, 0 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
new file mode 100644
index 0000000..ea0f7c8
--- /dev/null
+++ b/server/vendor/php-opencloud/common/tests/unit/Common/Api/OperationTest.php
@@ -0,0 +1,74 @@
+<?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());
+ }
+}