From 9916aa6bc15a165b4ae91e4f116be0f80a1d6a9e Mon Sep 17 00:00:00 2001 From: Matt Anson Date: Wed, 1 Oct 2025 12:31:05 +0100 Subject: [PATCH] Ensure show on absent appcreds raises exception Currently, running ``application credential show`` on a non-existent appcred will exit normally and display a formatted application credential with no data, despite the Keystone API returning a 404. Ensure that querying a non-existent application credential raises an exception message and an exit-code 1 to the user. Closes-Bug: #2126565 Change-Id: I597d2d4064f1020c5ac40862ecc556f3c94b53eb Signed-off-by: Matt Anson (cherry picked from commit fb8cdd44414d0e16001d52d90d49d16dcc7a9509) --- openstackclient/identity/v3/application_credential.py | 2 +- .../tests/unit/identity/v3/test_application_credential.py | 2 +- releasenotes/notes/bug-2126565-a119ac242d9ac795.yaml | 8 ++++++++ 3 files changed, 10 insertions(+), 2 deletions(-) create mode 100644 releasenotes/notes/bug-2126565-a119ac242d9ac795.yaml diff --git a/openstackclient/identity/v3/application_credential.py b/openstackclient/identity/v3/application_credential.py index 4c4cd3f5a5..93367f8a3f 100644 --- a/openstackclient/identity/v3/application_credential.py +++ b/openstackclient/identity/v3/application_credential.py @@ -352,7 +352,7 @@ class ShowApplicationCredential(command.ShowOne): user_id = conn.config.get_auth().get_user_id(conn.identity) application_credential = identity_client.find_application_credential( - user_id, parsed_args.application_credential + user_id, parsed_args.application_credential, ignore_missing=False ) return _format_application_credential(application_credential) diff --git a/openstackclient/tests/unit/identity/v3/test_application_credential.py b/openstackclient/tests/unit/identity/v3/test_application_credential.py index a5fda7c4f9..3bc2d0c29a 100644 --- a/openstackclient/tests/unit/identity/v3/test_application_credential.py +++ b/openstackclient/tests/unit/identity/v3/test_application_credential.py @@ -457,7 +457,7 @@ class TestApplicationCredentialShow(identity_fakes.TestIdentityv3): columns, data = self.cmd.take_action(parsed_args) self.identity_sdk_client.find_application_credential.assert_called_with( - user_id, self.application_credential.id + user_id, self.application_credential.id, ignore_missing=False ) self.assertEqual(self.columns, columns) diff --git a/releasenotes/notes/bug-2126565-a119ac242d9ac795.yaml b/releasenotes/notes/bug-2126565-a119ac242d9ac795.yaml new file mode 100644 index 0000000000..87fe689b18 --- /dev/null +++ b/releasenotes/notes/bug-2126565-a119ac242d9ac795.yaml @@ -0,0 +1,8 @@ +--- +fixes: + - | + Running ``openstack application credential show`` on + a non-existent application credential does not + raise an exception. + + [Bug `2126565 `_]