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 {
|
||||
$result_stmt = Database::prepare("
|
||||
SELECT * FROM `" . TABLE_PANEL_DOMAINS . "`
|
||||
WHERE " . ($id > 0 ? "`id` = :iddn" : "`domainname` = :iddn"));
|
||||
WHERE " . ($id > 0 ? "`id` = :iddn" : "`domain` = :iddn"));
|
||||
$params = array(
|
||||
'iddn' => ($id <= 0 ? $domainname : $id)
|
||||
);
|
||||
@@ -398,8 +398,8 @@ class SubDomains extends ApiCommand implements ResourceEntity
|
||||
throw new Exception("You cannot access this resource", 405);
|
||||
}
|
||||
$result_stmt = Database::prepare("
|
||||
SELECT `id`, `customerid`, `domain`, `documentroot`, `isemaildomain`, `parentdomainid`, `aliasdomain` FROM `" . TABLE_PANEL_DOMAINS . "`
|
||||
WHERE `customerid`= :customerid AND " . ($id > 0 ? "`id` = :iddn" : "`domainname` = :iddn"));
|
||||
SELECT `id`, `customerid`, `domain`, `documentroot`, `isemaildomain`, `parentdomainid`, `aliasdomain`, `caneditdomain` FROM `" . TABLE_PANEL_DOMAINS . "`
|
||||
WHERE `customerid`= :customerid AND " . ($id > 0 ? "`id` = :iddn" : "`domain` = :iddn"));
|
||||
$params = array(
|
||||
'customerid' => $this->getUserDetail('customerid'),
|
||||
'iddn' => ($id <= 0 ? $domainname : $id)
|
||||
@@ -427,7 +427,7 @@ class SubDomains extends ApiCommand implements ResourceEntity
|
||||
$customerid = $this->getParam('customerid', true, 0);
|
||||
$loginname = $this->getParam('loginname', true, '');
|
||||
|
||||
if (! empty($customer_id) || ! empty($loginname)) {
|
||||
if (! empty($customerid) || ! empty($loginname)) {
|
||||
$json_result = Customers::getLocal($this->getUserData(), array(
|
||||
'id' => $customerid,
|
||||
'loginname' => $loginname
|
||||
|
||||
@@ -44,14 +44,6 @@ class CustomersTest extends TestCase
|
||||
|
||||
$json_result = Customers::getLocal($admin_userdata, $data)->add();
|
||||
$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('test@froxlor.org', $result['email']);
|
||||
$this->assertEquals(1337, $result['customernumber']);
|
||||
|
||||
@@ -116,7 +116,7 @@ class DomainsTest extends TestCase
|
||||
'customerid' => 1
|
||||
];
|
||||
$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()
|
||||
@@ -127,7 +127,7 @@ class DomainsTest extends TestCase
|
||||
'customerid' => 1
|
||||
];
|
||||
$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
|
||||
{
|
||||
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()
|
||||
{
|
||||
global $admin_userdata;
|
||||
@@ -61,4 +100,79 @@ class SubDomainsTest extends TestCase
|
||||
$this->expectExceptionMessage("Wrong Input in Field 'Domain'");
|
||||
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