From 1c4041284cedbd665e5542e37be5cfa68dd6019c Mon Sep 17 00:00:00 2001
From: Maddy Chellathurai <mchellathura@magento.com>
Date: Mon, 16 May 2016 15:19:15 -0500
Subject: [PATCH] MAGETWO-52000: [Github][PR]impossible to see what is wrong
 with cron - unhelpful error message #3189

- fixes for QA issues.
---
 .../Setup/Model/DateTime/DateTimeProvider.php        |  6 +++---
 .../{TimezoneProvider.php => TimeZoneProvider.php}   |  2 +-
 setup/src/Magento/Setup/Model/PackagesData.php       | 12 +++++++++---
 .../Unit/Model/DateTime/DateTimeProviderTest.php     |  6 +++---
 ...zoneProviderTest.php => TimeZoneProviderTest.php} |  6 +++---
 .../Setup/Test/Unit/Model/PackagesDataTest.php       |  7 +++----
 6 files changed, 22 insertions(+), 17 deletions(-)
 rename setup/src/Magento/Setup/Model/DateTime/{TimezoneProvider.php => TimeZoneProvider.php} (98%)
 rename setup/src/Magento/Setup/Test/Unit/Model/DateTime/{TimezoneProviderTest.php => TimeZoneProviderTest.php} (88%)

diff --git a/setup/src/Magento/Setup/Model/DateTime/DateTimeProvider.php b/setup/src/Magento/Setup/Model/DateTime/DateTimeProvider.php
index 073b6ee027b..6997b7ac0ab 100644
--- a/setup/src/Magento/Setup/Model/DateTime/DateTimeProvider.php
+++ b/setup/src/Magento/Setup/Model/DateTime/DateTimeProvider.php
@@ -15,7 +15,7 @@ class DateTimeProvider
     /**
      * Timezone provider
      *
-     * @var TimezoneProvider
+     * @var TimeZoneProvider
      */
     private $tzProvider;
 
@@ -36,10 +36,10 @@ class DateTimeProvider
     /**
      * Init
      *
-     * @param TimezoneProvider $tzProvider
+     * @param TimeZoneProvider $tzProvider
      * @param ObjectManagerProvider $objectManagerProvider
      */
