From 9bb3a14eefca88804df776cb666f090f8dd294a3 Mon Sep 17 00:00:00 2001 From: AlexandrDmitriev Date: Tue, 16 Jun 2015 19:28:57 +0300 Subject: [PATCH 1/3] CRM-3529: Broken postgresql functional tests - fix tests --- .../Model/RFMMetricStateManagerTest.php | 2 ++ .../Tests/Functional/ImportExportTest.php | 2 ++ .../NewsletterSubscriberControllerTest.php | 15 +++++++++++++++ .../Writer/AbstractExportWriterTest.php | 18 ++++++++++++++++++ 4 files changed, 37 insertions(+) diff --git a/src/OroCRM/Bundle/AnalyticsBundle/Tests/Functional/Model/RFMMetricStateManagerTest.php b/src/OroCRM/Bundle/AnalyticsBundle/Tests/Functional/Model/RFMMetricStateManagerTest.php index 03923595c4e..d76c737c76d 100644 --- a/src/OroCRM/Bundle/AnalyticsBundle/Tests/Functional/Model/RFMMetricStateManagerTest.php +++ b/src/OroCRM/Bundle/AnalyticsBundle/Tests/Functional/Model/RFMMetricStateManagerTest.php @@ -39,6 +39,8 @@ public function tearDown() } $em->flush($entities); + + parent::tearDown(); } public function testResetChannelMetrics() diff --git a/src/OroCRM/Bundle/ContactBundle/Tests/Functional/ImportExportTest.php b/src/OroCRM/Bundle/ContactBundle/Tests/Functional/ImportExportTest.php index 2291628db4e..da49ae4d174 100644 --- a/src/OroCRM/Bundle/ContactBundle/Tests/Functional/ImportExportTest.php +++ b/src/OroCRM/Bundle/ContactBundle/Tests/Functional/ImportExportTest.php @@ -34,6 +34,8 @@ protected function tearDown() $batchJobManager->createQuery('DELETE AkeneoBatchBundle:JobInstance')->execute(); $batchJobManager->createQuery('DELETE AkeneoBatchBundle:JobExecution')->execute(); $batchJobManager->createQuery('DELETE AkeneoBatchBundle:StepExecution')->execute(); + + parent::tearDown(); } /** diff --git a/src/OroCRM/Bundle/MagentoBundle/Tests/Functional/Controller/NewsletterSubscriberControllerTest.php b/src/OroCRM/Bundle/MagentoBundle/Tests/Functional/Controller/NewsletterSubscriberControllerTest.php index 42dc69bfd8c..f4f63682e1a 100644 --- a/src/OroCRM/Bundle/MagentoBundle/Tests/Functional/Controller/NewsletterSubscriberControllerTest.php +++ b/src/OroCRM/Bundle/MagentoBundle/Tests/Functional/Controller/NewsletterSubscriberControllerTest.php @@ -2,6 +2,8 @@ namespace OroCRM\Bundle\MagentoBundle\Tests\Functional\Controller; +use Doctrine\ORM\EntityManager; + use Oro\Bundle\ImportExportBundle\Job\JobExecutor; use Oro\Bundle\ImportExportBundle\Job\JobResult; use OroCRM\Bundle\MagentoBundle\Entity\NewsletterSubscriber; @@ -66,6 +68,19 @@ protected function tearDown() $this->getContainer()->set('oro_importexport.job_executor', $this->baseJobExecutor); unset($this->transport, $this->baseJobExecutor); + + $jobRepository = $this->getContainer()->get('akeneo_batch.job_repository'); + + $reflection = new \ReflectionObject($jobRepository); + $property = $reflection->getProperty('jobManager'); + $property->setAccessible(true); + /** @var EntityManager $entityManager */ + $entityManager = $property->getValue($jobRepository); + $entityManager + ->getConnection() + ->close(); + + parent::tearDown(); } /** diff --git a/src/OroCRM/Bundle/MagentoBundle/Tests/Functional/ImportExport/Writer/AbstractExportWriterTest.php b/src/OroCRM/Bundle/MagentoBundle/Tests/Functional/ImportExport/Writer/AbstractExportWriterTest.php index 5ea2584f015..f32a649dd5c 100644 --- a/src/OroCRM/Bundle/MagentoBundle/Tests/Functional/ImportExport/Writer/AbstractExportWriterTest.php +++ b/src/OroCRM/Bundle/MagentoBundle/Tests/Functional/ImportExport/Writer/AbstractExportWriterTest.php @@ -4,6 +4,7 @@ use Akeneo\Bundle\BatchBundle\Entity\JobExecution; +use Doctrine\ORM\EntityManager; use Oro\Bundle\TestFrameworkBundle\Test\WebTestCase; use OroCRM\Bundle\MagentoBundle\Provider\Transport\MagentoTransportInterface; @@ -30,6 +31,9 @@ protected function setUp() protected function tearDown() { $this->dropBatchJobs(); + $this->closeConnections(); + + parent::tearDown(); } protected function dropBatchJobs() @@ -43,6 +47,20 @@ protected function dropBatchJobs() unset($this->transport); } + protected function closeConnections() + { + $jobRepository = $this->getContainer()->get('akeneo_batch.job_repository'); + + $reflection = new \ReflectionObject($jobRepository); + $property = $reflection->getProperty('jobManager'); + $property->setAccessible(true); + /** @var EntityManager $entityManager */ + $entityManager = $property->getValue($jobRepository); + $entityManager + ->getConnection() + ->close(); + } + /** * @param string $alias * @param string $status From bf361ae55a3a58297fd1bdb5760fd3b7bfa2b5f3 Mon Sep 17 00:00:00 2001 From: Ivan Shakuta Date: Wed, 17 Jun 2015 17:22:58 +0300 Subject: [PATCH 2/3] CRM-3529: Broken postgresql functional tests - fix CR --- .../NewsletterSubscriberControllerTest.php | 12 ++---------- .../ImportExport/Writer/AbstractExportWriterTest.php | 8 +------- 2 files changed, 3 insertions(+), 17 deletions(-) diff --git a/src/OroCRM/Bundle/MagentoBundle/Tests/Functional/Controller/NewsletterSubscriberControllerTest.php b/src/OroCRM/Bundle/MagentoBundle/Tests/Functional/Controller/NewsletterSubscriberControllerTest.php index f4f63682e1a..22af0bb96bb 100644 --- a/src/OroCRM/Bundle/MagentoBundle/Tests/Functional/Controller/NewsletterSubscriberControllerTest.php +++ b/src/OroCRM/Bundle/MagentoBundle/Tests/Functional/Controller/NewsletterSubscriberControllerTest.php @@ -69,16 +69,8 @@ protected function tearDown() $this->getContainer()->set('oro_importexport.job_executor', $this->baseJobExecutor); unset($this->transport, $this->baseJobExecutor); - $jobRepository = $this->getContainer()->get('akeneo_batch.job_repository'); - - $reflection = new \ReflectionObject($jobRepository); - $property = $reflection->getProperty('jobManager'); - $property->setAccessible(true); - /** @var EntityManager $entityManager */ - $entityManager = $property->getValue($jobRepository); - $entityManager - ->getConnection() - ->close(); + $entityManager = $this->getContainer()->get('akeneo_batch.job_repository')->getJobManager(); + $entityManager->getConnection()->close(); parent::tearDown(); } diff --git a/src/OroCRM/Bundle/MagentoBundle/Tests/Functional/ImportExport/Writer/AbstractExportWriterTest.php b/src/OroCRM/Bundle/MagentoBundle/Tests/Functional/ImportExport/Writer/AbstractExportWriterTest.php index f32a649dd5c..85cb6b01346 100644 --- a/src/OroCRM/Bundle/MagentoBundle/Tests/Functional/ImportExport/Writer/AbstractExportWriterTest.php +++ b/src/OroCRM/Bundle/MagentoBundle/Tests/Functional/ImportExport/Writer/AbstractExportWriterTest.php @@ -49,13 +49,7 @@ protected function dropBatchJobs() protected function closeConnections() { - $jobRepository = $this->getContainer()->get('akeneo_batch.job_repository'); - - $reflection = new \ReflectionObject($jobRepository); - $property = $reflection->getProperty('jobManager'); - $property->setAccessible(true); - /** @var EntityManager $entityManager */ - $entityManager = $property->getValue($jobRepository); + $entityManager = $this->getContainer()->get('akeneo_batch.job_repository')->getJobManager(); $entityManager ->getConnection() ->close(); From bcc4db559ebc87ff38f57905b71caa013a808c72 Mon Sep 17 00:00:00 2001 From: AlexandrDmitriev Date: Thu, 18 Jun 2015 17:37:18 +0300 Subject: [PATCH 3/3] CBORO-151: Integration sync hung after export --- .../Model/EmailCampaignStatisticsConnector.php | 8 ++++++-- .../Unit/Model/EmailCampaignStatisticsConnectorTest.php | 3 +++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/OroCRM/Bundle/CampaignBundle/Model/EmailCampaignStatisticsConnector.php b/src/OroCRM/Bundle/CampaignBundle/Model/EmailCampaignStatisticsConnector.php index 89a467644bf..4ae3954480d 100644 --- a/src/OroCRM/Bundle/CampaignBundle/Model/EmailCampaignStatisticsConnector.php +++ b/src/OroCRM/Bundle/CampaignBundle/Model/EmailCampaignStatisticsConnector.php @@ -59,8 +59,12 @@ public function getStatisticsRecord(EmailCampaign $emailCampaign, $entity) ->getMarketingListItem($marketingList, $entityId); $manager = $this->doctrineHelper->getEntityManager($this->entityName); - $statisticsRecord = $manager->getRepository($this->entityName) - ->findOneBy(['emailCampaign' => $emailCampaign, 'marketingListItem' => $marketingListItem]); + + $statisticsRecord = null; + if ($marketingListItem->getId() !== null) { + $statisticsRecord = $manager->getRepository($this->entityName) + ->findOneBy(['emailCampaign' => $emailCampaign, 'marketingListItem' => $marketingListItem]); + } if (!$statisticsRecord) { $statisticsRecord = new EmailCampaignStatistics(); diff --git a/src/OroCRM/Bundle/CampaignBundle/Tests/Unit/Model/EmailCampaignStatisticsConnectorTest.php b/src/OroCRM/Bundle/CampaignBundle/Tests/Unit/Model/EmailCampaignStatisticsConnectorTest.php index 276d339892b..9c869059440 100644 --- a/src/OroCRM/Bundle/CampaignBundle/Tests/Unit/Model/EmailCampaignStatisticsConnectorTest.php +++ b/src/OroCRM/Bundle/CampaignBundle/Tests/Unit/Model/EmailCampaignStatisticsConnectorTest.php @@ -67,6 +67,9 @@ public function testGetStatisticsRecordExisting($existing) $marketingListItem = $this->getMockBuilder('OroCRM\Bundle\MarketingListBundle\Entity\MarketingListItem') ->disableOriginalConstructor() ->getMock(); + $marketingListItem->expects($this->any()) + ->method('getId') + ->willReturn(42); $this->marketingListItemConnector->expects($this->once()) ->method('getMarketingListItem')