Skip to content

Commit 0958a49

Browse files
committed
Refactor tests to use setUp() rather than repeated code
1 parent 2d3ddb9 commit 0958a49

File tree

1 file changed

+19
-35
lines changed

1 file changed

+19
-35
lines changed

tests/PHPCouchDB/ServerTest.php

Lines changed: 19 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -11,32 +11,33 @@
1111

1212
class ServerTest extends \PHPUnit\Framework\TestCase
1313
{
14-
public function testCreateWithURL() {
15-
$url = "http://localhost:5984";
14+
public function setUp() {
15+
// use some url and client variables
16+
$this->url = "http://localhost:5984";
17+
$this->client = new \GuzzleHttp\Client(["base_uri" => $this->url]);
18+
19+
// create the first request to check we can connect, can be added to
20+
// the mocks for any test that wants it
21+
$couchdb1 = '{"couchdb":"Welcome","uuid":"fce3d5aabfe189c988273c0ffa8d375b","version":"1.6.0","vendor":{"name":"Ubuntu","version":"15.10"}}';
22+
$this->db_response = new Response(200, [], $couchdb1);
23+
}
1624

17-
$server = new \PHPCouchDB\Server(["url" => $url]);
25+
public function testCreateWithURL() {
26+
$server = new \PHPCouchDB\Server(["url" => $this->url]);
1827

1928
$this->assertObjectHasAttribute('client', $server);
2029
$this->assertAttributeInstanceOf('\GuzzleHttp\ClientInterface', 'client', $server);
2130
}
2231

2332
public function testCreateWithClient() {
24-
$url = "http://localhost:5984";
25-
$client = new \GuzzleHttp\Client(["base_uri" => $url]);
26-
27-
$server = new \PHPCouchDB\Server(["client" => $client]);
33+
$server = new \PHPCouchDB\Server(["client" => $this->client]);
2834

2935
$this->assertObjectHasAttribute('client', $server);
3036
$this->assertAttributeInstanceOf('\GuzzleHttp\ClientInterface', 'client', $server);
3137
}
3238

3339
public function testGetVersion() {
34-
35-
$couchdb1 = '{"couchdb":"Welcome","uuid":"fce3d5aabfe189c988273c0ffa8d375b","version":"1.6.0","vendor":{"name":"Ubuntu","version":"15.10"}}';
36-
$response1 = new Response(200, [], $couchdb1);
37-
38-
// Create a mock and queue two responses.
39-
$mock = new MockHandler([ $response1, $response1 ]);
40+
$mock = new MockHandler([ $this->db_response, $this->db_response ]);
4041

4142
$handler = HandlerStack::create($mock);
4243
$client = new Client(['handler' => $handler]);
@@ -48,30 +49,23 @@ public function testGetVersion() {
4849
}
4950

5051
public function testGetAllDbs() {
51-
$couchdb1 = '{"couchdb":"Welcome","uuid":"fce3d5aabfe189c988273c0ffa8d375b","version":"1.6.0","vendor":{"name":"Ubuntu","version":"15.10"}}';
52-
$db_response = new Response(200, [], $couchdb1);
53-
5452
$dbs = ["test", "items"];
5553
$response1 = new Response(200, [], json_encode($dbs));
5654

57-
$mock = new MockHandler([ $db_response, $response1 ]);
55+
$mock = new MockHandler([ $this->db_response, $response1 ]);
5856
$handler = HandlerStack::create($mock);
5957
$client = new Client(['handler' => $handler]);
6058

6159
// userland code starts
6260
$server = new \PHPCouchDB\Server(["client" => $client]);
6361
$this->assertEquals($dbs, $server->getAllDbs());
64-
6562
}
6663

6764
public function testUseADbThatDoesExist() {
68-
$couchdb1 = '{"couchdb":"Welcome","uuid":"fce3d5aabfe189c988273c0ffa8d375b","version":"1.6.0","vendor":{"name":"Ubuntu","version":"15.10"}}';
69-
$db_response = new Response(200, [], $couchdb1);
70-
7165
$egdb1 = '{"db_name":"egdb","update_seq":"0-g1AAAABXeJzLYWBgYMpgTmEQTM4vTc5ISXLIyU9OzMnILy7JAUklMiTV____PyuRAY-iPBYgydAApP5D1GYBAJmvHGw","sizes":{"file":8488,"external":0,"active":0},"purge_seq":0,"other":{"data_size":0},"doc_del_count":0,"doc_count":0,"disk_size":8488,"disk_format_version":6,"data_size":0,"compact_running":false,"instance_start_time":"0"}';
7266
$response1 = new Response(200, [], $egdb1);
7367

74-
$mock = new MockHandler([ $db_response, $response1 ]);
68+
$mock = new MockHandler([ $this->db_response, $response1 ]);
7569
$handler = HandlerStack::create($mock);
7670
$client = new Client(['handler' => $handler]);
7771

@@ -81,13 +75,10 @@ public function testUseADbThatDoesExist() {
8175
}
8276

8377
public function testUseADbWithCreateThatDoesExist() {
84-
$couchdb1 = '{"couchdb":"Welcome","uuid":"fce3d5aabfe189c988273c0ffa8d375b","version":"1.6.0","vendor":{"name":"Ubuntu","version":"15.10"}}';
85-
$db_response = new Response(200, [], $couchdb1);
86-
8778
$egdb1 = '{"db_name":"egdb","update_seq":"0-g1AAAABXeJzLYWBgYMpgTmEQTM4vTc5ISXLIyU9OzMnILy7JAUklMiTV____PyuRAY-iPBYgydAApP5D1GYBAJmvHGw","sizes":{"file":8488,"external":0,"active":0},"purge_seq":0,"other":{"data_size":0},"doc_del_count":0,"doc_count":0,"disk_size":8488,"disk_format_version":6,"data_size":0,"compact_running":false,"instance_start_time":"0"}';
8879
$response1 = new Response(200, [], $egdb1);
8980

90-
$mock = new MockHandler([ $db_response, $response1 ]);
81+
$mock = new MockHandler([ $this->db_response, $response1 ]);
9182
$handler = HandlerStack::create($mock);
9283
$client = new Client(['handler' => $handler]);
9384

@@ -100,13 +91,10 @@ public function testUseADbWithCreateThatDoesExist() {
10091
* @expectedException \PHPCouchDB\Exception\ServerException
10192
*/
10293
public function testUseADbThatDoesNotExist() {
103-
$couchdb1 = '{"couchdb":"Welcome","uuid":"fce3d5aabfe189c988273c0ffa8d375b","version":"1.6.0","vendor":{"name":"Ubuntu","version":"15.10"}}';
104-
$db_response = new Response(200, [], $couchdb1);
105-
10694
$egdb1 = '{"error":"not_found","reason":"Database does not exist."}';
10795
$response1 = new Response(404, [], $egdb1);
10896

109-
$mock = new MockHandler([ $db_response, $response1 ]);
97+
$mock = new MockHandler([ $this->db_response, $response1 ]);
11098
$handler = HandlerStack::create($mock);
11199
$client = new Client(['handler' => $handler]);
112100

@@ -116,22 +104,18 @@ public function testUseADbThatDoesNotExist() {
116104
}
117105

118106
public function testUseADbWithCreateThatDoesNotExist() {
119-
$couchdb1 = '{"couchdb":"Welcome","uuid":"fce3d5aabfe189c988273c0ffa8d375b","version":"1.6.0","vendor":{"name":"Ubuntu","version":"15.10"}}';
120-
$db_response = new Response(200, [], $couchdb1);
121-
122107
$egdb1 = '{"error":"not_found","reason":"Database does not exist."}';
123108
$response1 = new Response(404, [], $egdb1);
124109

125110
$egdb2 = '{"ok":true}';
126111
$response2 = new Response(201, [], $egdb2);
127112

128-
$mock = new MockHandler([ $db_response, $response1, $response2 ]);
113+
$mock = new MockHandler([ $this->db_response, $response1, $response2 ]);
129114
$handler = HandlerStack::create($mock);
130115
$client = new Client(['handler' => $handler]);
131116

132117
// userland code starts
133118
$server = new \PHPCouchDB\Server(["client" => $client]);
134119
$this->assertInstanceOf("\PHPCouchDB\Database", $server->useDb(["name" => "egdb", "create_if_not_exists" => true]));
135120
}
136-
137121
}

0 commit comments

Comments
 (0)