Skip to content

Commit d66c312

Browse files
author
mikefero
committed
test: Updating C* defaults, handling missing curl extension, and additional persistent session feature
1 parent 13d5589 commit d66c312

File tree

3 files changed

+45
-13
lines changed

3 files changed

+45
-13
lines changed

behat.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ default:
66
contexts:
77
- FeatureContext:
88
cluster_name: php-driver-2.1-cluster
9-
cassandra_version: 2.1.5
9+
cassandra_version: 2.1.8
1010

1111
cassandra-version-2.0:
1212
formatters:
@@ -17,7 +17,7 @@ cassandra-version-2.0:
1717
contexts:
1818
- FeatureContext:
1919
cluster_name: php-driver-2.0-cluster
20-
cassandra_version: 2.0.13
20+
cassandra_version: 2.0.16
2121

2222
cassandra-version-1.2:
2323
formatters:

features/bootstrap/FeatureContext.php

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -163,16 +163,20 @@ public function aFileNamedWith($name, PyStringNode $string)
163163

164164
private function fetchPath($url)
165165
{
166-
$request = curl_init();
167-
168-
curl_setopt($request, CURLOPT_URL, $url);
169-
curl_setopt($request, CURLOPT_HEADER, 0);
170-
curl_setopt($request, CURLOPT_CONNECTTIMEOUT, 2);
171-
curl_setopt($request, CURLOPT_RETURNTRANSFER, 1);
172-
curl_setopt($request, CURLOPT_USERAGENT, 'PHP Driver Tests');
173-
174-
$content = curl_exec($request);
175-
curl_close($request);
166+
if (in_array('curl', get_loaded_extensions())) {
167+
$request = curl_init();
168+
169+
curl_setopt($request, CURLOPT_URL, $url);
170+
curl_setopt($request, CURLOPT_HEADER, 0);
171+
curl_setopt($request, CURLOPT_CONNECTTIMEOUT, 2);
172+
curl_setopt($request, CURLOPT_RETURNTRANSFER, 1);
173+
curl_setopt($request, CURLOPT_USERAGENT, 'PHP Driver Tests');
174+
175+
$content = curl_exec($request);
176+
curl_close($request);
177+
} else {
178+
$content = file_get_contents($url);
179+
}
176180

177181
return $content;
178182
}

features/sessions/persistent_sessions.feature

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Feature: Persistent Sessions
44
PHP Driver sessions can persist
55

66
Background:
7-
Given a running Cassandra cluster
7+
Given a running Cassandra cluster with 2 nodes
88
And a file named "status.php" with:
99
"""php
1010
<?php
@@ -35,6 +35,34 @@ Feature: Persistent Sessions
3535
| Persistent Clusters | 1 |
3636
| Persistent Sessions | 1 |
3737

38+
Scenario: Multiple persistent sessions are used for requests
39+
Given a file named "connect.php" with:
40+
"""php
41+
<?php
42+
43+
$cluster = Cassandra::cluster()
44+
->withContactPoints('127.0.0.1')
45+
->withPersistentSessions(true)
46+
->build();
47+
$session = $cluster->connect();
48+
"""
49+
And a file named "connect_system.php" with:
50+
"""php
51+
<?php
52+
53+
$cluster = Cassandra::cluster()
54+
->withContactPoints('127.0.0.1')
55+
->withPersistentSessions(true)
56+
->build();
57+
$session = $cluster->connect("system");
58+
"""
59+
When I go to "/connect.php"
60+
When I go to "/connect_system.php"
61+
When I go to "/status.php"
62+
Then I should see:
63+
| Persistent Clusters | 1 |
64+
| Persistent Sessions | 2 |
65+
3866
Scenario: Non-persistent sessions are recreated for each request
3967
Given a file named "connect.php" with:
4068
"""php

0 commit comments

Comments
 (0)