Skip to content
Snippets Groups Projects
Commit 2969b3f1 authored by catch's avatar catch
Browse files

Issue #3099825 by quietone, kunal.sachdev, smustgrave, tedbow: Test available...

Issue #3099825 by quietone, kunal.sachdev, smustgrave, tedbow: Test available updates when the current major and next major of core are supported
parent 580bfcb7
No related branches found
No related tags found
No related merge requests found
<?xml version="1.0" encoding="utf-8"?>
<project xmlns:dc="http://purl.org/dc/elements/1.1/">
<title>Drupal</title>
<short_name>drupal</short_name>
<dc:creator>Drupal</dc:creator>
<supported_branches>8.0.,8.1.,9.0.</supported_branches>
<project_status>published</project_status>
<link>http://example.com/project/drupal</link>
<terms>
<term><name>Projects</name><value>Drupal project</value></term>
</terms>
<releases>
<release>
<name>Drupal 9.0.0</name>
<version>9.0.0</version>
<status>published</status>
<release_link>http://example.com/drupal-9-0-0-release</release_link>
<download_link>http://example.com/drupal-9-0-0.tar.gz</download_link>
<date>1250424521</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Drupal 8.1.1</name>
<version>8.1.1</version>
<status>published</status>
<release_link>http://example.com/drupal-8-1-1-release</release_link>
<download_link>http://example.com/drupal-8-1-1.tar.gz</download_link>
<date>1250424581</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Drupal 8.1.0</name>
<version>8.1.0</version>
<status>published</status>
<release_link>http://example.com/drupal-8-1-0-release</release_link>
<download_link>http://example.com/drupal-8-1-0.tar.gz</download_link>
<date>1250424581</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Drupal 8.0.1</name>
<version>8.0.1</version>
<status>published</status>
<release_link>http://example.com/drupal-8-0-1-release</release_link>
<download_link>http://example.com/drupal-8-0-1.tar.gz</download_link>
<date>1250424581</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Drupal 8.0.0</name>
<version>8.0.0</version>
<status>published</status>
<release_link>http://example.com/drupal-8-0-0-release</release_link>
<download_link>http://example.com/drupal-8-0-0.tar.gz</download_link>
<date>1250424521</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
</releases>
</project>
<?xml version="1.0" encoding="utf-8"?>
<project xmlns:dc="http://purl.org/dc/elements/1.1/">
<title>Semver Test</title>
<short_name>semver_test</short_name>
<dc:creator>Semver Test</dc:creator>
<supported_branches>8.0.,8.1.,9.0.</supported_branches>
<project_status>published</project_status>
<link>http://example.com/project/semver_test</link>
<terms>
<term><name>Projects</name><value>Semver Test project</value></term>
</terms>
<releases>
<release>
<name>Semver Test 9.0.0</name>
<version>9.0.0</version>
<status>published</status>
<release_link>http://example.com/semver_test-9-0-0-release</release_link>
<download_link>http://example.com/semver_test-9-0-0.tar.gz</download_link>
<date>1250424521</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Semver Test 8.1.1</name>
<version>8.1.1</version>
<status>published</status>
<release_link>http://example.com/semver_test-8-1-1-release</release_link>
<download_link>http://example.com/semver_test-8-1-1.tar.gz</download_link>
<date>1250424581</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Semver Test 8.1.0</name>
<version>8.1.0</version>
<status>published</status>
<release_link>http://example.com/semver_test-8-1-0-release</release_link>
<download_link>http://example.com/semver_test-8-1-0.tar.gz</download_link>
<date>1250424581</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Semver Test 8.0.1</name>
<version>8.0.1</version>
<status>published</status>
<release_link>http://example.com/semver_test-8-0-1-release</release_link>
<download_link>http://example.com/semver_test-8-0-1.tar.gz</download_link>
<date>1250424581</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Semver Test 8.0.0</name>
<version>8.0.0</version>
<status>published</status>
<release_link>http://example.com/semver_test-8-0-0-release</release_link>
<download_link>http://example.com/semver_test-8-0-0.tar.gz</download_link>
<date>1250424521</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
</releases>
</project>
......@@ -113,23 +113,54 @@ public function testNormalUpdateAvailable() {
}
/**
* Tests the Update Manager module when a major update is available.
* Tests the Update Manager module when major updates are available.
*
* This includes testing when the next major is available as well as when both
* the current major version and the next major version are supported. There
* are two release history files to support this.
* - drupal.9.xml and semver_test.9.xml: These declare one major release
* supported, 9.
* - drupal.current.xml and semver_test.current.xml: These declare major
* releases supported, 8 and 9.
*/
public function testMajorUpdateAvailable() {
foreach ([0, 1] as $minor_version) {
foreach ([0, 1] as $patch_version) {
foreach (['-alpha1', '-beta1', ''] as $extra_version) {
$this->setProjectInstalledVersion("8.$minor_version.$patch_version" . $extra_version);
$this->refreshUpdateStatus([$this->updateProject => '9']);
$this->standardTests();
$this->assertUpdateTableTextNotContains('Security update required!');
$this->assertUpdateTableElementContains((string) Link::fromTextAndUrl('9.0.0', Url::fromUri("http://example.com/{$this->updateProject}-9-0-0-release"))->toString());
$this->assertUpdateTableElementContains((string) Link::fromTextAndUrl('Release notes', Url::fromUri("http://example.com/{$this->updateProject}-9-0-0-release"))->toString());
$this->assertUpdateTableTextNotContains('Up to date');
$this->assertUpdateTableTextContains('Not supported!');
$this->assertUpdateTableTextContains('Recommended version:');
$this->assertUpdateTableTextNotContains('Latest version:');
$this->assertUpdateTableElementContains('error.svg');
foreach (['9', '8.0.0-9.0.0'] as $release_history) {
foreach ([0, 1] as $minor_version) {
foreach ([0, 1] as $patch_version) {
foreach (['-alpha1', '-beta1', ''] as $extra_version) {
$installed_version = "8.$minor_version.$patch_version$extra_version";
$this->setProjectInstalledVersion($installed_version);
$this->refreshUpdateStatus([$this->updateProject => $release_history]);
$this->standardTests();
$this->drupalGet('admin/reports/updates');
$this->clickLink('Check manually');
$this->checkForMetaRefresh();
$this->assertUpdateTableTextNotContains('Security update required!');
$this->assertUpdateTableElementContains((string) Link::fromTextAndUrl('9.0.0', Url::fromUri("http://example.com/{$this->updateProject}-9-0-0-release"))
->toString());
$this->assertUpdateTableElementContains((string) Link::fromTextAndUrl('Release notes', Url::fromUri("http://example.com/{$this->updateProject}-9-0-0-release"))
->toString());
$this->assertUpdateTableTextNotContains('Latest version:');
if ($release_history === '9') {
$this->assertUpdateTableTextNotContains('Up to date');
$this->assertUpdateTableTextContains('Not supported!');
$this->assertVersionUpdateLinks('Recommended version:', '9.0.0');
$this->assertUpdateTableElementContains('error.svg');
}
else {
if ($installed_version === '8.1.1') {
$this->assertUpdateTableTextContains('Up to date');
}
else {
$this->assertUpdateTableTextNotContains('Up to date');
$this->assertVersionUpdateLinks('Recommended version:', '8.1.1');
}
$this->assertUpdateTableTextNotContains('Not supported!');
$this->assertVersionUpdateLinks('Also available:', '9.0.0');
$this->assertUpdateTableElementNotContains('error.svg');
}
}
}
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment