use Friendica\App\Arguments;
use Friendica\Core\L10n;
-use Friendica\Core\System;
-use Friendica\Object\Api\Mastodon\Error;
use Friendica\Util\Arrays;
use Friendica\Util\HTTPInputData;
use Friendica\Util\XML;
]);
$error = $this->l10n->t('API endpoint %s %s is not implemented', strtoupper($method), $path);
$error_description = $this->l10n->t('The API endpoint is currently not implemented but might be in the future.');
- $errorobj = new Error($error, $error_description);
- System::jsonError(501, $errorobj->toArray());
+
+ $this->exit('error', ['error' => ['error' => $error, 'error_description' => $error_description]]);
}
}
*/
}
- /**
- * Test the api_call() function with an unimplemented API.
- *
- * @runInSeparateProcess
- * @preserveGlobalState disabled
- */
- public function testApiCallWithUninplementedApi()
- {
- // @todo How to test the new API?
- /*
- self::assertEquals(
- '{"status":{"error":"Not Found","code":"404 Not Found","request":""}}',
- api_call($this->app)
- );
- */
- }
-
/**
* Test the api_call() function with a JSON result.
*
);
}
- /**
- * Test the api_call() function with an unauthorized user.
- *
- * @runInSeparateProcess
- * @preserveGlobalState disabled
- */
- public function testApiCallWithWrongAuth()
- {
- // @todo How to test the new API?
- /*
- global $API;
- $API['api_path'] = [
- 'method' => 'method',
- 'auth' => true
- ];
- $_SESSION['authenticated'] = false;
- $_SERVER['REQUEST_METHOD'] = 'method';
- $_SERVER['QUERY_STRING'] = 'pagename=api_path';
-
- $args = DI::args()->determine($_SERVER, $_GET);
-
- self::assertEquals(
- '{"status":{"error":"This API requires login","code":"401 Unauthorized","request":"api_path"}}',
- api_call($this->app, $args)
- );
- */
- }
-
-
/**
* Test the api_rss_extra() function.
*
'</status>' . "\n",
ApiResponseDouble::getOutput());
}
+
+ public function testUnsupported()
+ {
+ $l10n = \Mockery::mock(L10n::class);
+ $l10n->shouldReceive('t')->andReturnUsing(function ($args) {
+ return $args;
+ });
+ $args = \Mockery::mock(Arguments::class);
+ $args->shouldReceive('getQueryString')->andReturn('');
+
+ $response = new ApiResponseDouble($l10n, $args, new NullLogger());
+ $response->unsupported();
+
+ self::assertEquals('{"error":"API endpoint %s %s is not implemented","error_description":"The API endpoint is currently not implemented but might be in the future."}', ApiResponseDouble::getOutput());
+ }
}
{
self::markTestIncomplete('Needs BasicAuth as dynamic method for overriding first');
+ /*
$this->expectException(BadRequestException::class);
DI::session()->set('uid', '');
Notification::rawContent();
+ */
}
public function testWithoutAuthenticatedUser()
{
self::markTestIncomplete('Needs BasicAuth as dynamic method for overriding first');
+ /*
$this->expectException(BadRequestException::class);
DI::session()->set('uid', 41);
Notification::rawContent();
+ */
}
public function testWithXmlResult()
--- /dev/null
+<?php
+
+namespace Friendica\Test\src\Module;
+
+use Friendica\Test\src\Module\Api\ApiTest;
+
+class BaseApiTest extends ApiTest
+{
+ public function withWrongAuth()
+ {
+ self::markTestIncomplete('Needs BasicAuth as dynamic method for overriding first');
+
+ /*
+ global $API;
+ $API['api_path'] = [
+ 'method' => 'method',
+ 'auth' => true
+ ];
+ $_SESSION['authenticated'] = false;
+ $_SERVER['REQUEST_METHOD'] = 'method';
+ $_SERVER['QUERY_STRING'] = 'pagename=api_path';
+
+ $args = DI::args()->determine($_SERVER, $_GET);
+
+ self::assertEquals(
+ '{"status":{"error":"This API requires login","code":"401 Unauthorized","request":"api_path"}}',
+ api_call($this->app, $args)
+ );
+ */
+ }
+}