22
33namespace Enqueue \Test ;
44
5+ use Enqueue \Dsn \Dsn ;
6+
57trait RabbitManagementExtensionTrait
68{
79 /**
810 * @param string $queueName
911 */
1012 private function removeQueue ($ queueName )
1113 {
12- $ rabbitmqHost = getenv ('RABBITMQ_HOST ' );
13- $ rabbitmqUser = getenv ('RABBITMQ_USER ' );
14- $ rabbitmqPassword = getenv ('RABBITMQ_PASSWORD ' );
15- $ rabbitmqVhost = getenv ('RABBITMQ_VHOST ' );
14+ $ dsn = new Dsn (getenv ('RABBITMQ_AMQP_DSN ' ));
1615
1716 $ url = sprintf (
1817 'http://%s:15672/api/queues/%s/%s ' ,
19- $ rabbitmqHost ,
20- urlencode ($ rabbitmqVhost ),
18+ $ dsn -> getHost () ,
19+ urlencode (ltrim ( $ dsn -> getPath (), ' / ' ) ),
2120 $ queueName
2221 );
2322
@@ -26,7 +25,7 @@ private function removeQueue($queueName)
2625 curl_setopt ($ ch , CURLOPT_CUSTOMREQUEST , 'DELETE ' );
2726 curl_setopt ($ ch , CURLOPT_RETURNTRANSFER , true );
2827 curl_setopt ($ ch , CURLOPT_HTTPAUTH , CURLAUTH_BASIC );
29- curl_setopt ($ ch , CURLOPT_USERPWD , $ rabbitmqUser .': ' .$ rabbitmqPassword );
28+ curl_setopt ($ ch , CURLOPT_USERPWD , $ dsn -> getUser () .': ' .$ dsn -> getPassword () );
3029 curl_setopt ($ ch , CURLOPT_HTTPHEADER , [
3130 'Content-Type ' => 'application/json ' ,
3231 ]);
@@ -46,15 +45,12 @@ private function removeQueue($queueName)
4645 */
4746 private function removeExchange ($ exchangeName )
4847 {
49- $ rabbitmqHost = getenv ('RABBITMQ_HOST ' );
50- $ rabbitmqUser = getenv ('RABBITMQ_USER ' );
51- $ rabbitmqPassword = getenv ('RABBITMQ_PASSWORD ' );
52- $ rabbitmqVhost = getenv ('RABBITMQ_VHOST ' );
48+ $ dsn = new Dsn (getenv ('RABBITMQ_AMQP_DSN ' ));
5349
5450 $ url = sprintf (
5551 'http://%s:15672/api/exchanges/%s/%s ' ,
56- $ rabbitmqHost ,
57- urlencode ($ rabbitmqVhost ),
52+ $ dsn -> getHost () ,
53+ urlencode (ltrim ( $ dsn -> getPath (), ' / ' ) ),
5854 $ exchangeName
5955 );
6056
@@ -63,7 +59,7 @@ private function removeExchange($exchangeName)
6359 curl_setopt ($ ch , CURLOPT_CUSTOMREQUEST , 'DELETE ' );
6460 curl_setopt ($ ch , CURLOPT_RETURNTRANSFER , true );
6561 curl_setopt ($ ch , CURLOPT_HTTPAUTH , CURLAUTH_BASIC );
66- curl_setopt ($ ch , CURLOPT_USERPWD , $ rabbitmqUser .': ' .$ rabbitmqPassword );
62+ curl_setopt ($ ch , CURLOPT_USERPWD , $ dsn -> getUser () .': ' .$ dsn -> getPassword () );
6763 curl_setopt ($ ch , CURLOPT_HTTPHEADER , [
6864 'Content-Type ' => 'application/json ' ,
6965 ]);
0 commit comments