/** * @param string $codeGoogleAnalytics * @param string $codeKissMetrics * @return CM_Service_Manager */ protected function _getServiceManager($codeGoogleAnalytics, $codeKissMetrics) { $serviceManager = new CM_Service_Manager(); $serviceManager->registerInstance('googleanalytics', new CMService_GoogleAnalytics_Client($codeGoogleAnalytics)); $serviceManager->registerInstance('kissmetrics', new CMService_KissMetrics_Client($codeKissMetrics)); $serviceManager->registerInstance('trackings', new CM_Service_Trackings(['googleanalytics', 'kissmetrics'])); return $serviceManager; }
protected function setUp() { $serviceManager = new CM_Service_Manager(); $this->_filesystemDefault = new CM_File_Filesystem(new CM_File_Filesystem_Adapter_Local()); $this->_filesystemFoo = new CM_File_Filesystem(new CM_File_Filesystem_Adapter_Local()); $serviceManager->registerInstance('filesystem-usercontent-default', $this->_filesystemDefault); $serviceManager->registerInstance('filesystem-usercontent-foo', $this->_filesystemFoo); $config = array('default' => array('url' => 'http://example.com/default', 'filesystem' => 'filesystem-usercontent-default'), 'foo' => array('url' => 'http://example.com/foo', 'filesystem' => 'filesystem-usercontent-foo')); $this->_service = new CM_Service_UserContent($config); $this->_service->setServiceManager($serviceManager); }
public function testGetUrl() { $serviceManager = new CM_Service_Manager(); $filesystemDefault = new CM_File_Filesystem(new CM_File_Filesystem_Adapter_Local()); $filesystemFoo = new CM_File_Filesystem(new CM_File_Filesystem_Adapter_Local()); $serviceManager->registerInstance('filesystem-usercontent-default', $filesystemDefault); $serviceManager->registerInstance('filesystem-usercontent-foo', $filesystemFoo); $serviceConfig = array('default' => array('url' => 'http://example.com/default', 'filesystem' => 'filesystem-usercontent-default'), 'foo' => array('url' => 'http://example.com/foo', 'filesystem' => 'filesystem-usercontent-foo')); $serviceManager->registerInstance('usercontent', new CM_Service_UserContent($serviceConfig)); $userFile = new CM_File_UserContent('foo', 'my.jpg', null, $serviceManager); $this->assertSame('http://example.com/foo/foo/my.jpg', $userFile->getUrl()); $userFile = new CM_File_UserContent('bar', 'my.jpg', null, $serviceManager); $this->assertSame('http://example.com/default/bar/my.jpg', $userFile->getUrl()); }
public function testRunJobLimit() { $serviceManager = new CM_Service_Manager(); $logger = $this->mockObject('CM_Log_Logger'); $serviceManager->registerInstance('logger', $logger); if (!extension_loaded('gearman')) { $this->markTestSkipped('Gearman Pecl Extension not installed.'); } $gearmanWorker = $this->mockClass('GearmanWorker')->newInstanceWithoutConstructor(); $workMethod = $gearmanWorker->mockMethod('work')->set(true); CM_Config::get()->CM_Jobdistribution_JobWorker->servers = []; $worker = $this->mockClass(CM_Jobdistribution_JobWorker::class)->newInstance([5]); $worker->mockMethod('_getGearmanWorker')->set($gearmanWorker); /** @var CM_Jobdistribution_JobWorker $worker */ $worker->setServiceManager($serviceManager); $worker->run(); $this->assertSame(5, $workMethod->getCallCount()); }
public function testTracking_User() { $user = CMTest_TH::createUser(); $fixture = new CM_Splittest_Fixture($user); /** @var CM_Model_Splittest_Mock $test */ $test = CM_Model_Splittest_Mock::create('foo1', ['v1']); /** @var CM_Model_SplittestVariation $variation */ $variation = $test->getVariations()->getItem(0); $variation->getName(); // Fill data $mockBuilder = $this->getMockBuilder('CMService_KissMetrics_Client'); $mockBuilder->setMethods(['trackSplittest']); $mockBuilder->setConstructorArgs(['km123']); $kissMetricsMock = $mockBuilder->getMock(); $kissMetricsMock->expects($this->once())->method('trackSplittest')->with($fixture, $this->equalTo($variation)); $serviceManager = new CM_Service_Manager(); $serviceManager->registerInstance('tracking-kissmetrics-test', $kissMetricsMock); $serviceManager->unregister('trackings'); $serviceManager->registerInstance('trackings', new CM_Service_Trackings(['tracking-kissmetrics-test'])); $test->setServiceManager($serviceManager); $test->getVariationFixture($fixture); }
/** * @param string $code * @return CM_Service_Manager */ private function _getServiceManagerWithGA($code) { $serviceManager = new CM_Service_Manager(); $serviceManager->registerInstance('googleanalytics', new CMService_GoogleAnalytics_Client($code)); $serviceManager->registerInstance('trackings', new CM_Service_Trackings(['googleanalytics'])); return $serviceManager; }
public function testSendFailed() { $serviceManager = new CM_Service_Manager(); $logger = $this->mockObject('CM_Log_Logger'); $serviceManager->registerInstance('logger', $logger); $transport = $this->mockInterface('Swift_Transport')->newInstance(); $transport->mockMethod('isStarted')->set(true); $message = new Swift_Message('foo', 'content'); $message->setFrom('*****@*****.**', 'Foobar'); $message->setTo('*****@*****.**'); $message->setCc('*****@*****.**', 'bar'); $client = new CM_Mail_Mailer($transport); $client->setServiceManager($serviceManager); $sendMethod = $transport->mockMethod('send')->set(0); $errorMethod = $logger->mockMethod('error')->set(function ($message, CM_Log_Context $context = null) { $this->assertSame('Failed to send email', $message); $this->assertSame(['message' => ['subject' => 'foo', 'from' => ['*****@*****.**' => 'Foobar'], 'to' => ['*****@*****.**' => null], 'cc' => ['*****@*****.**' => 'bar'], 'bcc' => null], 'failedRecipients' => ['*****@*****.**', '*****@*****.**']], $context->getExtra()); }); $failedRecipients = ['*****@*****.**', '*****@*****.**']; $client->send($message, $failedRecipients); /** @var CM_Exception_Invalid $exception */ $this->assertSame(1, $sendMethod->getCallCount()); $this->assertSame(1, $errorMethod->getCallCount()); }
public function testUnregister() { $serviceManager = new CM_Service_Manager(); $serviceManager->registerInstance('foo', 12.3); $this->assertSame(true, $serviceManager->has('foo')); $serviceManager->unregister('foo'); $this->assertSame(false, $serviceManager->has('foo')); }
/** * @param string $codeGoogleAnalytics * @param string $codeKissMetrics * @return CM_Service_Manager */ protected function _getServiceManager($codeGoogleAnalytics, $codeKissMetrics) { $serviceManager = new CM_Service_Manager(); $serviceManager->registerInstance('googleanalytics', new CMService_GoogleAnalytics_Client($codeGoogleAnalytics)); $serviceManager->registerInstance('kissmetrics', new CMService_KissMetrics_Client($codeKissMetrics)); $serviceManager->registerInstance('trackings', new CM_Service_Trackings(['googleanalytics', 'kissmetrics'])); $serviceManager->registerInstance('logger', new CM_Log_Logger(new CM_Log_Context())); $serviceManager->registerInstance('newrelic', new CMService_Newrelic(false, 'unit-test')); return $serviceManager; }