typo3Client = $this->getMockBuilder(HttpClientInterface::class)->disableOriginalConstructor()->getMock(); } public function testSendCommand(): void { $response = $this->getMockBuilder(ResponseInterface::class)->disableOriginalConstructor()->getMock(); $this->typo3Client ->expects(self::once()) ->method('request') ->with('GET', '/typo3/index.php?route=foo¶m=bar') ->willReturn($response); $typo3Service = $this->getMockBuilder(TestableTypo3Service::class) ->setConstructorArgs([$this->typo3Client]) ->setMethodsExcept(['sendCommand']) ->getMock(); $typo3Service->sendCommand('foo', ['param' => 'bar']); } public function testCreateSite(): void { $typo3Service = $this->getMockBuilder(TestableTypo3Service::class) ->setMethodsExcept(['createSite']) ->disableOriginalConstructor() ->getMock(); $response = $this->getMockBuilder(ResponseInterface::class)->disableOriginalConstructor()->getMock(); $typo3Service->expects(self::once()) ->method('sendCommand')-> with('/otadmin/site/create', ['organization-id' => 1]) ->willReturn($response); $typo3Service->createSite(1); } public function testClearSiteCache(): void { $typo3Service = $this->getMockBuilder(TestableTypo3Service::class) ->setMethodsExcept(['updateSite']) ->disableOriginalConstructor() ->getMock(); $response = $this->getMockBuilder(ResponseInterface::class)->disableOriginalConstructor()->getMock(); $typo3Service->expects(self::once()) ->method('sendCommand')-> with('/otadmin/site/update', ['organization-id' => 1]) ->willReturn($response); $typo3Service->updateSite(1); } public function testDeleteSite(): void { $typo3Service = $this->getMockBuilder(TestableTypo3Service::class) ->setMethodsExcept(['deleteSite']) ->disableOriginalConstructor() ->getMock(); $response = $this->getMockBuilder(ResponseInterface::class)->disableOriginalConstructor()->getMock(); $typo3Service->expects(self::once()) ->method('sendCommand')-> with('/otadmin/site/delete', ['organization-id' => 1]) ->willReturn($response); $typo3Service->deleteSite(1); } public function testUndeleteSite(): void { $typo3Service = $this->getMockBuilder(TestableTypo3Service::class) ->setMethodsExcept(['undeleteSite']) ->disableOriginalConstructor() ->getMock(); $response = $this->getMockBuilder(ResponseInterface::class)->disableOriginalConstructor()->getMock(); $typo3Service->expects(self::once()) ->method('sendCommand')-> with('/otadmin/site/undelete', ['organization-id' => 1]) ->willReturn($response); $typo3Service->undeleteSite(1); } public function testSetSiteDomain(): void { $typo3Service = $this->getMockBuilder(TestableTypo3Service::class) ->setMethodsExcept(['setSiteDomain']) ->disableOriginalConstructor() ->getMock(); $response = $this->getMockBuilder(ResponseInterface::class)->disableOriginalConstructor()->getMock(); $typo3Service->expects(self::once()) ->method('sendCommand')-> with('/otadmin/site/set-domain', ['organization-id' => 1, 'domain' => 'new-domain']) ->willReturn($response); $typo3Service->setSiteDomain(1, 'new-domain', false); } public function testSetSiteDomainWithRedirection(): void { $typo3Service = $this->getMockBuilder(TestableTypo3Service::class) ->setMethodsExcept(['setSiteDomain']) ->disableOriginalConstructor() ->getMock(); $response = $this->getMockBuilder(ResponseInterface::class)->disableOriginalConstructor()->getMock(); $typo3Service->expects(self::once()) ->method('sendCommand')-> with('/otadmin/site/set-domain', ['organization-id' => 1, 'domain' => 'new-domain', 'redirect' => 1]) ->willReturn($response); $typo3Service->setSiteDomain(1, 'new-domain', true); } public function testResetSitePerms(): void { $typo3Service = $this->getMockBuilder(TestableTypo3Service::class) ->setMethodsExcept(['resetSitePerms']) ->disableOriginalConstructor() ->getMock(); $response = $this->getMockBuilder(ResponseInterface::class)->disableOriginalConstructor()->getMock(); $typo3Service->expects(self::once()) ->method('sendCommand')-> with('/otadmin/site/reset-perms', ['organization-id' => 1]) ->willReturn($response); $typo3Service->resetSitePerms(1); } public function testGetSiteStatus(): void { $typo3Service = $this->getMockBuilder(TestableTypo3Service::class) ->setMethodsExcept(['getSiteStatus']) ->disableOriginalConstructor() ->getMock(); $response = $this->getMockBuilder(ResponseInterface::class)->disableOriginalConstructor()->getMock(); $typo3Service->expects(self::once()) ->method('sendCommand')-> with('/otadmin/site/status', ['organization-id' => 1]) ->willReturn($response); $typo3Service->getSiteStatus(1); } public function testAddRedirection(): void { $typo3Service = $this->getMockBuilder(TestableTypo3Service::class) ->setMethodsExcept(['addRedirection']) ->disableOriginalConstructor() ->getMock(); $response = $this->getMockBuilder(ResponseInterface::class)->disableOriginalConstructor()->getMock(); $typo3Service->expects(self::once()) ->method('sendCommand')-> with('/otadmin/redirect/add', ['from-domain' => 'foo', 'to-domain' => 'bar']) ->willReturn($response); $typo3Service->addRedirection('foo', 'bar'); } }