Skip to content

Commit edf903f

Browse files
authored
Merge pull request #50 from mrsombre/fix-win-tests-2
Fix tests for running on Windows host Part 2
2 parents 1873c2a + a2b82f2 commit edf903f

File tree

10 files changed

+196
-178
lines changed

10 files changed

+196
-178
lines changed

phpunit.xml.dist

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
</filter>
1919

2020
<php>
21+
<ini name="error_reporting" value="-1"/>
2122
<env name="REMOTE_URL" value=""/>
2223
<env name="REMOTE_PASSWORD" value=""/>
2324
</php>

src/Api/Operator/PhpHandler.php

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,4 +29,29 @@ public function get($field, $value)
2929

3030
return new Info($xmlResult);
3131
}
32+
33+
/**
34+
* @param string|null $field
35+
* @param integer|string $value
36+
* @return Info[]
37+
*/
38+
public function getAll($field = null, $value = null)
39+
{
40+
$packet = $this->_client->getPacket();
41+
$getTag = $packet->addChild($this->_wrapperTag)->addChild('get');
42+
43+
$filterTag = $getTag->addChild('filter');
44+
if (!is_null($field)) {
45+
$filterTag->addChild($field, $value);
46+
}
47+
48+
$response = $this->_client->request($packet, Client::RESPONSE_FULL);
49+
$items = [];
50+
foreach ($response->xpath('//result') as $xmlResult) {
51+
$item = new Info($xmlResult);
52+
$items[] = $item;
53+
}
54+
55+
return $items;
56+
}
3257
}

tests/DatabaseTest.php

Lines changed: 33 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -4,41 +4,33 @@
44

