Skip to content

Commit 1bb61a2

Browse files
committed
improve tests
1 parent 77fa999 commit 1bb61a2

File tree

1 file changed

+31
-14
lines changed

1 file changed

+31
-14
lines changed

tests/DatabunkerproAPITest.php

Lines changed: 31 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -9,33 +9,50 @@ class DatabunkerproAPITest extends TestCase
99
{
1010
private $api;
1111
private static $serverAvailable = false;
12+
private static $tenantName;
13+
private static $apiToken;
14+
private const API_URL = 'https://pro.databunker.org';
1215

1316
public static function setUpBeforeClass(): void
1417
{
15-
$api = new DatabunkerproApi(
16-
getenv('DATABUNKER_URL'),
17-
getenv('DATABUNKER_TOKEN'),
18-
getenv('DATABUNKER_TENANT')
19-
);
18+
// Fetch tenant credentials from DatabunkerPro test environment
19+
$ch = curl_init('https://databunker.org/api/newtenant.php');
20+
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
21+
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
22+
$response = curl_exec($ch);
23+
curl_close($ch);
2024

21-
try {
22-
$result = $api->getSystemStats();
23-
self::$serverAvailable = is_array($result) && isset($result['status']) && $result['status'] === 'ok';
24-
} catch (\Exception $e) {
25-
self::$serverAvailable = false;
25+
if ($response) {
26+
$data = json_decode($response, true);
27+
if ($data && isset($data['status']) && $data['status'] === 'ok') {
28+
self::$tenantName = $data['tenantname'];
29+
self::$apiToken = $data['xtoken'];
30+
// Test connection with new credentials
31+
$api = new DatabunkerproApi(
32+
self::API_URL,
33+
self::$apiToken,
34+
self::$tenantName
35+
);
36+
try {
37+
$result = $api->getSystemStats();
38+
self::$serverAvailable = is_array($result) && isset($result['status']) && $result['status'] === 'ok';
39+
} catch (\Exception $e) {
40+
self::$serverAvailable = false;
41+
}
42+
}
2643
}
2744
}
2845

2946
protected function setUp(): void
3047
{
3148
if (!self::$serverAvailable) {
32-
$this->markTestSkipped('DatabunkerPro server is not available');
49+
$this->markTestSkipped('DatabunkerPro server is not available or credentials could not be obtained');
3350
}
3451

3552
$this->api = new DatabunkerproApi(
36-
getenv('DATABUNKER_URL'),
37-
getenv('DATABUNKER_TOKEN'),
38-
getenv('DATABUNKER_TENANT')
53+
self::API_URL,
54+
self::$apiToken,
55+
self::$tenantName
3956
);
4057
}
4158

0 commit comments

Comments
 (0)