server()->getServiceStates(); static::$isMailSupported = isset($serviceStates['smtp']) && ('running' == $serviceStates['smtp']['state']); if (static::$isMailSupported) { static::$webspace = static::_createWebspace(); } } protected function setUp(): void { parent::setUp(); if (!static::$isMailSupported) { $this->markTestSkipped('Mail system is not supported.'); } } public function testCreate() { $mailname = static::$_client->mail()->create('test', static::$webspace->id, true, PasswordProvider::STRONG_PASSWORD); $this->assertIsInt($mailname->id); $this->assertGreaterThan(0, $mailname->id); $this->assertEquals('test', $mailname->name); static::$_client->mail()->delete('name', $mailname->name, static::$webspace->id); } public function testDelete() { $mailname = static::$_client->mail()->create('test', static::$webspace->id); $result = static::$_client->mail()->delete('name', $mailname->name, static::$webspace->id); $this->assertTrue($result); } public function testGet() { $mailname = static::$_client->mail()->create('test', static::$webspace->id); $mailnameInfo = static::$_client->mail()->get('test', static::$webspace->id); $this->assertEquals('test', $mailnameInfo->name); static::$_client->mail()->delete('name', $mailname->name, static::$webspace->id); } public function testGetAll() { $mailname = static::$_client->mail()->create('test', static::$webspace->id); $mailnamesInfo = static::$_client->mail()->getAll(static::$webspace->id); $this->assertCount(1, $mailnamesInfo); $this->assertEquals('test', $mailnamesInfo[0]->name); static::$_client->mail()->delete('name', $mailname->name, static::$webspace->id); } public function testGetAllWithoutMailnames() { $mailnamesInfo = static::$_client->mail()->getAll(static::$webspace->id); $this->assertCount(0, $mailnamesInfo); } }