optimized CustomersTest and DomainsTest; minor fixes in SubDomains-ApiCommand; added more tests for SubDomains-Command
Signed-off-by: Michael Kaufmann (d00p) <d00p@froxlor.org>
This commit is contained in:
@@ -388,7 +388,7 @@ class SubDomains extends ApiCommand implements ResourceEntity
|
|||||||
} else {
|
} else {
|
||||||
$result_stmt = Database::prepare("
|
$result_stmt = Database::prepare("
|
||||||
SELECT * FROM `" . TABLE_PANEL_DOMAINS . "`
|
SELECT * FROM `" . TABLE_PANEL_DOMAINS . "`
|
||||||
WHERE " . ($id > 0 ? "`id` = :iddn" : "`domainname` = :iddn"));
|
WHERE " . ($id > 0 ? "`id` = :iddn" : "`domain` = :iddn"));
|
||||||
$params = array(
|
$params = array(
|
||||||
'iddn' => ($id <= 0 ? $domainname : $id)
|
'iddn' => ($id <= 0 ? $domainname : $id)
|
||||||
);
|
);
|
||||||
@@ -398,8 +398,8 @@ class SubDomains extends ApiCommand implements ResourceEntity
|
|||||||
throw new Exception("You cannot access this resource", 405);
|
throw new Exception("You cannot access this resource", 405);
|
||||||
}
|
}
|
||||||
$result_stmt = Database::prepare("
|
$result_stmt = Database::prepare("
|
||||||
SELECT `id`, `customerid`, `domain`, `documentroot`, `isemaildomain`, `parentdomainid`, `aliasdomain` FROM `" . TABLE_PANEL_DOMAINS . "`
|
SELECT `id`, `customerid`, `domain`, `documentroot`, `isemaildomain`, `parentdomainid`, `aliasdomain`, `caneditdomain` FROM `" . TABLE_PANEL_DOMAINS . "`
|
||||||
WHERE `customerid`= :customerid AND " . ($id > 0 ? "`id` = :iddn" : "`domainname` = :iddn"));
|
WHERE `customerid`= :customerid AND " . ($id > 0 ? "`id` = :iddn" : "`domain` = :iddn"));
|
||||||
$params = array(
|
$params = array(
|
||||||
'customerid' => $this->getUserDetail('customerid'),
|
'customerid' => $this->getUserDetail('customerid'),
|
||||||
'iddn' => ($id <= 0 ? $domainname : $id)
|
'iddn' => ($id <= 0 ? $domainname : $id)
|
||||||
@@ -427,7 +427,7 @@ class SubDomains extends ApiCommand implements ResourceEntity
|
|||||||
$customerid = $this->getParam('customerid', true, 0);
|
$customerid = $this->getParam('customerid', true, 0);
|
||||||
$loginname = $this->getParam('loginname', true, '');
|
$loginname = $this->getParam('loginname', true, '');
|
||||||
|
|
||||||
if (! empty($customer_id) || ! empty($loginname)) {
|
if (! empty($customerid) || ! empty($loginname)) {
|
||||||
$json_result = Customers::getLocal($this->getUserData(), array(
|
$json_result = Customers::getLocal($this->getUserData(), array(
|
||||||
'id' => $customerid,
|
'id' => $customerid,
|
||||||
'loginname' => $loginname
|
'loginname' => $loginname
|
||||||
|
|||||||
@@ -44,14 +44,6 @@ class CustomersTest extends TestCase
|
|||||||
|
|
||||||
$json_result = Customers::getLocal($admin_userdata, $data)->add();
|
$json_result = Customers::getLocal($admin_userdata, $data)->add();
|
||||||
$result = json_decode($json_result, true)['data'];
|
$result = json_decode($json_result, true)['data'];
|
||||||
$customer_id = $result['customerid'];
|
|
||||||
|
|
||||||
// get customer and check results
|
|
||||||
$json_result = Customers::getLocal($admin_userdata, array(
|
|
||||||
'id' => $customer_id
|
|
||||||
))->get();
|
|
||||||
$result = json_decode($json_result, true)['data'];
|
|
||||||
|
|
||||||
$this->assertEquals(1, $result['customerid']);
|
$this->assertEquals(1, $result['customerid']);
|
||||||
$this->assertEquals('test@froxlor.org', $result['email']);
|
$this->assertEquals('test@froxlor.org', $result['email']);
|
||||||
$this->assertEquals(1337, $result['customernumber']);
|
$this->assertEquals(1337, $result['customernumber']);
|
||||||
|
|||||||
@@ -116,7 +116,7 @@ class DomainsTest extends TestCase
|
|||||||
'customerid' => 1
|
'customerid' => 1
|
||||||
];
|
];
|
||||||
$this->expectExceptionMessage('You must not specify punycode (IDNA). The domain will automatically be converted');
|
$this->expectExceptionMessage('You must not specify punycode (IDNA). The domain will automatically be converted');
|
||||||
$json_result = Domains::getLocal($admin_userdata, $data)->add();
|
Domains::getLocal($admin_userdata, $data)->add();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testAdminDomainsAddInvalidDomain()
|
public function testAdminDomainsAddInvalidDomain()
|
||||||
@@ -127,7 +127,7 @@ class DomainsTest extends TestCase
|
|||||||
'customerid' => 1
|
'customerid' => 1
|
||||||
];
|
];
|
||||||
$this->expectExceptionMessage("Wrong Input in Field 'Domain'");
|
$this->expectExceptionMessage("Wrong Input in Field 'Domain'");
|
||||||
$json_result = Domains::getLocal($admin_userdata, $data)->add();
|
Domains::getLocal($admin_userdata, $data)->add();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -8,6 +8,45 @@ use PHPUnit\Framework\TestCase;
|
|||||||
*/
|
*/
|
||||||
class SubDomainsTest extends TestCase
|
class SubDomainsTest extends TestCase
|
||||||
{
|
{
|
||||||
|
public function testCustomerSubDomainsAdd()
|
||||||
|
{
|
||||||
|
global $admin_userdata;
|
||||||
|
|
||||||
|
// get customer
|
||||||
|
$json_result = Customers::getLocal($admin_userdata, array(
|
||||||
|
'loginname' => 'test1'
|
||||||
|
))->get();
|
||||||
|
$customer_userdata = json_decode($json_result, true)['data'];
|
||||||
|
|
||||||
|
$data = [
|
||||||
|
'subdomain' => 'mysub',
|
||||||
|
'domain' => 'test2.local'
|
||||||
|
];
|
||||||
|
$json_result = SubDomains::getLocal($customer_userdata, $data)->add();
|
||||||
|
$result = json_decode($json_result, true)['data'];
|
||||||
|
$this->assertEquals('mysub.test2.local', $result['domain']);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testResellerSubDomainsAdd()
|
||||||
|
{
|
||||||
|
global $admin_userdata;
|
||||||
|
// get reseller
|
||||||
|
$json_result = Admins::getLocal($admin_userdata, array(
|
||||||
|
'loginname' => 'reseller'
|
||||||
|
))->get();
|
||||||
|
$reseller_userdata = json_decode($json_result, true)['data'];
|
||||||
|
$reseller_userdata['adminsession'] = 1;
|
||||||
|
|
||||||
|
$data = [
|
||||||
|
'subdomain' => 'mysub2',
|
||||||
|
'domain' => 'test2.local',
|
||||||
|
'customer_id' => 1
|
||||||
|
];
|
||||||
|
$json_result = SubDomains::getLocal($reseller_userdata, $data)->add();
|
||||||
|
$result = json_decode($json_result, true)['data'];
|
||||||
|
$this->assertEquals('mysub2.test2.local', $result['domain']);
|
||||||
|
}
|
||||||
|
|
||||||
public function testCustomerSubDomainsAddNoPunycode()
|
public function testCustomerSubDomainsAddNoPunycode()
|
||||||
{
|
{
|
||||||
global $admin_userdata;
|
global $admin_userdata;
|
||||||
@@ -61,4 +100,79 @@ class SubDomainsTest extends TestCase
|
|||||||
$this->expectExceptionMessage("Wrong Input in Field 'Domain'");
|
$this->expectExceptionMessage("Wrong Input in Field 'Domain'");
|
||||||
SubDomains::getLocal($customer_userdata, $data)->add();
|
SubDomains::getLocal($customer_userdata, $data)->add();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @depends testCustomerSubDomainsAdd
|
||||||
|
*/
|
||||||
|
public function testAdminSubDomainsGet()
|
||||||
|
{
|
||||||
|
global $admin_userdata;
|
||||||
|
|
||||||
|
// get customer
|
||||||
|
$json_result = Customers::getLocal($admin_userdata, array(
|
||||||
|
'loginname' => 'test1'
|
||||||
|
))->get();
|
||||||
|
$customer_userdata = json_decode($json_result, true)['data'];
|
||||||
|
|
||||||
|
$data = [
|
||||||
|
'domainname' => 'mysub.test2.local'
|
||||||
|
];
|
||||||
|
$json_result = SubDomains::getLocal($admin_userdata, $data)->get();
|
||||||
|
$result = json_decode($json_result, true)['data'];
|
||||||
|
$this->assertEquals('mysub.test2.local', $result['domain']);
|
||||||
|
$this->assertEquals(1, $result['customerid']);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testCustomerSubDomainsList()
|
||||||
|
{
|
||||||
|
global $admin_userdata;
|
||||||
|
|
||||||
|
// get customer
|
||||||
|
$json_result = Customers::getLocal($admin_userdata, array(
|
||||||
|
'loginname' => 'test1'
|
||||||
|
))->get();
|
||||||
|
$customer_userdata = json_decode($json_result, true)['data'];
|
||||||
|
$json_result = SubDomains::getLocal($customer_userdata)->list();
|
||||||
|
$result = json_decode($json_result, true)['data'];
|
||||||
|
$this->assertEquals(3, $result['count']);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testResellerSubDomainsList()
|
||||||
|
{
|
||||||
|
global $admin_userdata;
|
||||||
|
// get reseller
|
||||||
|
$json_result = Admins::getLocal($admin_userdata, array(
|
||||||
|
'loginname' => 'reseller'
|
||||||
|
))->get();
|
||||||
|
$reseller_userdata = json_decode($json_result, true)['data'];
|
||||||
|
$reseller_userdata['adminsession'] = 1;
|
||||||
|
$json_result = SubDomains::getLocal($reseller_userdata)->list();
|
||||||
|
$result = json_decode($json_result, true)['data'];
|
||||||
|
$this->assertEquals(3, $result['count']);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testAdminSubDomainsListWithCustomer()
|
||||||
|
{
|
||||||
|
global $admin_userdata;
|
||||||
|
$json_result = SubDomains::getLocal($admin_userdata, ['loginname' => 'test1'])->list();
|
||||||
|
$result = json_decode($json_result, true)['data'];
|
||||||
|
$this->assertEquals(3, $result['count']);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @depends testCustomerSubDomainsList
|
||||||
|
*/
|
||||||
|
public function testCustomerSubDomainsDelete()
|
||||||
|
{
|
||||||
|
global $admin_userdata;
|
||||||
|
// get customer
|
||||||
|
$json_result = Customers::getLocal($admin_userdata, array(
|
||||||
|
'loginname' => 'test1'
|
||||||
|
))->get();
|
||||||
|
$customer_userdata = json_decode($json_result, true)['data'];
|
||||||
|
$json_result = SubDomains::getLocal($customer_userdata, ['domainname' => 'mysub.test2.local'])->delete();
|
||||||
|
$result = json_decode($json_result, true)['data'];
|
||||||
|
$this->assertEquals('mysub.test2.local', $result['domain']);
|
||||||
|
$this->assertEquals($customer_userdata['customerid'], $result['customerid']);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user