# 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"