Chris@5
|
1 <?php
|
Chris@5
|
2
|
Chris@5
|
3 namespace Consolidation\SiteProcess;
|
Chris@5
|
4
|
Chris@5
|
5 use Consolidation\SiteProcess\Transport\DockerComposeTransport;
|
Chris@5
|
6 use PHPUnit\Framework\TestCase;
|
Chris@5
|
7 use Consolidation\SiteAlias\SiteAlias;
|
Chris@5
|
8
|
Chris@5
|
9 class DockerComposeTransportTest extends TestCase
|
Chris@5
|
10 {
|
Chris@5
|
11 /**
|
Chris@5
|
12 * Data provider for testWrap.
|
Chris@5
|
13 */
|
Chris@5
|
14 public function wrapTestValues()
|
Chris@5
|
15 {
|
Chris@5
|
16 return [
|
Chris@5
|
17 [
|
Chris@5
|
18 'docker-compose --project project --project-directory projectDir --file myCompose.yml exec -T --user root drupal ls',
|
Chris@5
|
19 [
|
Chris@5
|
20 'docker' => [
|
Chris@5
|
21 'service' => 'drupal',
|
Chris@5
|
22 'compose' => [
|
Chris@5
|
23 'options' => '--project project --project-directory projectDir --file myCompose.yml'
|
Chris@5
|
24 ],
|
Chris@5
|
25 'exec' => ['options' => '--user root']
|
Chris@5
|
26 ]
|
Chris@5
|
27 ],
|
Chris@5
|
28 ],
|
Chris@5
|
29 [
|
Chris@5
|
30 'docker-compose exec -T drupal ls',
|
Chris@5
|
31 [
|
Chris@5
|
32 'docker' => [
|
Chris@5
|
33 'service' => 'drupal',
|
Chris@5
|
34 ]
|
Chris@5
|
35 ],
|
Chris@5
|
36 ],
|
Chris@5
|
37 [
|
Chris@5
|
38 'docker-compose --project project2 --file myCompose.yml exec -T drupal ls',
|
Chris@5
|
39 [
|
Chris@5
|
40 'docker' => [
|
Chris@5
|
41 'service' => 'drupal',
|
Chris@5
|
42 'project' => 'project1',
|
Chris@5
|
43 'compose' => [
|
Chris@5
|
44 'options' => '--project project2 --file myCompose.yml'
|
Chris@5
|
45 ]
|
Chris@5
|
46 ]
|
Chris@5
|
47 ],
|
Chris@5
|
48 ],
|
Chris@5
|
49 [
|
Chris@5
|
50 'docker-compose -p project1 --file myCompose.yml exec -T drupal ls',
|
Chris@5
|
51 [
|
Chris@5
|
52 'docker' => [
|
Chris@5
|
53 'service' => 'drupal',
|
Chris@5
|
54 'project' => 'project1',
|
Chris@5
|
55 'compose' => [
|
Chris@5
|
56 'options' => '--file myCompose.yml'
|
Chris@5
|
57 ]
|
Chris@5
|
58 ]
|
Chris@5
|
59 ],
|
Chris@5
|
60 ],
|
Chris@5
|
61 ];
|
Chris@5
|
62 }
|
Chris@5
|
63
|
Chris@5
|
64 /**
|
Chris@5
|
65 * @dataProvider wrapTestValues
|
Chris@5
|
66 */
|
Chris@5
|
67 public function testWrap($expected, $siteAliasData)
|
Chris@5
|
68 {
|
Chris@5
|
69 $siteAlias = new SiteAlias($siteAliasData, '@alias.dev');
|
Chris@5
|
70 $dockerTransport = new DockerComposeTransport($siteAlias);
|
Chris@5
|
71 $actual = $dockerTransport->wrap(['ls']);
|
Chris@5
|
72 $this->assertEquals($expected, implode(' ', $actual));
|
Chris@5
|
73 }
|
Chris@5
|
74 }
|