diff --git a/tests/legacy/ApiTest.php b/tests/legacy/ApiTest.php index bc2837225..e4427c919 100644 --- a/tests/legacy/ApiTest.php +++ b/tests/legacy/ApiTest.php @@ -8,7 +8,6 @@ namespace Friendica\Test\legacy; use Friendica\App; use Friendica\Core\Config\Capability\IManageConfigValues; use Friendica\DI; -use Friendica\Module\Api\ApiResponse; use Friendica\Module\BaseApi; use Friendica\Security\BasicAuth; use Friendica\Test\FixtureTest; @@ -536,107 +535,7 @@ class ApiTest extends FixtureTest ); } - /** - * Test the BaseApi::reformatXML() function. - * - * @return void - */ - public function testApiReformatXml() - { - $item = true; - $key = ''; - self::assertTrue(ApiResponse::reformatXML($item, $key)); - self::assertEquals('true', $item); - } - /** - * Test the BaseApi::reformatXML() function with a statusnet_api key. - * - * @return void - */ - public function testApiReformatXmlWithStatusnetKey() - { - $item = ''; - $key = 'statusnet_api'; - self::assertTrue(ApiResponse::reformatXML($item, $key)); - self::assertEquals('statusnet:api', $key); - } - - /** - * Test the BaseApi::reformatXML() function with a friendica_api key. - * - * @return void - */ - public function testApiReformatXmlWithFriendicaKey() - { - $item = ''; - $key = 'friendica_api'; - self::assertTrue(ApiResponse::reformatXML($item, $key)); - self::assertEquals('friendica:api', $key); - } - - /** - * Test the BaseApi::createXML() function. - * - * @return void - */ - public function testApiCreateXml() - { - self::assertEquals( - '' . "\n" . - '' . "\n" . - ' some_data' . "\n" . - '' . "\n", - DI::apiResponse()->createXML(['data' => ['some_data']], 'root_element') - ); - } - - /** - * Test the BaseApi::createXML() function without any XML namespace. - * - * @return void - */ - public function testApiCreateXmlWithoutNamespaces() - { - self::assertEquals( - '' . "\n" . - '' . "\n" . - ' some_data' . "\n" . - '' . "\n", - DI::apiResponse()->createXML(['data' => ['some_data']], 'ok') - ); - } - - /** - * Test the BaseApi::formatData() function. - * - * @return void - */ - public function testApiFormatData() - { - $data = ['some_data']; - self::assertEquals($data, DI::apiResponse()->formatData('root_element', 'json', $data)); - } - - /** - * Test the BaseApi::formatData() function with an XML result. - * - * @return void - */ - public function testApiFormatDataWithXml() - { - self::assertEquals( - '' . "\n" . - '' . "\n" . - ' some_data' . "\n" . - '' . "\n", - DI::apiResponse()->formatData('root_element', 'xml', ['data' => ['some_data']]) - ); - } /** * Test the api_format_items_embeded_images() function. @@ -653,38 +552,6 @@ class ApiTest extends FixtureTest */ } - /** - * Test the api_format_items_activities() function. - * - * @return void - */ - public function testApiFormatItemsActivities() - { - $item = ['uid' => 0, 'uri-id' => 1]; - $result = DI::friendicaActivities()->createFromUriId($item['uri-id'], $item['uid']); - self::assertArrayHasKey('like', $result); - self::assertArrayHasKey('dislike', $result); - self::assertArrayHasKey('attendyes', $result); - self::assertArrayHasKey('attendno', $result); - self::assertArrayHasKey('attendmaybe', $result); - } - - /** - * Test the api_format_items_activities() function with an XML result. - * - * @return void - */ - public function testApiFormatItemsActivitiesWithXml() - { - $item = ['uid' => 0, 'uri-id' => 1]; - $result = DI::friendicaActivities()->createFromUriId($item['uri-id'], $item['uid'], 'xml'); - self::assertArrayHasKey('friendica:like', $result); - self::assertArrayHasKey('friendica:dislike', $result); - self::assertArrayHasKey('friendica:attendyes', $result); - self::assertArrayHasKey('friendica:attendno', $result); - self::assertArrayHasKey('friendica:attendmaybe', $result); - } - /** * Test the api_format_items() function. * @doesNotPerformAssertions diff --git a/tests/src/Factory/Api/Twitter/ActvitiesTest.php b/tests/src/Factory/Api/Twitter/ActvitiesTest.php new file mode 100644 index 000000000..d21384329 --- /dev/null +++ b/tests/src/Factory/Api/Twitter/ActvitiesTest.php @@ -0,0 +1,48 @@ + 0, 'uri-id' => 1]; + + $friendicaActivitiesFac = new Activities(DI::logger(), DI::baseUrl(), DI::twitterUser()); + $result = $friendicaActivitiesFac->createFromUriId($item['uri-id'], $item['uid']); + + self::assertArrayHasKey('like', $result); + self::assertArrayHasKey('dislike', $result); + self::assertArrayHasKey('attendyes', $result); + self::assertArrayHasKey('attendno', $result); + self::assertArrayHasKey('attendmaybe', $result); + } + + /** + * Test the api_format_items_activities() function with an XML result. + * + * @return void + */ + public function testApiFormatItemsActivitiesWithXml() + { + $item = ['uid' => 0, 'uri-id' => 1]; + + $friendicaActivitiesFac = new Activities(DI::logger(), DI::baseUrl(), DI::twitterUser()); + $result = $friendicaActivitiesFac->createFromUriId($item['uri-id'], $item['uid'], 'xml'); + + self::assertArrayHasKey('friendica:like', $result); + self::assertArrayHasKey('friendica:dislike', $result); + self::assertArrayHasKey('friendica:attendyes', $result); + self::assertArrayHasKey('friendica:attendno', $result); + self::assertArrayHasKey('friendica:attendmaybe', $result); + } +} diff --git a/tests/src/Module/Api/ApiResponseTest.php b/tests/src/Module/Api/ApiResponseTest.php index 99e3a8d5d..3599b8f41 100644 --- a/tests/src/Module/Api/ApiResponseTest.php +++ b/tests/src/Module/Api/ApiResponseTest.php @@ -113,4 +113,150 @@ class ApiResponseTest extends MockedTest 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."}', $response->getContent()); } + + /** + * Test the BaseApi::reformatXML() function. + * + * @return void + */ + public function testApiReformatXml() + { + $item = true; + $key = ''; + self::assertTrue(ApiResponse::reformatXML($item, $key)); + self::assertEquals('true', $item); + } + + /** + * Test the BaseApi::reformatXML() function with a statusnet_api key. + * + * @return void + */ + public function testApiReformatXmlWithStatusnetKey() + { + $item = ''; + $key = 'statusnet_api'; + self::assertTrue(ApiResponse::reformatXML($item, $key)); + self::assertEquals('statusnet:api', $key); + } + + /** + * Test the BaseApi::reformatXML() function with a friendica_api key. + * + * @return void + */ + public function testApiReformatXmlWithFriendicaKey() + { + $item = ''; + $key = 'friendica_api'; + self::assertTrue(ApiResponse::reformatXML($item, $key)); + self::assertEquals('friendica:api', $key); + } + + /** + * Test the BaseApi::createXML() function. + * + * @return void + */ + public function testApiCreateXml() + { + $l10n = \Mockery::mock(L10n::class); + $l10n->shouldReceive('t')->andReturnUsing(function ($args) { + return $args; + }); + $args = \Mockery::mock(Arguments::class); + $args->shouldReceive('getQueryString')->andReturn(''); + $baseUrl = \Mockery::mock(BaseURL::class); + $twitterUser = \Mockery::mock(User::class); + + $response = new ApiResponse($l10n, $args, new NullLogger(), $baseUrl, $twitterUser); + + self::assertEquals( + '' . "\n" . + '' . "\n" . + ' some_data' . "\n" . + '' . "\n", + $response->createXML(['data' => ['some_data']], 'root_element') + ); + } + + /** + * Test the BaseApi::createXML() function without any XML namespace. + * + * @return void + */ + public function testApiCreateXmlWithoutNamespaces() + { + $l10n = \Mockery::mock(L10n::class); + $l10n->shouldReceive('t')->andReturnUsing(function ($args) { + return $args; + }); + $args = \Mockery::mock(Arguments::class); + $args->shouldReceive('getQueryString')->andReturn(''); + $baseUrl = \Mockery::mock(BaseURL::class); + $twitterUser = \Mockery::mock(User::class); + + $response = new ApiResponse($l10n, $args, new NullLogger(), $baseUrl, $twitterUser); + + self::assertEquals( + '' . "\n" . + '' . "\n" . + ' some_data' . "\n" . + '' . "\n", + $response->createXML(['data' => ['some_data']], 'ok') + ); + } + + /** + * Test the BaseApi::formatData() function. + * + * @return void + */ + public function testApiFormatData() + { + $l10n = \Mockery::mock(L10n::class); + $l10n->shouldReceive('t')->andReturnUsing(function ($args) { + return $args; + }); + $args = \Mockery::mock(Arguments::class); + $args->shouldReceive('getQueryString')->andReturn(''); + $baseUrl = \Mockery::mock(BaseURL::class); + $twitterUser = \Mockery::mock(User::class); + + $response = new ApiResponse($l10n, $args, new NullLogger(), $baseUrl, $twitterUser); + + $data = ['some_data']; + self::assertEquals($data, $response->formatData('root_element', 'json', $data)); + } + + /** + * Test the BaseApi::formatData() function with an XML result. + * + * @return void + */ + public function testApiFormatDataWithXml() + { + $l10n = \Mockery::mock(L10n::class); + $l10n->shouldReceive('t')->andReturnUsing(function ($args) { + return $args; + }); + $args = \Mockery::mock(Arguments::class); + $args->shouldReceive('getQueryString')->andReturn(''); + $baseUrl = \Mockery::mock(BaseURL::class); + $twitterUser = \Mockery::mock(User::class); + + $response = new ApiResponse($l10n, $args, new NullLogger(), $baseUrl, $twitterUser); + + self::assertEquals( + '' . "\n" . + '' . "\n" . + ' some_data' . "\n" . + '' . "\n", + $response->formatData('root_element', 'xml', ['data' => ['some_data']]) + ); + } }