test: make CA ID regex more flexible in integration tests

Change regex pattern from [a-z0-9]{10} (exactly 10 chars) to [a-z0-9]+
(one or more chars) to accept variable-length instance identifiers.
This makes tests more resilient to changes in instance ID generation
while maintaining validation of the CA ID format.

Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
This commit is contained in:
Vitor Mattos 2025-12-16 21:10:43 -03:00
parent 1643505535
commit 587d80d7b5
No known key found for this signature in database
GPG key ID: 6FECE2AD4809003A
3 changed files with 11 additions and 11 deletions

View file

@ -17,7 +17,7 @@ Feature: account/signature
| (jq).ocs.data.rootCert.names[4].id | OU |
| (jq).ocs.data.rootCert.names[4].value\|length | 2 |
| (jq).ocs.data.rootCert.names[4].value[0] | Organizational Unit |
| (jq).ocs.data.rootCert.names[4].value | (jq)any(.[]; test("^libresign-ca-id:[a-z0-9]{10}_g:[0-9]+_e:[oc]?$")) |
| (jq).ocs.data.rootCert.names[4].value | (jq)any(.[]; test("^libresign-ca-id:[a-z0-9]+_g:[0-9]+_e:[oc]?$")) |
| (jq).ocs.data.generated | true |
Scenario: Create root certificate with CFSSL engine using API
@ -40,7 +40,7 @@ Feature: account/signature
| (jq).ocs.data.rootCert.names[4].id | OU |
| (jq).ocs.data.rootCert.names[4].value\|length | 2 |
| (jq).ocs.data.rootCert.names[4].value[0] | Organizational Unit |
| (jq).ocs.data.rootCert.names[4].value | (jq)any(.[]; test("^libresign-ca-id:[a-z0-9]{10}_g:[0-9]+_e:[oc]?$")) |
| (jq).ocs.data.rootCert.names[4].value | (jq)any(.[]; test("^libresign-ca-id:[a-z0-9]+_g:[0-9]+_e:[oc]?$")) |
| (jq).ocs.data.generated | true |
Scenario: Create pfx with success using CFSSL
@ -77,7 +77,7 @@ Feature: account/signature
| (jq).ocs.data | (jq).name \|test("/ST=State of Company") |
| (jq).ocs.data | (jq).name \|test("/L=City Name") |
| (jq).ocs.data | (jq).name \|test("/O=Organization") |
| (jq).ocs.data | (jq).name \|test("/OU=Organization Unit, libresign-ca-id:[a-z0-9]{10}_g:[0-9]+_e:[oc]?") |
| (jq).ocs.data | (jq).name \|test("/OU=Organization Unit, libresign-ca-id:[a-z0-9]+_g:[0-9]+_e:[oc]?") |
| (jq).ocs.data | (jq).name \|test("/CN=account:signer1, signer1-displayname") |
| (jq).ocs.data.issuer\|length | 6 |
| (jq).ocs.data.issuer.CN | Common Name |
@ -87,7 +87,7 @@ Feature: account/signature
| (jq).ocs.data.issuer.O | Organization |
| (jq).ocs.data.issuer.OU\|length | 2 |
| (jq).ocs.data.issuer.OU | (jq) .[0] \|test("^Organization Unit$") |
| (jq).ocs.data.issuer.OU | (jq) .[1] \|test("^libresign-ca-id:[a-z0-9]{10}_g:[0-9]+_e:[oc]?$") |
| (jq).ocs.data.issuer.OU | (jq) .[1] \|test("^libresign-ca-id:[a-z0-9]+_g:[0-9]+_e:[oc]?$") |
| (jq).ocs.data.subject\|length | 6 |
| (jq).ocs.data.subject.CN | (jq) .[0] \|test("^account:signer1$") |
| (jq).ocs.data.subject.CN | (jq) .[1] \|test("^signer1-displayname$") |
@ -97,7 +97,7 @@ Feature: account/signature
| (jq).ocs.data.subject.O | Organization |
| (jq).ocs.data.issuer.OU\|length | 2 |
| (jq).ocs.data.issuer.OU | (jq) .[0] \|test("^Organization Unit$") |
| (jq).ocs.data.issuer.OU | (jq) .[1] \|test("^libresign-ca-id:[a-z0-9]{10}_g:[0-9]+_e:[oc]?$") |
| (jq).ocs.data.issuer.OU | (jq) .[1] \|test("^libresign-ca-id:[a-z0-9]+_g:[0-9]+_e:[oc]?$") |
| (jq).ocs.data.extensions.basicConstraints | CA:FALSE |
| (jq).ocs.data.extensions.subjectAltName | email:signer@domain.test |
| (jq).ocs.data.extensions.keyUsage | Digital Signature, Non Repudiation, Key Encipherment |
@ -138,7 +138,7 @@ Feature: account/signature
| (jq).ocs.data | (jq).name \|test("/ST=State of Company") |
| (jq).ocs.data | (jq).name \|test("/L=City Name") |
| (jq).ocs.data | (jq).name \|test("/O=Organization") |
| (jq).ocs.data | (jq).name \|test("/OU=Organization Unit, libresign-ca-id:[a-z0-9]{10}_g:[0-9]+_e:[oc]?") |
| (jq).ocs.data | (jq).name \|test("/OU=Organization Unit, libresign-ca-id:[a-z0-9]+_g:[0-9]+_e:[oc]?") |
| (jq).ocs.data | (jq).name \|test("/UID=account:signer1") |
| (jq).ocs.data | (jq).name \|test("/CN=signer1-displayname") |
| (jq).ocs.data.issuer\|length | 6 |
@ -149,7 +149,7 @@ Feature: account/signature
| (jq).ocs.data.issuer.O | Organization |
| (jq).ocs.data.issuer.OU\|length | 2 |
| (jq).ocs.data.issuer.OU | (jq) .[0] \|test("^Organization Unit$") |
| (jq).ocs.data.issuer.OU | (jq) .[1] \|test("^libresign-ca-id:[a-z0-9]{10}_g:[0-9]+_e:[oc]?$") |
| (jq).ocs.data.issuer.OU | (jq) .[1] \|test("^libresign-ca-id:[a-z0-9]+_g:[0-9]+_e:[oc]?$") |
| (jq).ocs.data.subject\|length | 7 |
| (jq).ocs.data.subject.CN | signer1-displayname |
| (jq).ocs.data.subject.C | BR |
@ -158,7 +158,7 @@ Feature: account/signature
| (jq).ocs.data.subject.O | Organization |
| (jq).ocs.data.subject.OU \|length | 2 |
| (jq).ocs.data.subject.OU | (jq) .[0] \|test("^Organization Unit$") |
| (jq).ocs.data.subject.OU | (jq) .[1] \|test("^libresign-ca-id:[a-z0-9]{10}_g:[0-9]+_e:[oc]?$") |
| (jq).ocs.data.subject.OU | (jq) .[1] \|test("^libresign-ca-id:[a-z0-9]+_g:[0-9]+_e:[oc]?$") |
| (jq).ocs.data.subject.UID | account:signer1 |
| (jq).ocs.data.extensions.basicConstraints | CA:FALSE |
| (jq).ocs.data.extensions.subjectAltName | email:signer@domain.test |

