From 1c74be04015c30549b6517cbc0eaa894e40d6e0d Mon Sep 17 00:00:00 2001 From: Konstantin Babushkin Date: Fri, 30 May 2025 08:42:56 +0200 Subject: [PATCH 1/5] merge headers in `OperatorTrait::sendRequest` --- src/Common/Api/OperatorTrait.php | 7 +++++- tests/unit/Common/Api/OperatorTraitTest.php | 24 +++++++++++++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/src/Common/Api/OperatorTrait.php b/src/Common/Api/OperatorTrait.php index 710bd8ad..56f4d42d 100644 --- a/src/Common/Api/OperatorTrait.php +++ b/src/Common/Api/OperatorTrait.php @@ -101,8 +101,13 @@ protected function sendRequest(Operation $operation, array $userValues = [], boo $uri = Utils::uri_template($operation->getPath(), $userValues); - if (array_key_exists('requestOptions', $userValues)) { + if (isset($userValues['requestOptions'])) { $options += $userValues['requestOptions']; + + // headers are always created in options, merge them + if (isset($userValues['requestOptions']['headers'])) { + $options['headers'] = array_merge($options['headers'], $userValues['requestOptions']['headers']); + } } $options['openstack.skip_auth'] = $operation->getSkipAuth(); diff --git a/tests/unit/Common/Api/OperatorTraitTest.php b/tests/unit/Common/Api/OperatorTraitTest.php index c269b5b1..66b4d61a 100644 --- a/tests/unit/Common/Api/OperatorTraitTest.php +++ b/tests/unit/Common/Api/OperatorTraitTest.php @@ -111,6 +111,30 @@ public function test_guzzle_options_are_forwarded() 'requestOptions' => ['stream' => true], ]); } + + public function test_it_sends_custom_headers_in_request_options() + { + $this->client + ->requestAsync('GET', 'test', + [ + 'headers' => [ + 'Access-Control-Allow-Origin' => '*', + 'Access-Control-Allow-Methods' => 'GET, POST, OPTIONS', + ], + 'openstack.skip_auth' => false, + ]) + ->shouldBeCalled() + ->willReturn(new Promise()); + + $this->operator->executeAsync($this->def, [ + 'requestOptions' => [ + 'headers' => [ + 'Access-Control-Allow-Origin' => '*', + 'Access-Control-Allow-Methods' => 'GET, POST, OPTIONS', + ], + ], + ]); + } } From 651be9a302754cee2f472883089d99907a36d6d8 Mon Sep 17 00:00:00 2001 From: Konstantin Babushkin Date: Fri, 30 May 2025 09:11:25 +0200 Subject: [PATCH 2/5] move bobcat to unmaintained --- .github/workflows/integration_tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/integration_tests.yml b/.github/workflows/integration_tests.yml index ffc568dd..d7e272f7 100644 --- a/.github/workflows/integration_tests.yml +++ b/.github/workflows/integration_tests.yml @@ -29,7 +29,7 @@ jobs: openstack_version: "stable/2024.1" ubuntu_version: "22.04" - name: "bobcat" - openstack_version: "stable/2023.2" + openstack_version: "unmaintained/2023.2" ubuntu_version: "22.04" - name: "antelope" openstack_version: "unmaintained/2023.1" From 86d0e33610ed49a4cbdaf5e9f8e4a8a5addb471c Mon Sep 17 00:00:00 2001 From: Konstantin Babushkin Date: Fri, 30 May 2025 09:19:37 +0200 Subject: [PATCH 3/5] removed bobcat, added epoxy releases --- .github/workflows/integration_tests.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/integration_tests.yml b/.github/workflows/integration_tests.yml index d7e272f7..590f97a0 100644 --- a/.github/workflows/integration_tests.yml +++ b/.github/workflows/integration_tests.yml @@ -22,15 +22,15 @@ jobs: openstack_version: [ "stable/2023.2" ] php_version: [ 8.1 ] include: + - name: "epoxy" + openstack_version: "maintained/2025.1" + ubuntu_version: "22.04" - name: "dalmatian" openstack_version: "stable/2024.2" ubuntu_version: "22.04" - name: "caracal" openstack_version: "stable/2024.1" ubuntu_version: "22.04" - - name: "bobcat" - openstack_version: "unmaintained/2023.2" - ubuntu_version: "22.04" - name: "antelope" openstack_version: "unmaintained/2023.1" ubuntu_version: "22.04" From 3f1236bc2707765ed11f2fc244ccb04f722ab8a4 Mon Sep 17 00:00:00 2001 From: Konstantin Babushkin Date: Fri, 30 May 2025 09:19:48 +0200 Subject: [PATCH 4/5] removed bobcat, added epoxy releases --- .github/workflows/integration_tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/integration_tests.yml b/.github/workflows/integration_tests.yml index 590f97a0..8cd6c4c3 100644 --- a/.github/workflows/integration_tests.yml +++ b/.github/workflows/integration_tests.yml @@ -23,7 +23,7 @@ jobs: php_version: [ 8.1 ] include: - name: "epoxy" - openstack_version: "maintained/2025.1" + openstack_version: "stable/2025.1" ubuntu_version: "22.04" - name: "dalmatian" openstack_version: "stable/2024.2" From 76762a18be8c4c6151b1a6c0c4b7dfdbfc823edb Mon Sep 17 00:00:00 2001 From: Konstantin Babushkin Date: Fri, 30 May 2025 11:02:24 +0200 Subject: [PATCH 5/5] remove epoxy --- .github/workflows/integration_tests.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/integration_tests.yml b/.github/workflows/integration_tests.yml index 8cd6c4c3..43ca7262 100644 --- a/.github/workflows/integration_tests.yml +++ b/.github/workflows/integration_tests.yml @@ -22,9 +22,6 @@ jobs: openstack_version: [ "stable/2023.2" ] php_version: [ 8.1 ] include: - - name: "epoxy" - openstack_version: "stable/2025.1" - ubuntu_version: "22.04" - name: "dalmatian" openstack_version: "stable/2024.2" ubuntu_version: "22.04"