introduce search, limit, offset and orderby possibilities for (almost) all API listing() functions; added listingCount() function in preparation to replace the old UI\Paging class later on

Signed-off-by: Michael Kaufmann <d00p@froxlor.org>
This commit is contained in:
Michael Kaufmann
2019-11-02 10:58:52 +01:00
parent b162324ff0
commit 1b2c186c07
41 changed files with 1149 additions and 130 deletions

View File

@@ -156,6 +156,51 @@ class AdminsTest extends TestCase
$json_result = Admins::getLocal($admin_userdata)->listing();
$result = json_decode($json_result, true)['data'];
$this->assertEquals(2, $result['count']);
$json_result = Admins::getLocal($admin_userdata)->listingCount();
$result = json_decode($json_result, true)['data'];
$this->assertEquals(2, $result);
}
public function testAdminAdminsListLimitOffsetOrderSearch()
{
global $admin_userdata;
$json_result = Admins::getLocal($admin_userdata, [
'sql_orderby' => [
'loginname' => 'DESC'
]
])->listing();
$result = json_decode($json_result, true)['data'];
$this->assertEquals(2, $result['count']);
$this->assertEquals('reseller', $result['list'][0]['loginname']);
$json_result = Admins::getLocal($admin_userdata, [
'sql_limit' => 1
])->listing();
$result = json_decode($json_result, true)['data'];
$this->assertEquals(1, $result['count']);
$this->assertEquals('admin', $result['list'][0]['loginname']);
$json_result = Admins::getLocal($admin_userdata, [
'sql_limit' => 1,
'sql_offset' => 1
])->listing();
$result = json_decode($json_result, true)['data'];
$this->assertEquals(1, $result['count']);
$this->assertEquals('reseller', $result['list'][0]['loginname']);
$json_result = Admins::getLocal($admin_userdata, [
'sql_search' => [
'loginname' => [
'value' => 'adm',
'op' => null /* LIKE */
]
]
])->listing();
$result = json_decode($json_result, true)['data'];
$this->assertEquals(1, $result['count']);
$this->assertEquals('admin', $result['list'][0]['loginname']);
}
public function testResellerAdminsGet()

View File

