diff --git a/src/Module/Api/ApiResponse.php b/src/Module/Api/ApiResponse.php index d0d03da994..c0ce7c756b 100644 --- a/src/Module/Api/ApiResponse.php +++ b/src/Module/Api/ApiResponse.php @@ -202,11 +202,9 @@ class ApiResponse break; case 'rss': $this->setHeader('Content-Type: application/rss+xml'); - $return = '' . "\n" . $return; break; case 'atom': $this->setHeader('Content-Type: application/atom+xml'); - $return = '' . "\n" . $return; break; } diff --git a/tests/legacy/ApiTest.php b/tests/legacy/ApiTest.php index 9bcf2e1164..73ea1b3327 100644 --- a/tests/legacy/ApiTest.php +++ b/tests/legacy/ApiTest.php @@ -622,30 +622,6 @@ class ApiTest extends FixtureTest ); } - /** - * Test the api_call() function with an unallowed method. - * - * @runInSeparateProcess - * @preserveGlobalState disabled - */ - public function testApiCallWithWrongMethod() - { - // Shouldn't be needed anymore due to the router? - /* - global $API; - $API['api_path'] = ['method' => 'method']; - - $_SERVER['QUERY_STRING'] = 'pagename=api_path'; - - $args = DI::args()->determine($_SERVER, $_GET); - - self::assertEquals( - '{"status":{"error":"Method Not Allowed","code":"405 Method Not Allowed","request":"api_path"}}', - api_call($this->app, $args) - ); - */ - } - /** * Test the api_call() function with an unauthorized user. * @@ -674,92 +650,6 @@ class ApiTest extends FixtureTest */ } - /** - * Test the api_error() function with a JSON result. - * - * @runInSeparateProcess - * @preserveGlobalState disabled - */ - public function testApiErrorWithJson() - { - // @todo How to test the new API? - // self::assertEquals( - // '{"status":{"error":"error_message","code":"200 OK","request":""}}', - // api_error('json', new HTTPException\OKException('error_message'), DI::args()) - // ); - } - - /** - * Test the api_error() function with an XML result. - * - * @runInSeparateProcess - * @preserveGlobalState disabled - */ - public function testApiErrorWithXml() - { - // @todo How to test the new API? - /* - self::assertEquals( - '' . "\n" . - '' . "\n" . - ' error_message' . "\n" . - ' 200 OK' . "\n" . - ' ' . "\n" . - '' . "\n", - api_error('xml', new HTTPException\OKException('error_message'), DI::args()) - ); - */ - } - - /** - * Test the api_error() function with an RSS result. - * - * @runInSeparateProcess - * @preserveGlobalState disabled - */ - public function testApiErrorWithRss() - { - // @todo How to test the new API? - /* - self::assertEquals( - '' . "\n" . - '' . "\n" . - ' error_message' . "\n" . - ' 200 OK' . "\n" . - ' ' . "\n" . - '' . "\n", - api_error('rss', new HTTPException\OKException('error_message'), DI::args()) - ); - */ - } - - /** - * Test the api_error() function with an Atom result. - * - * @runInSeparateProcess - * @preserveGlobalState disabled - */ - public function testApiErrorWithAtom() - { - // @todo How to test the new API? - /* - self::assertEquals( - '' . "\n" . - '' . "\n" . - ' error_message' . "\n" . - ' 200 OK' . "\n" . - ' ' . "\n" . - '' . "\n", - api_error('atom', new HTTPException\OKException('error_message'), DI::args()) - ); - */ - } /** * Test the api_rss_extra() function. diff --git a/tests/src/Module/Api/ApiResponseTest.php b/tests/src/Module/Api/ApiResponseTest.php new file mode 100644 index 0000000000..7499e9a35c --- /dev/null +++ b/tests/src/Module/Api/ApiResponseTest.php @@ -0,0 +1,93 @@ +shouldReceive('getQueryString')->andReturn(''); + + $response = new ApiResponseDouble($l10n, $args, new NullLogger()); + $response->error(200, 'OK', 'error_message', 'json'); + + self::assertEquals('{"error":"error_message","code":"200 OK","request":""}', ApiResponseDouble::getOutput()); + } + + public function testErrorWithXml() + { + $l10n = \Mockery::mock(L10n::class); + $args = \Mockery::mock(Arguments::class); + $args->shouldReceive('getQueryString')->andReturn(''); + + $response = new ApiResponseDouble($l10n, $args, new NullLogger()); + $response->error(200, 'OK', 'error_message', 'xml'); + + self::assertEquals('' . "\n" . + '' . "\n" . + ' error_message' . "\n" . + ' 200 OK' . "\n" . + ' ' . "\n" . + '' . "\n", + ApiResponseDouble::getOutput()); + } + + public function testErrorWithRss() + { + $l10n = \Mockery::mock(L10n::class); + $args = \Mockery::mock(Arguments::class); + $args->shouldReceive('getQueryString')->andReturn(''); + + $response = new ApiResponseDouble($l10n, $args, new NullLogger()); + $response->error(200, 'OK', 'error_message', 'rss'); + + self::assertEquals( + '' . "\n" . + '' . "\n" . + ' error_message' . "\n" . + ' 200 OK' . "\n" . + ' ' . "\n" . + '' . "\n", + ApiResponseDouble::getOutput()); + } + + public function testErrorWithAtom() + { + $l10n = \Mockery::mock(L10n::class); + $args = \Mockery::mock(Arguments::class); + $args->shouldReceive('getQueryString')->andReturn(''); + + $response = new ApiResponseDouble($l10n, $args, new NullLogger()); + $response->error(200, 'OK', 'error_message', 'atom'); + + self::assertEquals( + '' . "\n" . + '' . "\n" . + ' error_message' . "\n" . + ' 200 OK' . "\n" . + ' ' . "\n" . + '' . "\n", + ApiResponseDouble::getOutput()); + } +}