12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- <?php
- use Docker\Composer\FileFormat2;
- use PHPUnit\Framework\TestCase;
- use Symfony\Component\Yaml\Yaml;
- require __DIR__ . "/../../../autoload.php";
- class BaseTest extends TestCase
- {
- public function testSimpleUsage()
- {
- $composer = new \Docker\Composer\FileFormat("", "2.2");
- $composer->addService("Base")->image("ubuntu:16.10");
- $composer->addService("Ftth")->image("ubuntu:17.10");
- $composer->addService("ubuntu")->image("ubuntu");
- $composer->addService("custom")->build("./custom");
- $composer->addService("test1")->build("./custom1")->addVolumes('volumen_test1_test2', '/opt/test1');
- $composer->addService("test2")->build("./custom2")->addVolumes('volumen_test1_test2', '/opt/test2')
- ->network('flowdat3')->ipv4_address("172.172.172.2");
- $composer->addService("test3")->build("./custom3")
- ->setReservationMemory("1G")
- ->setReservationCPU("1")
- ->setLimitCPU("0.3");
- $composer->getVolumes()->addVolumen('volumen_test1_test2', 'local');
- $nc = new \Docker\Composer\NetworkConfig();
- $nc->addDriver()->addSubnetGateway();
- $composer->getNetwork()->addDriver('flowdat3')->addConfig('flowdat3', $nc);
- $rtr = Yaml::parse($composer->render());
- $expected = array(
- "version" => "2.2",
- "services" => array(
- "Base" => array("image" => "ubuntu:16.10"),
- "Ftth" => array("image" => "ubuntu:17.10"),
- "ubuntu" => array("image" => "ubuntu"),
- "custom" => array("build" => array("context" => "./custom")),
- "test1" => array("build" => array("context" => "./custom1"), "volumes" => array('volumen_test1_test2:/opt/test1')),
- "test2" => array("build" => array("context" => "./custom2"), "volumes" => array('volumen_test1_test2:/opt/test2'),
- "networks" => array("flowdat3" => array("ipv4_address" => "172.172.172.2"))),
- "test3" => array("build" => array("context" => "./custom3"),
- "deploy" => array('resources' => array('reservations' => array("memory" => "1G", "cpus" => "1"), 'limits' => array("cpus" => "0.3")))),
- ),
- "volumes" => array('volumen_test1_test2' => array('driver' => 'local')),
- "networks" => array('flowdat3' => array('driver' => 'bridge',
- 'ipam' => array('driver' => 'default',
- 'config' => array(array('subnet' => '172.172.172.0/24'))))));
- $this->assertEquals($expected, $rtr);
- }
- }
|