@@ -154,6 +154,10 @@ class CustomerBackupsTest extends TestCase
$this->assertEquals('1', $result['list'][0]['data']['backup_dbs']);
$this->assertEquals('1', $result['list'][0]['data']['backup_mail']);
$this->assertEquals('1', $result['list'][0]['data']['backup_web']);
$json_result = CustomerBackups::getLocal($admin_userdata)->listingCount();
$result = json_decode($json_result, true)['data'];
$this->assertEquals(1, $result);
}
/**

View File

@@ -74,6 +74,10 @@ class CertificatesTest extends TestCase
$json_result = Certificates::getLocal($admin_userdata)->listing();
$result = json_decode($json_result, true)['data'];
$this->assertEquals(2, $result['count']);
$json_result = Certificates::getLocal($admin_userdata)->listingCount();
$result = json_decode($json_result, true)['data'];
$this->assertEquals(2, $result);
}
public function testResellerCertificatesList()
@@ -89,6 +93,10 @@ class CertificatesTest extends TestCase
$json_result = Certificates::getLocal($reseller_userdata)->listing();
$result = json_decode($json_result, true)['data'];
$this->assertEquals(2, $result['count']);
$json_result = Certificates::getLocal($reseller_userdata)->listingCount();
$result = json_decode($json_result, true)['data'];
$this->assertEquals(2, $result);
}
public function testCustomerCertificatesList()
@@ -103,6 +111,10 @@ class CertificatesTest extends TestCase
$json_result = Certificates::getLocal($customer_userdata)->listing();
$result = json_decode($json_result, true)['data'];
$this->assertEquals(2, $result['count']);
$json_result = Certificates::getLocal($customer_userdata)->listingCount();
$result = json_decode($json_result, true)['data'];
$this->assertEquals(2, $result);
}
public function testAdminCertificatesUpdate()

View File

@@ -21,6 +21,10 @@ class CronjobsTest extends TestCase
$result = json_decode($json_result, true)['data'];
$this->assertTrue(isset($result['list'][0]['module']));
$this->assertTrue(isset($result['list'][0]['cronfile']));
$json_result = Cronjobs::getLocal($admin_userdata)->listingCount();
$result = json_decode($json_result, true)['data'];
$this->assertEquals(6, $result);
}
public function testCustomerCronjobsListNotAllowed()

View File

@@ -110,6 +110,10 @@ class CustomersTest extends TestCase
$json_result = Customers::getLocal($admin_userdata)->listing();
$result = json_decode($json_result, true)['data'];
$this->assertEquals(1, $result['count']);
$json_result = Customers::getLocal($admin_userdata)->listingCount();
$result = json_decode($json_result, true)['data'];
$this->assertEquals(1, $result);
}
/**
@@ -128,6 +132,10 @@ class CustomersTest extends TestCase
$json_result = Customers::getLocal($reseller_userdata)->listing();
$result = json_decode($json_result, true)['data'];
$this->assertEquals(0, $result['count']);
$json_result = Customers::getLocal($reseller_userdata)->listingCount();
$result = json_decode($json_result, true)['data'];
$this->assertEquals(0, $result);
}
/**
@@ -145,8 +153,11 @@ class CustomersTest extends TestCase
$this->expectExceptionCode(403);
$this->expectExceptionMessage("Not allowed to execute given command.");
$json_result = Customers::getLocal($customer_userdata)->listing();
$this->expectExceptionCode(403);
$this->expectExceptionMessage("Not allowed to execute given command.");
$json_result = Customers::getLocal($customer_userdata)->listingCount();
}
/**

View File

@@ -83,6 +83,10 @@ class HostingPlansTest extends TestCase
$json_result = HostingPlans::getLocal($admin_userdata)->listing();
$result = json_decode($json_result, true)['data'];
$this->assertEquals(1, $result['count']);
$json_result = HostingPlans::getLocal($admin_userdata)->listingCount();
$result = json_decode($json_result, true)['data'];
$this->assertEquals(1, $result);
}
/**
@@ -101,6 +105,10 @@ class HostingPlansTest extends TestCase
$json_result = HostingPlans::getLocal($reseller_userdata)->listing();
$result = json_decode($json_result, true)['data'];
$this->assertEquals(0, $result['count']);
$json_result = HostingPlans::getLocal($reseller_userdata)->listingCount();
$result = json_decode($json_result, true)['data'];
$this->assertEquals(0, $result);
}
/**
@@ -118,8 +126,11 @@ class HostingPlansTest extends TestCase
$this->expectExceptionCode(403);
$this->expectExceptionMessage("Not allowed to execute given command.");
$json_result = HostingPlans::getLocal($customer_userdata)->listing();
$this->expectExceptionCode(403);
$this->expectExceptionMessage("Not allowed to execute given command.");
$json_result = HostingPlans::getLocal($customer_userdata)->listingCount();
}
public function testCustomerPlanAdd()

View File

@@ -116,6 +116,10 @@ class DomainZonesTest extends TestCase
$result = json_decode($json_result, true)['data'];
$this->assertEquals(1, $result['count']);
$this->assertEquals('www2', $result['list'][0]['record']);
$json_result = DomainZones::getLocal($admin_userdata, $data)->listingCount();
$result = json_decode($json_result, true)['data'];
$this->assertEquals(1, $result);
}
/**

View File

@@ -50,6 +50,10 @@ class DomainsTest extends TestCase
$result = json_decode($json_result, true)['data'];
$this->assertEquals(1, $result['count']);
$this->assertEquals('test.local', $result['list'][0]['domain']);
$json_result = Domains::getLocal($admin_userdata)->listingCount();
$result = json_decode($json_result, true)['data'];
$this->assertEquals(1, $result);
}
/**
@@ -68,6 +72,10 @@ class DomainsTest extends TestCase
$json_result = Domains::getLocal($reseller_userdata)->listing();
$result = json_decode($json_result, true)['data'];
$this->assertEquals(0, $result['count']);
$json_result = Domains::getLocal($reseller_userdata)->listingCount();
$result = json_decode($json_result, true)['data'];
$this->assertEquals(0, $result);
}
public function testResellerDomainsAddWithCanEditPhpSettingsDefaultIp()
@@ -234,4 +242,22 @@ class DomainsTest extends TestCase
'loginname' => 'test3'
))->delete();
}
public function testCustomerDomainsList()
{
global $admin_userdata;
// get customer
$json_result = Customers::getLocal($admin_userdata, array(
'id' => 1
))->get();
$customer_userdata = json_decode($json_result, true)['data'];
$this->expectExceptionCode(403);
$this->expectExceptionMessage("Not allowed to execute given command.");
$json_result = Domains::getLocal($customer_userdata)->listing();
$this->expectExceptionCode(403);
$this->expectExceptionMessage("Not allowed to execute given command.");
$json_result = Domains::getLocal($customer_userdata)->listingCount();
}
}

View File

@@ -362,6 +362,10 @@ class MailsTest extends TestCase
$this->assertEquals(2, $result['count']);
$this->assertEquals("info@test2.local", $result['list'][0]['email']);
$this->assertEquals("@test2.local", $result['list'][1]['email']);
$json_result = Emails::getLocal($customer_userdata)->listingCount();
$result = json_decode($json_result, true)['data'];
$this->assertEquals(2, $result);
}
public function testCustomerEmailAccountsAdd()

View File

@@ -158,6 +158,10 @@ class DirOptionsTest extends TestCase
$result = json_decode($json_result, true)['data'];
$this->assertEquals(1, $result['count']);
$this->assertEquals($customer_userdata['documentroot'] . 'test/', $result['list'][0]['path']);
$json_result = DirOptions::getLocal($admin_userdata)->listingCount();
$result = json_decode($json_result, true)['data'];
$this->assertEquals(1, $result);
}
/**

View File

@@ -175,6 +175,10 @@ class DirProtectionsTest extends TestCase
$this->assertEquals(2, $result['count']);
$this->assertEquals('test1', $result['list'][0]['username']);
$this->assertEquals('testing', $result['list'][1]['username']);
$json_result = DirProtections::getLocal($customer_userdata)->listingCount();
$result = json_decode($json_result, true)['data'];
$this->assertEquals(2, $result);
}
/**

View File

@@ -88,6 +88,10 @@ class FtpsTest extends TestCase
$json_result = Ftps::getLocal($admin_userdata)->listing();
$result = json_decode($json_result, true)['data'];
$this->assertEquals(2, $result['count']);
$json_result = Ftps::getLocal($admin_userdata)->listingCount();
$result = json_decode($json_result, true)['data'];
$this->assertEquals(2, $result);
}
public function testAdminFtpsListSpecificCustomer()
@@ -115,6 +119,10 @@ class FtpsTest extends TestCase
$result = json_decode($json_result, true)['data'];
$this->assertEquals(1, $result['count']);
$this->assertEquals('test1', $result['list'][0]['username']);
$json_result = Ftps::getLocal($reseller_userdata)->listingCount();
$result = json_decode($json_result, true)['data'];
$this->assertEquals(1, $result);
}
public function testCustomerFtpsList()
@@ -129,6 +137,10 @@ class FtpsTest extends TestCase
$result = json_decode($json_result, true)['data'];
$this->assertEquals(1, $result['count']);
$this->assertEquals('test1', $result['list'][0]['username']);
$json_result = Ftps::getLocal($customer_userdata)->listingCount();
$result = json_decode($json_result, true)['data'];
$this->assertEquals(1, $result);
}
public function testCustomerFtpsAdd()

View File

@@ -21,6 +21,10 @@ class IpsAndPortsTest extends TestCase
$result = json_decode($json_result, true)['data'];
$this->assertEquals(2, $result['count']);
$this->assertEquals('82.149.225.46', $result['list'][0]['ip']);
$json_result = IpsAndPorts::getLocal($admin_userdata)->listingCount();
$result = json_decode($json_result, true)['data'];
$this->assertEquals(2, $result);
}
public function testResellerIpsAndPortsListHasNone()
@@ -107,6 +111,10 @@ class IpsAndPortsTest extends TestCase
$result = json_decode($json_result, true)['data'];
$this->assertEquals(1, $result['count']);
$this->assertEquals('82.149.225.47', $result['list'][0]['ip']);
$json_result = IpsAndPorts::getLocal($reseller_userdata)->listingCount();
$result = json_decode($json_result, true)['data'];
$this->assertEquals(1, $result);
}
/**

View File

@@ -139,6 +139,10 @@ class MysqlsTest extends TestCase
$result = json_decode($json_result, true)['data'];
$this->assertEquals(1, $result['count']);
$this->assertEquals('test1sql1', $result['list'][0]['databasename']);
$json_result = Mysqls::getLocal($customer_userdata)->listingCount();
$result = json_decode($json_result, true)['data'];
$this->assertEquals(1, $result);
}
/**

View File

@@ -141,6 +141,10 @@ class FpmDaemonsTest extends TestCase
$this->assertEquals(2, $result['count']);
$this->assertEquals('System default', $result['list'][0]['description']);
$this->assertEquals('test2 fpm edit', $result['list'][1]['description']);
$json_result = FpmDaemons::getLocal($admin_userdata)->listingCount();
$result = json_decode($json_result, true)['data'];
$this->assertEquals(2, $result);
}
public function testAdminFpmDaemonsGetNotFound()
@@ -190,6 +194,10 @@ class FpmDaemonsTest extends TestCase
$this->expectExceptionCode(403);
$this->expectExceptionMessage("Not allowed to execute given command.");
FpmDaemons::getLocal($customer_userdata)->listing();
$this->expectExceptionCode(403);
$this->expectExceptionMessage("Not allowed to execute given command.");
FpmDaemons::getLocal($customer_userdata)->listingCount();
}
public function testCustomerFpmDaemonsUpdate()

View File

@@ -23,6 +23,10 @@ class PhpSettingsText extends TestCase
$result = json_decode($json_result, true)['data'];
$this->assertEquals("Default Config", $result['list'][0]['description']);
$this->assertEquals("/usr/bin/php-cgi", $result['list'][0]['binary']);
$json_result = PhpSettings::getLocal($admin_userdata)->listingCount();
$result = json_decode($json_result, true)['data'];
$this->assertEquals(2, $result);
}
public function testCustomerPhpSettingsListNotAllowed()
@@ -36,6 +40,10 @@ class PhpSettingsText extends TestCase
$this->expectExceptionCode(403);
$this->expectExceptionMessage("Not allowed to execute given command.");
PhpSettings::getLocal($customer_userdata)->listing();
$this->expectExceptionCode(403);
$this->expectExceptionMessage("Not allowed to execute given command.");
PhpSettings::getLocal($customer_userdata)->listingCount();
}
public function testAdminPhpSettingsAdd()

View File

@@ -201,6 +201,10 @@ class SubDomainsTest extends TestCase
$json_result = SubDomains::getLocal($customer_userdata)->listing();
$result = json_decode($json_result, true)['data'];
$this->assertEquals(3, $result['count']);
$json_result = SubDomains::getLocal($customer_userdata)->listingCount();
$result = json_decode($json_result, true)['data'];
$this->assertEquals(3, $result);
}
public function testResellerSubDomainsList()
@@ -215,6 +219,10 @@ class SubDomainsTest extends TestCase
$json_result = SubDomains::getLocal($reseller_userdata)->listing();
$result = json_decode($json_result, true)['data'];
$this->assertEquals(3, $result['count']);
$json_result = SubDomains::getLocal($reseller_userdata)->listingCount();
$result = json_decode($json_result, true)['data'];
$this->assertEquals(3, $result);
}
public function testAdminSubDomainsListWithCustomer()
@@ -225,6 +233,12 @@ class SubDomainsTest extends TestCase
])->listing();
$result = json_decode($json_result, true)['data'];
$this->assertEquals(3, $result['count']);
$json_result = SubDomains::getLocal($admin_userdata, [
'loginname' => 'test1'
])->listingCount();
$result = json_decode($json_result, true)['data'];
$this->assertEquals(3, $result);
}
/**

View File

@@ -79,6 +79,10 @@ class TrafficTest extends TestCase
$this->assertEquals(1, $result['count']);
$http = 2 * (5 * 1024 * 1024 * 1024); // 2x 5 GB
$this->assertEquals($http, $result['list'][0]['http']);
$this->expectExceptionCode(303);
$this->expectExceptionMessage("You cannot count the traffic data list");
Traffic::getLocal($admin_userdata)->listingCount();
}
public function testAdminTrafficListSpecificDate()
@@ -120,6 +124,10 @@ class TrafficTest extends TestCase
$this->assertEquals(1, $result['count']);
$mail = 250 * 1024 * 1024; // 250 MB
$this->assertEquals($mail, $result['list'][0]['mail']);
$this->expectExceptionCode(303);
$this->expectExceptionMessage("You cannot count the traffic data list");
Traffic::getLocal($admin_userdata)->listingCount();
}
public function testAdminTrafficAdd()