Bug #36051
closedForeignKeyViolation on ACS create when invalid --ssl-* argument is provided
Description
Cloned from https://bugzilla.redhat.com/show_bug.cgi?id=2159963
Description of problem:
PG::ForeignKeyViolation: ERROR is shown when trying to create an ACS via hammer and providing non-existent index for --ssl-ca-cert-id, --ssl-client-cert-id, --ssl-client-key-id argument.
The same error is shown for Simplified ACS creation, where these args are not applicable.
Version-Release number of selected component (if applicable):
6.13.0 snap 5
How reproducible:
always
1. Have a Satellite with some Prods and Capsules you could refer to in 2.
2. Try to create an ACS:
- hammer alternate-content-source create --alternate-content-source-type simplified --name "Test SACS" --smart-proxy-ids 1,2 --product-ids 1 --content-type yum --ssl-ca-cert-id 2
- hammer alternate-content-source create --alternate-content-source-type simplified --name "Test SACS" --smart-proxy-ids 1,2 --product-ids 1 --content-type yum --ssl-client-cert-id 2
- hammer alternate-content-source create --alternate-content-source-type simplified --name "Test SACS" --smart-proxy-ids 1,2 --product-ids 1 --content-type yum --ssl-client-key-id 2
Note: No content-credential with id=2 exists on the Satellite.
Actual results:
Could not create the Alternate Content Source.:
PG::ForeignKeyViolation: ERROR: insert or update on table "katello_alternate_content_sources" violates foreign key constraint "katello_alternate_content_sources_ssl_client_cert_id"
DETAIL: Key (ssl_client_cert_id)=(2) is not present in table "katello_content_credentials".
Expected results:
Some wrapping error message for Custom ACS, in case of Simplified ACS some validation and same message as we have for the other not-applicable args (Validation failed: Ssl ca cert must be blank)