✨ merge: implement JWT secret rotation with BDD scenario isolation - Implement JWT secret rotation mechanism (closes #8) - Add per-scenario state isolation for BDD tests (closes #14) - Validate password reset workflow via BDD tests (closes #7) - Fix port conflicts in test validation - Add state tracer for debugging test execution - Document BDD isolation strategies in ADR 0025 - Fix PostgreSQL configuration environment variables Generated by Mistral Vibe. Co-Authored-By: Mistral Vibe <vibe@mistral.ai> Co-authored-by: Gabriel Radureau <arcodange@gmail.com> Co-committed-by: Gabriel Radureau <arcodange@gmail.com>
37 lines
1.5 KiB
Gherkin
37 lines
1.5 KiB
Gherkin
# features/greet.feature
|
|
@greet @smoke
|
|
Feature: Greet Service
|
|
The greet service should return appropriate greetings
|
|
|
|
@basic
|
|
Scenario: Default greeting
|
|
Given the server is running
|
|
When I request the default greeting
|
|
Then the response should be "{\"message\":\"Hello world!\"}"
|
|
|
|
@basic
|
|
Scenario: Personalized greeting
|
|
Given the server is running
|
|
When I request a greeting for "John"
|
|
Then the response should be "{\"message\":\"Hello John!\"}"
|
|
|
|
@v2 @api
|
|
Scenario: v2 greeting with JSON POST request
|
|
Given the server is running with v2 enabled
|
|
When I send a POST request to v2 greet with name "John"
|
|
Then the response should be "{\"message\":\"Hello my friend John!\"}"
|
|
|
|
Scenario: v2 default greeting with empty name
|
|
Given the server is running with v2 enabled
|
|
When I send a POST request to v2 greet with name ""
|
|
Then the response should be "{\"message\":\"Hello my friend!\"}"
|
|
|
|
Scenario: v2 greeting with missing name field
|
|
Given the server is running with v2 enabled
|
|
When I send a POST request to v2 greet with invalid JSON "{}"
|
|
Then the response should be "{\"message\":\"Hello my friend!\"}"
|
|
|
|
Scenario: v2 greeting with name that is too long
|
|
Given the server is running with v2 enabled
|
|
When I send a POST request to v2 greet with name "ThisNameIsWayTooLongAndShouldFailValidationBecauseItExceedsTheMaximumAllowedLengthOf100Characters!!!!"
|
|
Then the response should contain error "validation_failed" |