As a test designer, I want to check the conformance of the Status-Line of an HTTP response message

Story status
To be reviewed
Implementation status
Planned
Description

As a test designer, I want to verify that the Status-Line produced by the SUT conforms to the specifications. In particular, I want to constrain the elements of the Status-Line of an HTTP response. For each of these elements, I shall be able to define a set of rules.

As a reminder, HTTP Status-Line consists in HTTP-Version, Status-Code, and a Reason-Phrase. (From RFC2616: Status-Line = HTTP-Version SP Status-Code SP Reason-Phrase CRLF)

For the HTTP-Version, I shall be able to select the authorized value from a list of versions of HTTP supported by the HTTP Validator;

For the Status-Code,

  • I shall be able to list the authorized values by picking them from a value set, by entering them manually, or by writing a regular expression;
  • I shall be able to list the forbidden values by picking them from a value set, by entering them manually, or by writing a regular expression;
  • I shall be able to allow or not the SUT to use other codes that are not mentioned (opened/closed list).

If the specifications constraints the Reason-phrase, I shall be able to enter a list of accepted values, or a regular expression.

Status-Code and reason-phrase are tighly linked, I should be able to say which Reason-phrase values are authorized for each (or a set of) authorized Status-Code values.

 

 

Acceptance criteria

When the user is logged in as a test designer (current test_editor role), when he creates a new rule for an HTTP response message, he is invited to select which element of the HTTP Status-Line he wants to contrain. It includes: 

  • HTTP version
  • Status code
  • Reason phrase