2 namespace Drush\SiteAlias;
4 use PHPUnit\Framework\TestCase;
5 use Consolidation\SiteAlias\SiteAliasFileDiscovery;
7 class SiteAliasFileDiscoveryTest extends TestCase
9 use \Drush\FixtureFactory;
10 use \Drush\FunctionUtils;
14 $this->sut = new SiteAliasFileDiscovery();
17 public function testSearchForSingleAliasFile()
19 $this->sut->addSearchLocation($this->fixturesDir() . '/sitealiases/single');
21 $path = $this->sut->findSingleSiteAliasFile('single');
22 $this->assertLocation('single', $path);
23 $this->assertBasename('single.site.yml', $path);
26 public function testSearchForMissingSingleAliasFile()
28 $this->sut->addSearchLocation($this->fixturesDir() . '/sitealiases/single');
30 $path = $this->sut->findSingleSiteAliasFile('missing');
31 $this->assertFalse($path);
34 public function testFindAllLegacyAliasFiles()
36 $this->sut->addSearchLocation($this->fixturesDir() . '/sitealiases/legacy');
38 $result = $this->sut->findAllLegacyAliasFiles();
39 $paths = $this->simplifyToBasenamesWithLocation($result);
40 $this->assertEquals('legacy/cc.aliases.drushrc.php,legacy/one.alias.drushrc.php,legacy/pantheon.aliases.drushrc.php,legacy/server.aliases.drushrc.php', implode(',', $paths));
43 protected function assertLocation($expected, $path)
45 $this->assertEquals($expected, basename(dirname($path)));
48 protected function assertBasename($expected, $path)
50 $this->assertEquals($expected, basename($path));
53 protected function simplifyToBasenamesWithLocation($result)
55 if (!is_array($result)) {
61 return basename(dirname($item)) . '/' . basename($item);