59 lines
1.7 KiB
PHP
59 lines
1.7 KiB
PHP
<?php
|
|
|
|
namespace Appwrite\Tests;
|
|
|
|
use Appwrite\Docker\Compose;
|
|
use Exception;
|
|
use PHPUnit\Framework\TestCase;
|
|
|
|
class ComposeTest extends TestCase
|
|
{
|
|
/**
|
|
* @var Compose
|
|
*/
|
|
protected $object = null;
|
|
|
|
|
|
public function setUp(): void
|
|
{
|
|
$data = @file_get_contents(__DIR__.'/../../resources/docker/docker-compose.yml');
|
|
|
|
if($data === false) {
|
|
throw new Exception('Failed to read compose file');
|
|
}
|
|
|
|
$this->object = new Compose($data);
|
|
}
|
|
|
|
public function tearDown(): void
|
|
{
|
|
}
|
|
|
|
public function testVersion()
|
|
{
|
|
$this->assertEquals('3', $this->object->getVersion());
|
|
}
|
|
|
|
public function testServices()
|
|
{
|
|
$this->assertCount(17, $this->object->getServices());
|
|
$this->assertEquals('appwrite-telegraf', $this->object->getService('telegraf')->getContainerName());
|
|
$this->assertEquals('appwrite', $this->object->getService('appwrite')->getContainerName());
|
|
$this->assertEquals('', $this->object->getService('appwrite')->getImageVersion());
|
|
$this->assertEquals('2.2', $this->object->getService('traefik')->getImageVersion());
|
|
$this->assertEquals(['2080' => '80', '2443' => '443', '8080' => '8080'], $this->object->getService('traefik')->getPorts());
|
|
}
|
|
|
|
public function testNetworks()
|
|
{
|
|
$this->assertCount(2, $this->object->getNetworks());
|
|
}
|
|
|
|
public function testVolumes()
|
|
{
|
|
$this->assertCount(9, $this->object->getVolumes());
|
|
$this->assertEquals('appwrite-mariadb', $this->object->getVolumes()[0]);
|
|
$this->assertEquals('appwrite-redis', $this->object->getVolumes()[1]);
|
|
$this->assertEquals('appwrite-cache', $this->object->getVolumes()[2]);
|
|
}
|
|
}
|