diff --git a/Classes/DataProvider/DataProvider.php b/Classes/DataProvider/DataProvider.php index 9113c933..7004b870 100644 --- a/Classes/DataProvider/DataProvider.php +++ b/Classes/DataProvider/DataProvider.php @@ -8,6 +8,7 @@ use TYPO3\CMS\Core\Log\LogLevel; use TYPO3\CMS\Core\Utility\GeneralUtility; use TYPO3\CMS\Extbase\DomainObject\DomainObjectInterface; +use TYPO3\CMS\Extbase\Persistence\Generic\QuerySettingsInterface; use TYPO3\CMS\Extbase\Persistence\PersistenceManagerInterface; use TYPO3\CMS\Extbase\Persistence\QueryResultInterface; use TYPO3\CMS\Extbase\Property\Exception as ExtbaseException; @@ -97,9 +98,9 @@ public function getRepositoryForResourceType(ResourceType $resourceType) $repositoryClass = $this->getRepositoryClassForResourceType($resourceType); /** @var \TYPO3\CMS\Extbase\Persistence\RepositoryInterface $repository */ $repository = $this->objectManager->get($repositoryClass); - $repository->setDefaultQuerySettings( - $this->objectManager->get(RestQuerySettings::class) - ); + /** @var QuerySettingsInterface $defaultQuerySettings */ + $defaultQuerySettings = $this->objectManager->get(RestQuerySettings::class); + $repository->setDefaultQuerySettings($defaultQuerySettings); return $repository; } diff --git a/Classes/ObjectManager.php b/Classes/ObjectManager.php index 3f629e52..8eec641f 100644 --- a/Classes/ObjectManager.php +++ b/Classes/ObjectManager.php @@ -165,13 +165,21 @@ public function getAuthenticationProvider() $this->authenticationProvider = $this->get($authenticationProviderClass); } else { // Use the default Authentication Provider - $this->authenticationProvider = $this->get( + $this->authenticationProvider = call_user_func( + [$this, 'get'], AuthenticationProviderCollection::class, [ $this->get(BasicAuthenticationProvider::class), $this->get(CredentialsAuthenticationProvider::class), ] ); +// $this->authenticationProvider = $this->get( +// AuthenticationProviderCollection::class, +// [ +// $this->get(BasicAuthenticationProvider::class), +// $this->get(CredentialsAuthenticationProvider::class), +// ] +// ); } } diff --git a/Classes/ResponseFactory.php b/Classes/ResponseFactory.php index 3a5ef359..7e50014a 100644 --- a/Classes/ResponseFactory.php +++ b/Classes/ResponseFactory.php @@ -5,6 +5,8 @@ use Cundd\Rest\Http\Header; use Cundd\Rest\Http\RestRequestInterface; use Psr\Http\Message\ResponseInterface; +use TYPO3\CMS\Core\Http\Response as TYPO3Response; +use Zend\Diactoros\Response as ZendResponse; /** * Factory class to create Response objects @@ -136,11 +138,11 @@ private function createFormattedResponse($data, $status, $forceError, RestReques */ private function getResponseImplementationClass() { - if (class_exists(\TYPO3\CMS\Core\Http\Response::class)) { - return \TYPO3\CMS\Core\Http\Response::class; + if (class_exists(TYPO3Response::class)) { + return TYPO3Response::class; } - if (class_exists(\Zend\Diactoros\Response::class)) { - return \Zend\Diactoros\Response::class; + if (class_exists(ZendResponse::class)) { + return ZendResponse::class; } throw new \LogicException('No response implementation found'); } diff --git a/Classes/Utility/Profiler.php b/Classes/Utility/Profiler.php index 5a461b8c..442e6504 100644 --- a/Classes/Utility/Profiler.php +++ b/Classes/Utility/Profiler.php @@ -36,7 +36,7 @@ class Profiler protected $outputHandler; /** - * @param resource|object $outputHandler Output handler to use + * @param resource|object|bool $outputHandler Output handler to use */ public function __construct($outputHandler = STDOUT) { diff --git a/Tests/Functional/AbstractCase.php b/Tests/Functional/AbstractCase.php index be7dd3b6..afbd2848 100644 --- a/Tests/Functional/AbstractCase.php +++ b/Tests/Functional/AbstractCase.php @@ -6,15 +6,17 @@ use Cundd\Rest\Tests\ClassBuilderTrait; use Cundd\Rest\Tests\RequestBuilderTrait; use Cundd\Rest\Tests\ResponseBuilderTrait; +use TYPO3\CMS\Core\Tests\FunctionalTestCase; +use TYPO3\CMS\Extbase\Object\ObjectManager; -class AbstractCase extends \TYPO3\CMS\Core\Tests\FunctionalTestCase +class AbstractCase extends FunctionalTestCase { use ResponseBuilderTrait; use RequestBuilderTrait; use ClassBuilderTrait; /** - * @var \TYPO3\CMS\Extbase\Object\ObjectManager + * @var ObjectManager */ protected $objectManager; @@ -24,7 +26,7 @@ public function setUp() $_SERVER['HTTP_HOST'] = 'rest.cundd.net'; - $this->objectManager = new \TYPO3\CMS\Extbase\Object\ObjectManager(); + $this->objectManager = new ObjectManager(); } /** @@ -36,7 +38,7 @@ public function setUp() */ public function buildRequestWithUri($uri, $format = null) { - return \Cundd\Rest\Tests\RequestBuilderTrait::buildTestRequest( + return RequestBuilderTrait::buildTestRequest( $uri, null, // $method [], // $params diff --git a/Tests/Functional/Cache/CacheTest.php b/Tests/Functional/Cache/CacheTest.php index 1bf1ada9..c7a6dae7 100644 --- a/Tests/Functional/Cache/CacheTest.php +++ b/Tests/Functional/Cache/CacheTest.php @@ -11,6 +11,7 @@ use Cundd\Rest\Http\Header; use Cundd\Rest\Http\RestRequestInterface; use Cundd\Rest\Tests\Functional\AbstractCase; +use Cundd\Rest\Tests\RequestBuilderTrait; use Psr\Http\Message\ResponseInterface; /** @@ -205,7 +206,7 @@ public function canBeCachedTest(array $header, $expected) */ public function postRequestCanNotBeCachedTest() { - $request = \Cundd\Rest\Tests\RequestBuilderTrait::buildTestRequest('MyAliasedModel', 'POST'); + $request = RequestBuilderTrait::buildTestRequest('MyAliasedModel', 'POST'); $response = $this->buildTestResponse(200, [], 'Test content'); $this->assertFalse($this->fixture->canBeCached($request, $response)); diff --git a/Tests/Functional/Core/ObjectManagerTest.php b/Tests/Functional/Core/ObjectManagerTest.php index 2cf5f4c7..0c13cd51 100644 --- a/Tests/Functional/Core/ObjectManagerTest.php +++ b/Tests/Functional/Core/ObjectManagerTest.php @@ -10,12 +10,13 @@ namespace Cundd\Rest\Tests\Functional\Core; +use Cundd\Rest\ObjectManager; use Cundd\Rest\Tests\Functional\AbstractCase; class ObjectManagerTest extends AbstractCase { /** - * @var \Cundd\Rest\ObjectManager + * @var ObjectManager */ protected $fixture; @@ -23,7 +24,7 @@ public function setUp() { parent::setUp(); require_once __DIR__ . '/../../FixtureClasses.php'; - $this->fixture = new \Cundd\Rest\ObjectManager(); + $this->fixture = new ObjectManager(); } public function tearDown() diff --git a/Tests/Functional/VirtualObject/AbstractDatabaseCase.php b/Tests/Functional/VirtualObject/AbstractDatabaseCase.php index e85b92b6..38968dc5 100644 --- a/Tests/Functional/VirtualObject/AbstractDatabaseCase.php +++ b/Tests/Functional/VirtualObject/AbstractDatabaseCase.php @@ -54,7 +54,7 @@ protected function getTestConfiguration() { $testConfiguration = $this->getTestConfigurationData(); - return new \Cundd\Rest\VirtualObject\Configuration($testConfiguration['ResourceType']['mapping']); + return new Configuration($testConfiguration['ResourceType']['mapping']); } /** diff --git a/Tests/Functional/VirtualObject/AbstractVirtualObjectCase.php b/Tests/Functional/VirtualObject/AbstractVirtualObjectCase.php index 1937b670..d11716a7 100644 --- a/Tests/Functional/VirtualObject/AbstractVirtualObjectCase.php +++ b/Tests/Functional/VirtualObject/AbstractVirtualObjectCase.php @@ -5,6 +5,7 @@ use Cundd\Rest\Tests\Functional\AbstractCase; use Cundd\Rest\VirtualObject\Configuration; +use Cundd\Rest\VirtualObject\ConfigurationFactory; /** @@ -26,8 +27,8 @@ protected function getTestConfiguration() { $testConfiguration = $this->getTestConfigurationData(); - return new \Cundd\Rest\VirtualObject\Configuration( - \Cundd\Rest\VirtualObject\ConfigurationFactory::preparePropertyMapping( + return new Configuration( + ConfigurationFactory::preparePropertyMapping( $testConfiguration['resource_type']['mapping'] ) ); diff --git a/Tests/Functional/VirtualObject/ConfigurationTest.php b/Tests/Functional/VirtualObject/ConfigurationTest.php index 62ad57f4..35811470 100644 --- a/Tests/Functional/VirtualObject/ConfigurationTest.php +++ b/Tests/Functional/VirtualObject/ConfigurationTest.php @@ -3,6 +3,9 @@ namespace Cundd\Rest\Tests\Functional\VirtualObject; +use Cundd\Rest\VirtualObject\Configuration; +use Cundd\Rest\VirtualObject\ConfigurationFactory; + require_once __DIR__ . '/AbstractVirtualObjectCase.php'; /** @@ -11,7 +14,7 @@ class ConfigurationTest extends AbstractVirtualObjectCase { /** - * @var \Cundd\Rest\VirtualObject\Configuration + * @var Configuration */ protected $fixture; @@ -20,8 +23,8 @@ public function setUp() parent::setUp(); $testConfiguration = $this->getTestConfigurationData(); - $this->fixture = new \Cundd\Rest\VirtualObject\Configuration( - \Cundd\Rest\VirtualObject\ConfigurationFactory::preparePropertyMapping( + $this->fixture = new Configuration( + ConfigurationFactory::preparePropertyMapping( $testConfiguration['resource_type']['mapping'] ) ); @@ -111,7 +114,7 @@ public function hasSourceKeyTest() public function getConfigurationForPropertyTest() { $testPropertyConfiguration = [ - 'type' => 'string', + 'type' => 'string', 'column' => 'property_one', ]; $propertyConfiguration = $this->fixture->getConfigurationForProperty('property1'); diff --git a/Tests/Unit/Core/RequestFactoryTest.php b/Tests/Unit/Core/RequestFactoryTest.php index 5c438a4e..073436a1 100755 --- a/Tests/Unit/Core/RequestFactoryTest.php +++ b/Tests/Unit/Core/RequestFactoryTest.php @@ -10,6 +10,7 @@ use Cundd\Rest\RequestFactoryInterface; use Prophecy\Argument; use Prophecy\Prophecy\ObjectProphecy; +use Zend\Diactoros\ServerRequestFactory; /** @@ -369,6 +370,10 @@ public function urlAndPathShouldNotIncludeQueryDataFromRequestUriTest() /** * @test * @dataProvider createRequestTestDataProvider + * @param $input + * @param $resourceType + * @param $path + * @param $format */ public function createRequestTest($input, $resourceType, $path, $format) { @@ -415,10 +420,6 @@ function ($args) use ($configurationProviderSetting) { if (isset($args[0])) { $key = $args[0]; -// echo __LINE__.' ';var_dump($key); -// echo __LINE__.' ';var_dump($configurationProviderSetting); -// echo __LINE__.' ';var_dump(isset($configurationProviderSetting[$key])); - return isset($configurationProviderSetting[$key]) ? $configurationProviderSetting[$key] : null; } @@ -428,6 +429,6 @@ function ($args) use ($configurationProviderSetting) { $_SERVER['SERVER_NAME'] = 'rest.cundd.net'; - return new RequestFactory($configurationProviderMock->reveal(), \Zend\Diactoros\ServerRequestFactory::class); + return new RequestFactory($configurationProviderMock->reveal(), ServerRequestFactory::class); } } diff --git a/Tests/Unit/Router/ResultConverterTest.php b/Tests/Unit/Router/ResultConverterTest.php index a3ebaa58..23f53eb6 100644 --- a/Tests/Unit/Router/ResultConverterTest.php +++ b/Tests/Unit/Router/ResultConverterTest.php @@ -3,7 +3,6 @@ namespace Cundd\Rest\Tests\Unit\Router; -use Cundd\Rest\RequestFactoryInterface; use Cundd\Rest\ResponseFactory; use Cundd\Rest\ResponseFactoryInterface; use Cundd\Rest\Router\Exception\NotFoundException; @@ -41,7 +40,7 @@ class ResultConverterTest extends \PHPUnit_Framework_TestCase protected function setUp() { parent::setUp(); - $this->responseFactory = new ResponseFactory($this->prophesize(RequestFactoryInterface::class)->reveal()); + $this->responseFactory = new ResponseFactory(); $this->exceptionHandler = function () { }; }