expectException(BadRequestException::class); (new Upload(DI::app(), DI::l10n(), DI::baseUrl(), DI::args(), DI::logger(), DI::profiler(), DI::apiResponse(), ['REQUEST_METHOD' => Router::POST])) ->run(); } /** * Test the \Friendica\Module\Api\Twitter\Media\Upload module without an authenticated user. * * @return void */ public function testApiMediaUploadWithoutAuthenticatedUser() { $this->expectException(UnauthorizedException::class); AuthTestConfig::$authenticated = false; (new Upload(DI::app(), DI::l10n(), DI::baseUrl(), DI::args(), DI::logger(), DI::profiler(), DI::apiResponse(), ['REQUEST_METHOD' => Router::POST])) ->run(); } /** * Test the \Friendica\Module\Api\Twitter\Media\Upload module with an invalid uploaded media. * * @return void */ public function testApiMediaUploadWithMedia() { $this->expectException(InternalServerErrorException::class); $_FILES = [ 'media' => [ 'id' => 666, 'tmp_name' => 'tmp_name' ] ]; (new Upload(DI::app(), DI::l10n(), DI::baseUrl(), DI::args(), DI::logger(), DI::profiler(), DI::apiResponse(), ['REQUEST_METHOD' => Router::POST])) ->run(); } /** * Test the \Friendica\Module\Api\Twitter\Media\Upload module with an valid uploaded media. * * @return void */ public function testApiMediaUploadWithValidMedia() { $_FILES = [ 'media' => [ 'id' => 666, 'size' => 666, 'width' => 666, 'height' => 666, 'tmp_name' => $this->getTempImage(), 'name' => 'spacer.png', 'type' => 'image/png' ] ]; $response = (new Upload(DI::app(), DI::l10n(), DI::baseUrl(), DI::args(), DI::logger(), DI::profiler(), DI::apiResponse(), ['REQUEST_METHOD' => Router::POST])) ->run(); $media = $this->toJson($response); self::assertEquals('image/png', $media->image->image_type); self::assertEquals(1, $media->image->w); self::assertEquals(1, $media->image->h); self::assertNotEmpty($media->image->friendica_preview_url); } }