forked from drush-ops/drush
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSiteAliasFileDiscoveryTest.php
70 lines (55 loc) · 1.95 KB
/
SiteAliasFileDiscoveryTest.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
<?php
namespace Drush\SiteAlias;
use PHPUnit\Framework\TestCase;
use Consolidation\SiteAlias\SiteAliasFileDiscovery;
class SiteAliasFileDiscoveryTest extends TestCase
{
use \Unish\Utils\Fixtures;
use \Unish\Utils\FunctionUtils;
public function setUp()
{
$this->sut = new SiteAliasFileDiscovery();
}
public function testSearchForSingleAliasFile()
{
$this->sut->addSearchLocation($this->fixturesDir() . '/sitealiases/single');
$path = $this->sut->findSingleSiteAliasFile('single');
$this->assertLocation('single', $path);
$this->assertBasename('single.site.yml', $path);
}
public function testSearchForMissingSingleAliasFile()
{
$this->sut->addSearchLocation($this->fixturesDir() . '/sitealiases/single');
$path = $this->sut->findSingleSiteAliasFile('missing');
$this->assertFalse($path);
}
public function testFindAllLegacyAliasFiles()
{
$this->sut->addSearchLocation($this->fixturesDir() . '/sitealiases/legacy');
$result = $this->sut->findAllLegacyAliasFiles();
$paths = $this->simplifyToBasenamesWithLocation($result);
$this->assertEquals('legacy/cc.aliases.drushrc.php,legacy/one.alias.drushrc.php,legacy/pantheon.aliases.drushrc.php,legacy/server.aliases.drushrc.php', implode(',', $paths));
}
protected function assertLocation($expected, $path)
{
$this->assertEquals($expected, basename(dirname($path)));
}
protected function assertBasename($expected, $path)
{
$this->assertEquals($expected, basename($path));
}
protected function simplifyToBasenamesWithLocation($result)
{
if (!is_array($result)) {
return $result;
}
$result = array_map(
function ($item) {
return basename(dirname($item)) . '/' . basename($item);
},
$result
);
sort($result);
return $result;
}
}