Skip to content
Extraits de code Groupes Projets
UpdaterTest.php 2,88 ko
Newer Older
  • Learn to ignore specific revisions
  • <?php
    /**
    
     * Piwik - free/libre analytics platform
    
     *
     * @link http://piwik.org
     * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
     */
    
    
    namespace Piwik\Tests\Integration;
    
    use Piwik\Tests\Framework\TestCase\IntegrationTestCase;
    
    {
        public function testUpdaterChecksCoreVersionAndDetectsUpdateFile()
        {
    
            $updater->pathUpdateFileCore = PIWIK_INCLUDE_PATH . '/tests/resources/Updater/core/';
            $updater->recordComponentSuccessfullyUpdated('core', '0.1');
            $updater->addComponentToCheck('core', '0.3');
            $componentsWithUpdateFile = $updater->getComponentsWithUpdateFile();
            $this->assertEquals(1, count($componentsWithUpdateFile));
        }
    
        public function testUpdaterChecksGivenPluginVersionAndDetectsMultipleUpdateFileInOrder()
        {
    
            $updater->pathUpdateFilePlugins = PIWIK_INCLUDE_PATH . '/tests/resources/Updater/%s/';
            $updater->recordComponentSuccessfullyUpdated('testpluginUpdates', '0.1beta');
            $updater->addComponentToCheck('testpluginUpdates', '0.1');
            $componentsWithUpdateFile = $updater->getComponentsWithUpdateFile();
    
            $this->assertEquals(1, count($componentsWithUpdateFile));
            $updateFiles = $componentsWithUpdateFile['testpluginUpdates'];
            $this->assertEquals(2, count($updateFiles));
    
            $path = PIWIK_INCLUDE_PATH . '/tests/resources/Updater/testpluginUpdates/';
            $expectedInOrder = array(
                $path . '0.1beta2.php' => '0.1beta2',
    
            );
            $this->assertEquals($expectedInOrder, array_map("basename", $updateFiles));
        }
    
        public function testUpdaterChecksCoreAndPluginCheckThatCoreIsRanFirst()
        {
    
            $updater->pathUpdateFilePlugins = PIWIK_INCLUDE_PATH . '/tests/resources/Updater/%s/';
            $updater->pathUpdateFileCore = PIWIK_INCLUDE_PATH . '/tests/resources/Updater/core/';
    
            $updater->recordComponentSuccessfullyUpdated('testpluginUpdates', '0.1beta');
            $updater->addComponentToCheck('testpluginUpdates', '0.1');
    
            $updater->recordComponentSuccessfullyUpdated('core', '0.1');
            $updater->addComponentToCheck('core', '0.3');
    
            $componentsWithUpdateFile = $updater->getComponentsWithUpdateFile();
            $this->assertEquals(2, count($componentsWithUpdateFile));
            reset($componentsWithUpdateFile);
            $this->assertEquals('core', key($componentsWithUpdateFile));
        }
    
    
        public function testUpdateWorksAfterPiwikIsAlreadyUpToDate()
        {
            $result = Fixture::updateDatabase($force = true);
            if ($result === false) {
                throw new \Exception("Failed to force update (nothing to update).");
            }
        }