-    public function __construct(TimezoneProvider $tzProvider, ObjectManagerProvider $objectManagerProvider)
+    public function __construct(TimeZoneProvider $tzProvider, ObjectManagerProvider $objectManagerProvider)
     {
         $this->tzProvider = $tzProvider;
         $this->objectManagerProvider = $objectManagerProvider;
diff --git a/setup/src/Magento/Setup/Model/DateTime/TimezoneProvider.php b/setup/src/Magento/Setup/Model/DateTime/TimeZoneProvider.php
similarity index 98%
rename from setup/src/Magento/Setup/Model/DateTime/TimezoneProvider.php
rename to setup/src/Magento/Setup/Model/DateTime/TimeZoneProvider.php
index dfff802bc79..85a84cbeb9b 100644
--- a/setup/src/Magento/Setup/Model/DateTime/TimezoneProvider.php
+++ b/setup/src/Magento/Setup/Model/DateTime/TimeZoneProvider.php
@@ -11,7 +11,7 @@ use Magento\Setup\Model\ObjectManagerProvider;
 /**
  * Provider of Timezone instance
  */
-class TimezoneProvider
+class TimeZoneProvider
 {
     /**
      * Object Manager provider
diff --git a/setup/src/Magento/Setup/Model/PackagesData.php b/setup/src/Magento/Setup/Model/PackagesData.php
index f2a759aca54..4d113728a8b 100644
--- a/setup/src/Magento/Setup/Model/PackagesData.php
+++ b/setup/src/Magento/Setup/Model/PackagesData.php
@@ -40,6 +40,11 @@ class PackagesData
      */
     private $packagesAuth;
 
+    /**
+     * @var \Magento\Setup\Model\DateTime\TimeZoneProvider
+     */
+    private $timeZoneProvider;
+
     /**
      * @var  \Magento\Setup\Model\ObjectManagerProvider
      */
@@ -49,18 +54,21 @@ class PackagesData
      * PackagesData constructor.
      *
      * @param \Magento\Framework\Composer\ComposerInformation $composerInformation,
+     * @param \Magento\Setup\Model\DateTime\TimeZoneProvider $timeZoneProvider,
      * @param \Magento\Setup\Model\PackagesAuth $packagesAuth,
      * @param \Magento\Framework\Filesystem $filesystem,
      * @param \Magento\Setup\Model\ObjectManagerProvider $objectManagerProvider
      */
     public function __construct(
         \Magento\Framework\Composer\ComposerInformation $composerInformation,
+        \Magento\Setup\Model\DateTime\TimeZoneProvider $timeZoneProvider,
         \Magento\Setup\Model\PackagesAuth $packagesAuth,
         \Magento\Framework\Filesystem $filesystem,
         \Magento\Setup\Model\ObjectManagerProvider $objectManagerProvider
     ) {
         $this->objectManagerProvider = $objectManagerProvider;
         $this->composerInformation = $composerInformation;
+        $this->timeZoneProvider = $timeZoneProvider;
         $this->packagesAuth = $packagesAuth;
         $this->filesystem = $filesystem;
     }
@@ -125,9 +133,7 @@ class PackagesData
      */
     private function formatSyncDate($syncDate)
     {
-        $objectManager = $this->objectManagerProvider->get();
-        $timeZoneProvider = $objectManager->get('Magento\Setup\Model\DateTime\TimeZoneProvider');
-        $timezone = $timeZoneProvider->get();
+        $timezone = $this->timeZoneProvider->get();
         return [
             'date' => $timezone->formatDateTime(
                 new \DateTime('@'.$syncDate),
diff --git a/setup/src/Magento/Setup/Test/Unit/Model/DateTime/DateTimeProviderTest.php b/setup/src/Magento/Setup/Test/Unit/Model/DateTime/DateTimeProviderTest.php
index 4d24e73a02e..312129a01b3 100644
--- a/setup/src/Magento/Setup/Test/Unit/Model/DateTime/DateTimeProviderTest.php
+++ b/setup/src/Magento/Setup/Test/Unit/Model/DateTime/DateTimeProviderTest.php
@@ -6,7 +6,7 @@
 namespace Magento\Setup\Test\Unit\Model\DateTime;
 
 use Magento\Setup\Model\DateTime\DateTimeProvider;
-use Magento\Setup\Model\DateTime\TimezoneProvider;
+use Magento\Setup\Model\DateTime\TimeZoneProvider;
 use Magento\Setup\Model\ObjectManagerProvider;
 
 class DateTimeProviderTest extends \PHPUnit_Framework_TestCase
@@ -14,8 +14,8 @@ class DateTimeProviderTest extends \PHPUnit_Framework_TestCase
     public function testGet()
     {
         $dateTime = $this->getMock('\Magento\Framework\Stdlib\DateTime\DateTime', [], [], '', false);
-        /** @var TimezoneProvider|\PHPUnit_Framework_MockObject_MockObject $timeZoneProvider */
-        $timeZoneProvider = $this->getMock('\Magento\Setup\Model\DateTime\TimezoneProvider', [], [], '', false);
+        /** @var TimeZoneProvider|\PHPUnit_Framework_MockObject_MockObject $timeZoneProvider */
+        $timeZoneProvider = $this->getMock('\Magento\Setup\Model\DateTime\TimeZoneProvider', [], [], '', false);
         $timeZone = $this->getMock('\Magento\Framework\Stdlib\DateTime\Timezone', [], [], '', false);
         $timeZoneProvider->expects($this->any())
             ->method('get')
diff --git a/setup/src/Magento/Setup/Test/Unit/Model/DateTime/TimezoneProviderTest.php b/setup/src/Magento/Setup/Test/Unit/Model/DateTime/TimeZoneProviderTest.php
similarity index 88%
rename from setup/src/Magento/Setup/Test/Unit/Model/DateTime/TimezoneProviderTest.php
rename to setup/src/Magento/Setup/Test/Unit/Model/DateTime/TimeZoneProviderTest.php
index 63c4df875e2..a6a80b3a097 100644
--- a/setup/src/Magento/Setup/Test/Unit/Model/DateTime/TimezoneProviderTest.php
+++ b/setup/src/Magento/Setup/Test/Unit/Model/DateTime/TimeZoneProviderTest.php
@@ -6,10 +6,10 @@
 namespace Magento\Setup\Test\Unit\Model\DateTime;
 
 use Magento\Framework\App\Config\ScopeConfigInterface;
-use Magento\Setup\Model\DateTime\TimezoneProvider;
+use Magento\Setup\Model\DateTime\TimeZoneProvider;
 use Magento\Setup\Model\ObjectManagerProvider;
 
-class TimezoneProviderTest extends \PHPUnit_Framework_TestCase
+class TimeZoneProviderTest extends \PHPUnit_Framework_TestCase
 {
     public function testGet()
     {
@@ -27,7 +27,7 @@ class TimezoneProviderTest extends \PHPUnit_Framework_TestCase
         $objectManagerProvider->expects($this->any())
             ->method('get')
             ->willReturn($objectManager);
-        $object = new TimezoneProvider($objectManagerProvider);
+        $object = new TimeZoneProvider($objectManagerProvider);
         $this->assertSame($timeZone, $object->get());
         // Assert that the provider always returns the same object
         $this->assertSame($timeZone, $object->get());
diff --git a/setup/src/Magento/Setup/Test/Unit/Model/PackagesDataTest.php b/setup/src/Magento/Setup/Test/Unit/Model/PackagesDataTest.php
index 60623b5eeb1..3c096fa1faf 100644
--- a/setup/src/Magento/Setup/Test/Unit/Model/PackagesDataTest.php
+++ b/setup/src/Magento/Setup/Test/Unit/Model/PackagesDataTest.php
@@ -51,10 +51,8 @@ class PackagesDataTest extends \PHPUnit_Framework_TestCase
         $applicationFactory->expects($this->any())->method('create')->willReturn($application);
         $objectManager->expects($this->any())
             ->method('get')
-            ->will($this->returnValueMap([
-                ['Magento\Framework\Composer\MagentoComposerApplicationFactory', $applicationFactory],
-                ['Magento\Setup\Model\DateTime\TimeZoneProvider', $timeZoneProvider]
-            ]));
+            ->with('Magento\Framework\Composer\MagentoComposerApplicationFactory')
+            ->willReturn($applicationFactory);
         $objectManagerProvider->expects($this->any())->method('get')->willReturn($objectManager);
 
         $directoryWrite = $this->getMockForAbstractClass('\Magento\Framework\Filesystem\Directory\WriteInterface');
@@ -88,6 +86,7 @@ class PackagesDataTest extends \PHPUnit_Framework_TestCase
 
         $this->packagesData = new PackagesData(
             $composerInformation,
+            $timeZoneProvider,
             $packagesAuth,
             $filesystem,
             $objectManagerProvider
-- 
GitLab