@@ -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