Skip to content

Commit 80e230f

Browse files
Add sut alias record to repository rather than building it dynamically (#3822)
* Add sut alias record to repository rather than building it dynamically * Don't delete the sut aliases in cleanup code * Use variable to point at SUT * Stop using wildcard environments in sut aliases. Restore alias file creation in 'setUpSettings' method. * [ci skip] Add comments to SUT aliases.
1 parent 3c54e21 commit 80e230f

File tree

3 files changed

+56
-27
lines changed

3 files changed

+56
-27
lines changed

sut/drush/sites/sut.site.yml

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
#
2+
# Aliases for the System Under Test (SUT)
3+
#
4+
5+
# The 'common' section is added to every alias environment.
6+
# - ${drush.base-dir} is the path where Drush is installed
7+
# - ${env-name} is the name of the environment that this info
8+
# is being injected in (e.g. 'dev', 'stage', etc.)
9+
common:
10+
root: ${drush.base-dir}/sut
11+
dbUrl: 'mysql://root:@127.0.0.1/unish_${env-name}'
12+
13+
# The 'default' environment is used by the integration tests
14+
default:
15+
uri: default
16+
17+
# The 'dev' and 'stage' environments are used by the functional tests.
18+
# 'prod' may be used for ad-hoc testing, or may be used in future tests.
19+
dev:
20+
uri: dev
21+
stage:
22+
uri: stage
23+
prod:
24+
uri: prod

sut/drush/sites/synctest.site.yml

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
remote:
2+
root: /Users/ganderson/local/drupal/drush9/drush/sut
3+
uri: remote
4+
dbUrl: 'mysql://root:@127.0.0.1/unish_remote'
5+
host: server.isp.simulated
6+
user: www-admin
7+
ssh:
8+
options: '-o PasswordAuthentication=whatever'
9+
paths:
10+
drush-script: /path/to/drush
11+
local:
12+
root: /Users/ganderson/local/drupal/drush9/drush/sut
13+
uri: local
14+
dbUrl: 'mysql://root:@127.0.0.1/unish_local'

tests/unish/UnishTestCase.php

+18-27
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ public static function cleanDirs()
131131
}
132132
$webrootSlashDrush = self::webrootSlashDrush();
133133
if (file_exists($webrootSlashDrush)) {
134-
self::recursiveDelete($webrootSlashDrush, true, false, ['Commands']);
134+
self::recursiveDelete($webrootSlashDrush, true, false, ['Commands', 'sites']);
135135
}
136136
foreach (['modules', 'themes', 'profiles'] as $dir) {
137137
$target = Path::join(self::webroot(), $dir, 'contrib');
@@ -523,7 +523,7 @@ public function setUpSettings(array $sites, $aliasGroup = 'fixture')
523523
$this->createSettings($subdir);
524524
}
525525
// Create basic site alias data with root and uri
526-
$siteAliasData = $this->createAliasFileData(array_keys($sites), $aliasGroup);
526+
$siteAliasData = $this->aliasFileData(array_keys($sites), $aliasGroup);
527527
// Add in caller-provided site alias data
528528
$siteAliasData = array_merge_recursive($siteAliasData, $sites);
529529
$this->writeSiteAliases($siteAliasData, $aliasGroup);
@@ -559,7 +559,7 @@ public function createSettings($subdir)
559559
*/
560560
public function setUpDrupal($num_sites = 1, $install = false, $options = [])
561561
{
562-
$sites_subdirs_all = ['dev', 'stage', 'prod', 'retired', 'elderly', 'dead', 'dust'];
562+
$sites_subdirs_all = ['dev', 'stage', 'prod'];
563563
$sites_subdirs = array_slice($sites_subdirs_all, 0, $num_sites);
564564
$root = $this->webroot();
565565

@@ -573,15 +573,15 @@ public function setUpDrupal($num_sites = 1, $install = false, $options = [])
573573
copy($root . '/sites/example.sites.php', $root . '/sites/sites.php');
574574
}
575575

576-
$siteData = $this->createAliasFile($sites_subdirs, 'sut');
576+
$siteData = $this->aliasFileData($sites_subdirs);
577577
self::$sites = [];
578578
foreach ($siteData as $key => $data) {
579579
self::$sites[$key] = $data;
580580
}
581581
return self::$sites;
582582
}
583583

584-
public function createAliasFileData($sites_subdirs)
584+
public function aliasFileData($sites_subdirs)
585585
{
586586
$root = $this->webroot();
587587
// Stash details about each site.
@@ -596,13 +596,21 @@ public function createAliasFileData($sites_subdirs)
596596
return $sites;
597597
}
598598

599-
public function createAliasFile($sites_subdirs, $aliasGroup)
599+
protected function sutAlias($uri = self::INTEGRATION_TEST_ENV)
600600
{
601-
// Make an alias group for the sites.
602-
$sites = $this->createAliasFileData($sites_subdirs);
603-
$this->writeSiteAliases($sites, $aliasGroup);
601+
return new AliasRecord(['root' => $this->webroot(), 'uri' => $uri], "@sut.$uri");
602+
}
604603

605-
return $sites;
604+
/**
605+
* Write an alias group file and a config file which points to same dir.
606+
*
607+
* @param $sites
608+
*/
609+
public function writeSiteAliases($sites, $aliasGroup = 'sut')
610+
{
611+
$target = Path::join(self::webrootSlashDrush(), "sites/$aliasGroup.site.yml");
612+
$this->mkdir(dirname($target));
613+
file_put_contents($target, Yaml::dump($sites, PHP_INT_MAX, 2));
606614
}
607615

608616
/**
@@ -625,23 +633,6 @@ public function installDrupal($env = 'dev', $install = false, $options = [], $re
625633
}
626634
}
627635

628-
/**
629-
* Write an alias group file and a config file which points to same dir.
630-
*
631-
* @param $sites
632-
*/
633-
public function writeSiteAliases($sites, $aliasGroup = 'sut')
634-
{
635-
$target = Path::join(self::webrootSlashDrush(), "sites/$aliasGroup.site.yml");
636-
$this->mkdir(dirname($target));
637-
file_put_contents($target, Yaml::dump($sites, PHP_INT_MAX, 2));
638-
}
639-
640-
protected function sutAlias($uri = self::INTEGRATION_TEST_ENV)
641-
{
642-
return new AliasRecord(['root' => $this->webroot(), 'uri' => $uri], "@sut.$uri");
643-
}
644-
645636
protected function checkInstallSut($uri = self::INTEGRATION_TEST_ENV)
646637
{
647638
$sutAlias = $this->sutAlias($uri);

0 commit comments

Comments
 (0)