View file

@ -11,7 +11,7 @@ Feature: admin/certificate_openssl
| (jq).ocs.data.rootCert.commonName | Common Name |
| (jq).ocs.data.rootCert.names\|length | 1 |
| (jq).ocs.data.rootCert.names[0].id | OU |
| (jq).ocs.data.rootCert.names[0].value | (jq) .[] \|test("^libresign-ca-id:[a-z0-9]{10}_g:[0-9]+_e:[oc]?$") |
| (jq).ocs.data.rootCert.names[0].value | (jq) .[] \|test("^libresign-ca-id:[a-z0-9]+_g:[0-9]+_e:[oc]?$") |
| (jq).ocs.data.generated | true |
Scenario: Generate root cert with fail without CN
@ -46,7 +46,7 @@ Feature: admin/certificate_openssl
| (jq).ocs.data.rootCert.names[0].id | C |
| (jq).ocs.data.rootCert.names[0].value | BR |
| (jq).ocs.data.rootCert.names[1].id | OU |
| (jq).ocs.data.rootCert.names[1].value | (jq) .[] \|test("^libresign-ca-id:[a-z0-9]{10}_g:[0-9]+_e:[oc]?$") |
| (jq).ocs.data.rootCert.names[1].value | (jq) .[] \|test("^libresign-ca-id:[a-z0-9]+_g:[0-9]+_e:[oc]?$") |
| (jq).ocs.data.generated | true |
Scenario: Generate root cert with fail when country have less then 2 characters

View file

@ -38,7 +38,7 @@ Feature: validate
| (jq).ocs.data.signers[0] | (jq).name \|test("/ST=State of Company") |
| (jq).ocs.data.signers[0] | (jq).name \|test("/L=City Name") |
| (jq).ocs.data.signers[0] | (jq).name \|test("/O=Organization") |
| (jq).ocs.data.signers[0] | (jq).name \|test("/OU=Organization Unit, libresign-ca-id:[a-z0-9]{10}_g:[0-9]+_e:[oc]?") |
| (jq).ocs.data.signers[0] | (jq).name \|test("/OU=Organization Unit, libresign-ca-id:[a-z0-9]+_g:[0-9]+_e:[oc]?") |
| (jq).ocs.data.signers[0] | (jq).name \|test("/CN=signer1-displayname") |
| (jq).ocs.data.signers[0].subject.CN | signer1-displayname |
| (jq).ocs.data.signers[0].subject.C | BR |