Skip to content

Commit

Permalink
integration: test_create_volume_invalid_driver allow either 400 or 404
Browse files Browse the repository at this point in the history
The API currently returns a 404 error when trying to create a volume with
an invalid (non-existing) driver. We are considering changing this status
code to be a 400 (invalid parameter), as even though the _reason_ of the
error may be that the plugin / driver is not found, the _cause_ of the
error is that the user provided a plugin / driver that's invalid for the
engine they're connected to.

This patch updates the test to pass for either case.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
  • Loading branch information
thaJeztah committed Oct 27, 2024
1 parent a8bac88 commit cd75d97
Showing 1 changed file with 8 additions and 2 deletions.
10 changes: 8 additions & 2 deletions tests/integration/api_volume_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,16 @@ def test_create_volume(self):
assert result['Driver'] == 'local'

def test_create_volume_invalid_driver(self):
driver_name = 'invalid.driver'
# special name to avoid exponential timeout loop
# https://github.com/moby/moby/blob/9e00a63d65434cdedc444e79a2b33a7c202b10d8/pkg/plugins/client.go#L253-L254
driver_name = 'this-plugin-does-not-exist'

with pytest.raises(docker.errors.NotFound):
with pytest.raises(docker.errors.APIError) as cm:
self.client.create_volume('perfectcherryblossom', driver_name)
assert (
cm.value.response.status_code == 404 or
cm.value.response.status_code == 400
)

def test_list_volumes(self):
name = 'imperishablenight'
Expand Down

0 comments on commit cd75d97

Please sign in to comment.