diff options
author | Roeland Jago Douma <roeland@famdouma.nl> | 2016-09-05 21:00:53 +0200 |
---|---|---|
committer | Roeland Jago Douma <roeland@famdouma.nl> | 2016-09-06 11:57:39 +0200 |
commit | 3c55fe6bab73dabfb92e95e26f205fbb7b5781ec (patch) | |
tree | 4ee9ae8be1e3046cb98b0bd92e800853fdd5eaa8 /tests/lib/AppFramework/Controller | |
parent | 314afcecf9080c78f485039852e30efee2e112c6 (diff) | |
download | nextcloud-server-3c55fe6bab73dabfb92e95e26f205fbb7b5781ec.tar.gz nextcloud-server-3c55fe6bab73dabfb92e95e26f205fbb7b5781ec.zip |
Split OCS version handling
This cleans up a bit the OCSController/Middleware. Since the 2 versions
of OCS differ a bit. Moved a lot of stuff internal since it is of no
concern to the outside.
Diffstat (limited to 'tests/lib/AppFramework/Controller')
-rw-r--r-- | tests/lib/AppFramework/Controller/OCSControllerTest.php | 63 |
1 files changed, 57 insertions, 6 deletions
diff --git a/tests/lib/AppFramework/Controller/OCSControllerTest.php b/tests/lib/AppFramework/Controller/OCSControllerTest.php index 9c9214181a4..c1f8e4a6574 100644 --- a/tests/lib/AppFramework/Controller/OCSControllerTest.php +++ b/tests/lib/AppFramework/Controller/OCSControllerTest.php @@ -27,6 +27,8 @@ namespace Test\AppFramework\Controller; use OC\AppFramework\Http\Request; use OCP\AppFramework\Http\DataResponse; use OCP\AppFramework\OCSController; +use OCP\IConfig; +use OCP\Security\ISecureRandom; class ChildOCSController extends OCSController {} @@ -40,10 +42,10 @@ class OCSControllerTest extends \Test\TestCase { 'HTTP_ORIGIN' => 'test', ], ], - $this->getMockBuilder('\OCP\Security\ISecureRandom') + $this->getMockBuilder(ISecureRandom::class) ->disableOriginalConstructor() ->getMock(), - $this->getMockBuilder('\OCP\IConfig') + $this->getMockBuilder(IConfig::class) ->disableOriginalConstructor() ->getMock() ); @@ -65,13 +67,15 @@ class OCSControllerTest extends \Test\TestCase { public function testXML() { $controller = new ChildOCSController('app', new Request( [], - $this->getMockBuilder('\OCP\Security\ISecureRandom') + $this->getMockBuilder(ISecureRandom::class) ->disableOriginalConstructor() ->getMock(), - $this->getMockBuilder('\OCP\IConfig') + $this->getMockBuilder(IConfig::class) ->disableOriginalConstructor() ->getMock() )); + $controller->setOCSVersion(1); + $expected = "<?xml version=\"1.0\"?>\n" . "<ocs>\n" . " <meta>\n" . @@ -95,13 +99,14 @@ class OCSControllerTest extends \Test\TestCase { public function testJSON() { $controller = new ChildOCSController('app', new Request( [], - $this->getMockBuilder('\OCP\Security\ISecureRandom') + $this->getMockBuilder(ISecureRandom::class) ->disableOriginalConstructor() ->getMock(), - $this->getMockBuilder('\OCP\IConfig') + $this->getMockBuilder(IConfig::class) ->disableOriginalConstructor() ->getMock() )); + $controller->setOCSVersion(1); $expected = '{"ocs":{"meta":{"status":"ok","statuscode":100,"message":"OK",' . '"totalitems":"","itemsperpage":""},"data":{"test":"hi"}}}'; $params = new DataResponse(['test' => 'hi']); @@ -110,5 +115,51 @@ class OCSControllerTest extends \Test\TestCase { $this->assertEquals($expected, $out); } + public function testXMLV2() { + $controller = new ChildOCSController('app', new Request( + [], + $this->getMockBuilder(ISecureRandom::class) + ->disableOriginalConstructor() + ->getMock(), + $this->getMockBuilder(IConfig::class) + ->disableOriginalConstructor() + ->getMock() + )); + $controller->setOCSVersion(2); + + $expected = "<?xml version=\"1.0\"?>\n" . + "<ocs>\n" . + " <meta>\n" . + " <status>ok</status>\n" . + " <statuscode>200</statuscode>\n" . + " <message>OK</message>\n" . + " </meta>\n" . + " <data>\n" . + " <test>hi</test>\n" . + " </data>\n" . + "</ocs>\n"; + + $params = new DataResponse(['test' => 'hi']); + + $out = $controller->buildResponse($params, 'xml')->render(); + $this->assertEquals($expected, $out); + } + + public function testJSONV2() { + $controller = new ChildOCSController('app', new Request( + [], + $this->getMockBuilder(ISecureRandom::class) + ->disableOriginalConstructor() + ->getMock(), + $this->getMockBuilder(IConfig::class) + ->disableOriginalConstructor() + ->getMock() + )); + $controller->setOCSVersion(2); + $expected = '{"ocs":{"meta":{"status":"ok","statuscode":200,"message":"OK"},"data":{"test":"hi"}}}'; + $params = new DataResponse(['test' => 'hi']); + $out = $controller->buildResponse($params, 'json')->render(); + $this->assertEquals($expected, $out); + } } |