55
class DatabaseTest extends TestCase
66
{
7-
/**
8-
* @var \PleskX\Api\Struct\Webspace\Info
9-
*/
10-
private static $_webspace;
7+
/** @var \PleskX\Api\Struct\Webspace\Info */
8+
private static $webspace;
119

1210
public static function setUpBeforeClass()
1311
{
1412
parent::setUpBeforeClass();
15-
static::$_webspace = static::_createWebspace('example.dom');
16-
}
17-
18-
public static function tearDownAfterClass()
19-
{
20-
parent::tearDownAfterClass();
21-
static::$_client->webspace()->delete('id', static::$_webspace->id);
13+
static::$webspace = static::_createWebspace();
2214
}
2315

2416
public function testCreate()
2517
{
2618
$database = $this->_createDatabase([
27-
'webspace-id' => static::$_webspace->id,
19+
'webspace-id' => static::$webspace->id,
2820
'name' => 'test1',
2921
'type' => 'mysql',
30-
'db-server-id' => 1
22+
'db-server-id' => 1,
3123
]);
3224
static::$_client->database()->delete('id', $database->id);
3325
}
3426

3527
public function testCreateUser()
3628
{
3729
$database = $this->_createDatabase([
38-
'webspace-id' => static::$_webspace->id,
30+
'webspace-id' => static::$webspace->id,
3931
'name' => 'test1',
4032
'type' => 'mysql',
41-
'db-server-id' => 1
33+
'db-server-id' => 1,
4234
]);
4335
$user = $this->_createUser([
4436
'db-id' => $database->id,
@@ -52,10 +44,10 @@ public function testCreateUser()
5244
public function testUpdateUser()
5345
{
5446
$database = $this->_createDatabase([
55-
'webspace-id' => static::$_webspace->id,
47+
'webspace-id' => static::$webspace->id,
5648
'name' => 'test1',
5749
'type' => 'mysql',
58-
'db-server-id' => 1
50+
'db-server-id' => 1,
5951
]);
6052
$user = $this->_createUser([
6153
'db-id' => $database->id,
@@ -65,7 +57,7 @@ public function testUpdateUser()
6557
$updatedUser = static::$_client->database()->updateUser([
6658
'id' => $user->id,
6759
'login' => 'test_user2',
68-
'password' => 'setup2Q'
60+
'password' => 'setup2Q',
6961
]);
7062
$this->assertEquals(true, $updatedUser);
7163
static::$_client->database()->deleteUser('id', $user->id);
@@ -75,16 +67,16 @@ public function testUpdateUser()
7567
public function testGetById()
7668
{
7769
$database = $this->_createDatabase([
78-
'webspace-id' => static::$_webspace->id,
70+
'webspace-id' => static::$webspace->id,
7971
'name' => 'test1',
8072
'type' => 'mysql',
81-
'db-server-id' => 1
73+
'db-server-id' => 1,
8274
]);
8375

8476
$db = static::$_client->database()->get('id', $database->id);
8577
$this->assertEquals('test1', $db->name);
8678
$this->assertEquals('mysql', $db->type);
87-
$this->assertEquals(static::$_webspace->id, $db->webspaceId);
79+
$this->assertEquals(static::$webspace->id, $db->webspaceId);
8880
$this->assertEquals(1, $db->dbServerId);
8981

9082
static::$_client->database()->delete('id', $database->id);
@@ -93,21 +85,21 @@ public function testGetById()
9385
public function testGetAllByWebspaceId()
9486
{
9587
$db1 = $this->_createDatabase([
96-
'webspace-id' => static::$_webspace->id,
88+
'webspace-id' => static::$webspace->id,
9789
'name' => 'test1',
9890
'type' => 'mysql',
99-
'db-server-id' => 1
91+
'db-server-id' => 1,
10092
]);
10193
$db2 = $this->_createDatabase([
102-
'webspace-id' => static::$_webspace->id,
94+
'webspace-id' => static::$webspace->id,
10395
'name' => 'test2',
10496
'type' => 'mysql',
105-
'db-server-id' => 1
97+
'db-server-id' => 1,
10698
]);
107-
$databases = static::$_client->database()->getAll('webspace-id', static::$_webspace->id);
99+
$databases = static::$_client->database()->getAll('webspace-id', static::$webspace->id);
108100
$this->assertEquals('test1', $databases[0]->name);
109101
$this->assertEquals('test2', $databases[1]->name);
110-
$this->assertEquals(static::$_webspace->id, $databases[0]->webspaceId);
102+
$this->assertEquals(static::$webspace->id, $databases[0]->webspaceId);
111103
$this->assertEquals(1, $databases[1]->dbServerId);
112104

113105
static::$_client->database()->delete('id', $db1->id);
@@ -117,10 +109,10 @@ public function testGetAllByWebspaceId()
117109
public function testGetUserById()
118110
{
119111
$database = $this->_createDatabase([
120-
'webspace-id' => static::$_webspace->id,
112+
'webspace-id' => static::$webspace->id,
121113
'name' => 'test1',
122114
'type' => 'mysql',
123-
'db-server-id' => 1
115+
'db-server-id' => 1,
124116
]);
125117

126118
$user = $this->_createUser([
@@ -140,16 +132,16 @@ public function testGetUserById()
140132
public function testGetAllUsersByDbId()
141133
{
142134
$db1 = $this->_createDatabase([
143-
'webspace-id' => static::$_webspace->id,
135+
'webspace-id' => static::$webspace->id,
144136
'name' => 'test1',
145137
'type' => 'mysql',
146-
'db-server-id' => 1
138+
'db-server-id' => 1,
147139
]);
148140
$db2 = $this->_createDatabase([
149-
'webspace-id' => static::$_webspace->id,
141+
'webspace-id' => static::$webspace->id,
150142
'name' => 'test2',
151143
'type' => 'mysql',
152-
'db-server-id' => 1
144+
'db-server-id' => 1,
153145
]);
154146
$user1 = $this->_createUser([
155147
'db-id' => $db1->id,
@@ -184,10 +176,10 @@ public function testGetAllUsersByDbId()
184176
public function testDelete()
185177
{
186178
$database = $this->_createDatabase([
187-
'webspace-id' => static::$_webspace->id,
179+
'webspace-id' => static::$webspace->id,
188180
'name' => 'test1',
189181
'type' => 'mysql',
190-
'db-server-id' => 1
182+
'db-server-id' => 1,
191183
]);
192184
$result = static::$_client->database()->delete('id', $database->id);
193185
$this->assertTrue($result);
@@ -196,10 +188,10 @@ public function testDelete()
196188
public function testDeleteUser()
197189
{
198190
$database = $this->_createDatabase([
199-
'webspace-id' => static::$_webspace->id,
191+
'webspace-id' => static::$webspace->id,
200192
'name' => 'test1',
201193
'type' => 'mysql',
202-
'db-server-id' => 1
194+
'db-server-id' => 1,
203195
]);
204196
$user = $this->_createUser([
205197
'db-id' => $database->id,
@@ -219,8 +211,9 @@ public function testDeleteUser()
219211
private function _createDatabase(array $params)
220212
{
221213
$database = static::$_client->database()->create($params);
222-
$this->assertInternalType('integer', $database->id);
214+
$this->assertIsInt($database->id);
223215
$this->assertGreaterThan(0, $database->id);
216+
224217
return $database;
225218
}
226219

@@ -231,8 +224,9 @@ private function _createDatabase(array $params)
231224
private function _createUser(array $params)
232225
{
233226
$user = static::$_client->database()->createUser($params);
234-
$this->assertInternalType('integer', $user->id);
227+
$this->assertIsInt($user->id);
235228
$this->assertGreaterThan(0, $user->id);
229+
236230
return $user;
237231
}
238232
}

tests/DnsTest.php

Lines changed: 23 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -4,66 +4,57 @@
44

55
class DnsTest extends TestCase
66
{
7-
/**
8-
* @var \PleskX\Api\Struct\Webspace\Info
9-
*/
10-
private static $_webspace;
7+
/** @var \PleskX\Api\Struct\Webspace\Info */
8+
private static $webspace;
119

12-
/**
13-
* @var bool
14-
*/
15-
private static $_isDnsSupported;
10+
private static $isDnsSupported;
1611

1712
public static function setUpBeforeClass()
1813
{
1914
parent::setUpBeforeClass();
2015

2116
$serviceStates = static::$_client->server()->getServiceStates();
22-
static::$_isDnsSupported = $serviceStates['dns'] && ('running' == $serviceStates['dns']['state']);
17+
static::$isDnsSupported = isset($serviceStates['dns']) && ('running' == $serviceStates['dns']['state']);
2318

24-
static::$_webspace = static::_createWebspace('example.dom');
25-
}
26-
27-
public static function tearDownAfterClass()
28-
{
29-
parent::tearDownAfterClass();
30-
static::$_client->webspace()->delete('id', static::$_webspace->id);
19+
if (static::$isDnsSupported) {
20+
static::$webspace = static::_createWebspace();
21+
}
3122
}
3223

3324
protected function setUp()
3425
{
3526
parent::setUp();
3627

37-
if (!static::$_isDnsSupported) {
28+
if (!static::$isDnsSupported) {
3829
$this->markTestSkipped('DNS system is not supported.');
3930
}
4031
}
4132

4233
public function testCreate()
4334
{
4435
$dns = static::$_client->dns()->create([
45-
'site-id' => static::$_webspace->id,
36+
'site-id' => static::$webspace->id,
4637
'type' => 'TXT',
4738
'host' => 'host',
48-
'value' => 'value'
39+
'value' => 'value',
4940
]);
50-
$this->assertInternalType('integer', $dns->id);
41+
$this->assertIsInt($dns->id);
5142
$this->assertGreaterThan(0, $dns->id);
5243
static::$_client->dns()->delete('id', $dns->id);
5344
}
5445

5546
public function testGetById()
5647
{
5748
$dns = static::$_client->dns()->create([
58-
'site-id' => static::$_webspace->id,
49+
'site-id' => static::$webspace->id,
5950
'type' => 'TXT',
6051
'host' => '',
61-
'value' => 'value'
52+
'value' => 'value',
6253
]);
6354

6455
$dnsInfo = static::$_client->dns()->get('id', $dns->id);
6556
$this->assertEquals('TXT', $dnsInfo->type);
66-
$this->assertEquals(static::$_webspace->id, $dnsInfo->siteId);
57+
$this->assertEquals(static::$webspace->id, $dnsInfo->siteId);
6758
$this->assertEquals('value', $dnsInfo->value);
6859

6960
static::$_client->dns()->delete('id', $dns->id);
@@ -72,27 +63,27 @@ public function testGetById()
7263
public function testGetAllByWebspaceId()
7364
{
7465
$dns = static::$_client->dns()->create([
75-
'site-id' => static::$_webspace->id,
66+
'site-id' => static::$webspace->id,
7667
'type' => 'DS',
7768
'host' => '',
78-
'value' => '60485 5 1 2BB183AF5F22588179A53B0A98631FAD1A292118'
69+
'value' => '60485 5 1 2BB183AF5F22588179A53B0A98631FAD1A292118',
7970
]);
8071
$dns2 = static::$_client->dns()->create([
81-
'site-id' => static::$_webspace->id,
72+
'site-id' => static::$webspace->id,
8273
'type' => 'DS',
8374
'host' => '',
84-
'value' => '60485 5 1 2BB183AF5F22588179A53B0A98631FAD1A292119'
75+
'value' => '60485 5 1 2BB183AF5F22588179A53B0A98631FAD1A292119',
8576
]);
86-
$dnsInfo = static::$_client->dns()->getAll('site-id', static::$_webspace->id);
77+
$dnsInfo = static::$_client->dns()->getAll('site-id', static::$webspace->id);
8778
$dsRecords = [];
8879
foreach ($dnsInfo as $dnsRec) {
89-
if ('DS' == $dnsRec->type ) {
80+
if ('DS' == $dnsRec->type) {
9081
$dsRecords[] = $dnsRec;
9182
}
9283
}
9384
$this->assertEquals(2, count($dsRecords));
9485
foreach ($dsRecords as $dsRecord) {
95-
$this->assertEquals(static::$_webspace->id, $dsRecord->siteId);
86+
$this->assertEquals(static::$webspace->id, $dsRecord->siteId);
9687
}
9788

9889
static::$_client->dns()->delete('id', $dns->id);
@@ -102,10 +93,10 @@ public function testGetAllByWebspaceId()
10293
public function testDelete()
10394
{
10495
$dns = static::$_client->dns()->create([
105-
'site-id' => static::$_webspace->id,
96+
'site-id' => static::$webspace->id,
10697
'type' => 'TXT',
10798
'host' => 'host',
108-
'value' => 'value'
99+
'value' => 'value',
109100
]);
110101
$result = static::$_client->dns()->delete('id', $dns->id);
111102
$this->assertTrue($result);

0 commit comments

Comments
 (0)