default services conflit ?
This commit is contained in:
@@ -0,0 +1,74 @@
|
||||
<?php
|
||||
|
||||
namespace Consolidation\SiteProcess;
|
||||
|
||||
use Consolidation\SiteProcess\Transport\DockerComposeTransport;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
use Consolidation\SiteAlias\SiteAlias;
|
||||
|
||||
class DockerComposeTransportTest extends TestCase
|
||||
{
|
||||
/**
|
||||
* Data provider for testWrap.
|
||||
*/
|
||||
public function wrapTestValues()
|
||||
{
|
||||
return [
|
||||
[
|
||||
'docker-compose --project project --project-directory projectDir --file myCompose.yml exec -T --user root drupal ls',
|
||||
[
|
||||
'docker' => [
|
||||
'service' => 'drupal',
|
||||
'compose' => [
|
||||
'options' => '--project project --project-directory projectDir --file myCompose.yml'
|
||||
],
|
||||
'exec' => ['options' => '--user root']
|
||||
]
|
||||
],
|
||||
],
|
||||
[
|
||||
'docker-compose exec -T drupal ls',
|
||||
[
|
||||
'docker' => [
|
||||
'service' => 'drupal',
|
||||
]
|
||||
],
|
||||
],
|
||||
[
|
||||
'docker-compose --project project2 --file myCompose.yml exec -T drupal ls',
|
||||
[
|
||||
'docker' => [
|
||||
'service' => 'drupal',
|
||||
'project' => 'project1',
|
||||
'compose' => [
|
||||
'options' => '--project project2 --file myCompose.yml'
|
||||
]
|
||||
]
|
||||
],
|
||||
],
|
||||
[
|
||||
'docker-compose -p project1 --file myCompose.yml exec -T drupal ls',
|
||||
[
|
||||
'docker' => [
|
||||
'service' => 'drupal',
|
||||
'project' => 'project1',
|
||||
'compose' => [
|
||||
'options' => '--file myCompose.yml'
|
||||
]
|
||||
]
|
||||
],
|
||||
],
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider wrapTestValues
|
||||
*/
|
||||
public function testWrap($expected, $siteAliasData)
|
||||
{
|
||||
$siteAlias = new SiteAlias($siteAliasData, '@alias.dev');
|
||||
$dockerTransport = new DockerComposeTransport($siteAlias);
|
||||
$actual = $dockerTransport->wrap(['ls']);
|
||||
$this->assertEquals($expected, implode(' ', $actual));
|
||||
}
|
||||
}
|
@@ -0,0 +1,68 @@
|
||||
<?php
|
||||
|
||||
namespace Consolidation\SiteProcess;
|
||||
|
||||
use Consolidation\SiteProcess\Transport\KubectlTransport;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
use Consolidation\SiteAlias\SiteAlias;
|
||||
|
||||
class KubectlTransportTest extends TestCase
|
||||
{
|
||||
/**
|
||||
* Data provider for testWrap.
|
||||
*/
|
||||
public function wrapTestValues()
|
||||
{
|
||||
return [
|
||||
// Everything explicit.
|
||||
[
|
||||
'kubectl --namespace=vv exec --tty=false --stdin=false deploy/drupal --container=drupal -- ls',
|
||||
['ls'],
|
||||
[
|
||||
'kubectl' => [
|
||||
'tty' => false,
|
||||
'interactive' => false,
|
||||
'namespace' => 'vv',
|
||||
'resource' => 'deploy/drupal',
|
||||
'container' => 'drupal',
|
||||
]
|
||||
],
|
||||
],
|
||||
|
||||
// Minimal. Kubectl will pick a container.
|
||||
[
|
||||
'kubectl --namespace=vv exec --tty=false --stdin=false deploy/drupal -- ls',
|
||||
['ls'],
|
||||
[
|
||||
'kubectl' => [
|
||||
'namespace' => 'vv',
|
||||
'resource' => 'deploy/drupal',
|
||||
]
|
||||
],
|
||||
],
|
||||
|
||||
// Don't escape arguments after "--"
|
||||
[
|
||||
'kubectl --namespace=vv exec --tty=false --stdin=false deploy/drupal -- asdf "double" \'single\'',
|
||||
['asdf', '"double"', "'single'"],
|
||||
[
|
||||
'kubectl' => [
|
||||
'namespace' => 'vv',
|
||||
'resource' => 'deploy/drupal',
|
||||
]
|
||||
],
|
||||
],
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider wrapTestValues
|
||||
*/
|
||||
public function testWrap($expected, $args, $siteAliasData)
|
||||
{
|
||||
$siteAlias = new SiteAlias($siteAliasData, '@alias.dev');
|
||||
$dockerTransport = new KubectlTransport($siteAlias);
|
||||
$actual = $dockerTransport->wrap($args);
|
||||
$this->assertEquals($expected, implode(' ', $actual));
|
||||
}
|
||||
}
|
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
|
||||
namespace Consolidation\SiteProcess;
|
||||
|
||||
use Consolidation\SiteProcess\Transport\VagrantTransport;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
use Consolidation\SiteAlias\SiteAlias;
|
||||
|
||||
class VagrantTransportTest extends TestCase
|
||||
{
|
||||
/**
|
||||
* Data provider for testWrap.
|
||||
*/
|
||||
public function wrapTestValues()
|
||||
{
|
||||
return [
|
||||
[
|
||||
'vagrant ssh -c ls',
|
||||
[
|
||||
'vagrant' => []
|
||||
],
|
||||
]
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider wrapTestValues
|
||||
*/
|
||||
public function testWrap($expected, $siteAliasData)
|
||||
{
|
||||
$siteAlias = new SiteAlias($siteAliasData, '@alias.dev');
|
||||
$dockerTransport = new VagrantTransport($siteAlias);
|
||||
$actual = $dockerTransport->wrap(['ls']);
|
||||
$this->assertEquals($expected, implode(' ', $actual));
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user