UpdateFetcherTest.php in Zircon Profile 8
File
core/modules/update/tests/src/Unit/UpdateFetcherTest.php
View source
<?php
namespace Drupal\Tests\update\Unit;
use Drupal\Tests\UnitTestCase;
use Drupal\update\UpdateFetcher;
if (!defined('DRUPAL_CORE_COMPATIBILITY')) {
define('DRUPAL_CORE_COMPATIBILITY', '8.x');
}
class UpdateFetcherTest extends UnitTestCase {
protected $updateFetcher;
protected function setUp() {
$config_factory = $this
->getConfigFactoryStub(array(
'update.settings' => array(
'fetch_url' => 'http://www.example.com',
),
));
$http_client_mock = $this
->getMock('\\GuzzleHttp\\ClientInterface');
$this->updateFetcher = new UpdateFetcher($config_factory, $http_client_mock);
}
public function testUpdateBuildFetchUrl(array $project, $site_key, $expected) {
$url = $this->updateFetcher
->buildFetchUrl($project, $site_key);
$this
->assertEquals($url, $expected);
}
public function providerTestUpdateBuildFetchUrl() {
$data = array();
$project['name'] = 'update_test';
$project['project_type'] = '';
$project['info']['version'] = '';
$project['info']['project status url'] = 'http://www.example.com';
$project['includes'] = array(
'module1' => 'Module 1',
'module2' => 'Module 2',
);
$site_key = '';
$expected = 'http://www.example.com/' . $project['name'] . '/' . DRUPAL_CORE_COMPATIBILITY;
$data[] = array(
$project,
$site_key,
$expected,
);
$site_key = 'site_key';
$project['project_type'] = 'disabled';
$expected = 'http://www.example.com/' . $project['name'] . '/' . DRUPAL_CORE_COMPATIBILITY;
$data[] = array(
$project,
$site_key,
$expected,
);
$project['project_type'] = '';
$expected = 'http://www.example.com/' . $project['name'] . '/' . DRUPAL_CORE_COMPATIBILITY;
$expected .= '?site_key=site_key';
$expected .= '&list=' . rawurlencode('module1,module2');
$data[] = array(
$project,
$site_key,
$expected,
);
$project['info']['project status url'] = 'http://www.example.com/?project=';
$expected = 'http://www.example.com/?project=/' . $project['name'] . '/' . DRUPAL_CORE_COMPATIBILITY;
$expected .= '&site_key=site_key';
$expected .= '&list=' . rawurlencode('module1,module2');
$data[] = array(
$project,
$site_key,
$expected,
);
return $data;
}
}