add first unit tests for DomainZones ApiCommand

Signed-off-by: Michael Kaufmann (d00p) <d00p@froxlor.org>
This commit is contained in:
Michael Kaufmann (d00p)
2018-03-22 14:56:18 +01:00
parent bd7f2c2654
commit 48d7110779
5 changed files with 90 additions and 10 deletions

View File

@@ -0,0 +1,68 @@
<?php
use PHPUnit\Framework\TestCase;
/**
*
* @covers ApiCommand
* @covers ApiParameter
* @covers SubDomains
* @covers DomainZones
*/
class DomainZonesTest extends TestCase
{
public function testCustomerDomainZonesGet()
{
global $admin_userdata;
Settings::Set('system.dnsenabled', 1, true);
// get customer
$json_result = Customers::getLocal($admin_userdata, array(
'loginname' => 'test1'
))->get();
$customer_userdata = json_decode($json_result, true)['data'];
$data = [
'domainname' => 'test2.local'
];
$json_result = DomainZones::getLocal($customer_userdata, $data)->get();
$result = json_decode($json_result, true)['data'];
$this->assertTrue(count($result) > 1);
$this->assertEquals('$ORIGIN test2.local.', $result[1]);
}
public function testCustomerDomainZonesGetNoSubdomains()
{
global $admin_userdata;
Settings::Set('system.dnsenabled', 1, true);
// get customer
$json_result = Customers::getLocal($admin_userdata, array(
'loginname' => 'test1'
))->get();
$customer_userdata = json_decode($json_result, true)['data'];
$data = [
'domainname' => 'mysub2.test2.local'
];
$this->expectExceptionCode(406);
$this->expectExceptionMessage("DNS zones can only be generated for the main domain, not for subdomains");
DomainZones::getLocal($customer_userdata, $data)->get();
}
public function testAdminDomainZonesListing()
{
global $admin_userdata;
$this->expectExceptionCode(303);
DomainZones::getLocal($admin_userdata)->listing();
}
public function testAdminDomainZonesUpdate()
{
global $admin_userdata;
$this->expectExceptionCode(303);
DomainZones::getLocal($admin_userdata)->update();
}
}

View File

@@ -68,7 +68,8 @@ class DomainsTest extends TestCase
$reseller_userdata['caneditphpsettings'] = 1;
$data = [
'domain' => 'test2.local',
'customerid' => 1
'customerid' => 1,
'isbinddomain' => 1
];
// the reseller is not allowed to use the default ip/port
$this->expectExceptionMessage("The ip/port combination you have chosen doesn't exist.");