[ 
https://issues.apache.org/jira/browse/TS-3808?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Masaori Koshiba updated TS-3808:
--------------------------------
    Description: 
This is an umbrella ticket for testing HTTP/2 features of ATS by 
[h2spec|https://github.com/summerwind/h2spec].
Our goal : passing all tests.

h3. Status

- 3.5. HTTP/2 Connection Preface
  - ✓ Sends invalid connection preface
- 4.2. Frame Size
  - ✓ Sends large size frame that exceeds the SETTINGS_MAX_FRAME_SIZE
- 4.3. Header Compression and Decompression
  - ✓ Sends invalid header block fragment
- 5.1. Stream States 
  - ✓ idle: Sends a DATA frame
  - × idle: Sends a RST_STREAM frame
  - × idle: Sends a WINDOW_UPDATE frame
  - ✓ idle: Sends a CONTINUATION frame
  - ✓ half closed (remote): Sends a DATA frame
  - × half closed (remote): Sends a HEADERS frame
  - ✓ half closed (remote): Sends a CONTINUATION frame
  - × closed: Sends a CONTINUATION frame
  - 5.1.1. Stream Identifiers
    - ✓ Sends even-numbered stream identifier
  - 5.1.2. Stream Concurrency
    - ✓ Sends HEADERS frames that causes their advertised concurrent stream 
limit to be exceeded
- 5.3. Stream Priority
  - 5.3.1. Stream Dependencies
    - × Sends HEADERS frame that depend on itself
    - ✓ Sends PRIORITY frame that depend on itself
- 5.4. Error Handling
  - 5.4.1. Connection Error Handling
    - × Receives a GOAWAY frame
- 5.5. Extending HTTP/2
  - ✓ Sends an unknown extension frame
  - × Sends an unknown extension frame in the middle of a header block
- 6.1. DATA
  - ✓ Sends a DATA frame with 0x0 stream identifier
  - ✓ Sends a DATA frame on the stream that is not opend
  - ✓ Sends a DATA frame with invalid pad length
- 6.2. HEADERS
  - ✓ Sends a HEADERS frame followed by any frame other than CONTINUATION
  - ✓ Sends a HEADERS frame followed by a frame on a different stream
  - ✓ Sends a HEADERS frame with 0x0 stream identifier
  - ✓ Sends a HEADERS frame with invalid pad length
- 6.3. PRIORITY
  - ✓ Sends a PRIORITY frame with 0x0 stream identifier
  - ✓ Sends a PRIORITY frame with a length other than 5 octets
- 6.4. RST_STREAM
  - ✓ Sends a RST_STREAM frame with 0x0 stream identifier
  - × Sends a RST_STREAM frame on a idle stream
  - ✓ Sends a RST_STREAM frame with a length other than 4 octets
- 6.5. SETTINGS
  - ✓ Sends a SETTINGS frame
  - ✓ Sends a SETTINGS frame that is not a zero-length with ACK flag
  - ✓ Sends a SETTINGS frame with the stream identifier that is not 0x0
  - × Sends a SETTINGS frame with a length other than a multiple of 6 octets
  - 6.5.2. Defined SETTINGS Parameters
    - ✓ SETTINGS_ENABLE_PUSH (0x2): Sends the value other than 0 or 1
    - ✓ SETTINGS_INITIAL_WINDOW_SIZE (0x4): Sends the value above the maximum 
flow control window size
    - ✓ SETTINGS_MAX_FRAME_SIZE (0x5): Sends the value below the initial value
    - ✓ SETTINGS_MAX_FRAME_SIZE (0x5): Sends the value above the maximum 
allowed frame size
- 6.7. PING
  - ✓ Sends a PING frame
  - ✓ Sends a PING frame with the stream identifier that is not 0x0
  - ✓ Sends a PING frame with a length field value other than 8
- 6.8. GOAWAY
  - ✓ Sends a GOAWAY frame with the stream identifier that is not 0x0
- 6.9. WINDOW_UPDATE
  - ✓ Sends a WINDOW_UPDATE frame
  - ✓ Sends a WINDOW_UPDATE frame with an flow control window increment of 0
  - ✓ Sends a WINDOW_UPDATE frame with an flow control window increment of 0 on 
a stream
  - ✓ Sends a WINDOW_UPDATE frame with a length other than a multiple of 4 
octets
- 6.10. CONTINUATION
  - × Sends a CONTINUATION frame
  - × Sends multiple CONTINUATION frames
  - × Sends a CONTINUATION frame followed by any frame other than CONTINUATION
  - × Sends a CONTINUATION frame followed by a frame on a different stream
  - × Sends a CONTINUATION frame with the stream identifier that is 0x0
  - ✓ Sends a CONTINUATION frame after the frame other than HEADERS, 
PUSH_PROMISE or CONTINUATION
- 8.1. HTTP Request/Response Exchange
  - ✓ Sends a HEADERS frame as HEAD request
  - × Sends a HEADERS frame containing trailer part
  - 8.1.2. HTTP Header Fields
    - ✓ Sends a HEADERS frame that contains the header field name in uppercase 
letters
    - 8.1.2.2. Connection-Specific Header Fields
      - × Sends a HEADERS frame that contains the connection-specific header 
field
      - ✓ Sends a HEADERS frame that contains the TE header field that contain 
any value other than "trailers"
    - 8.1.2.3. Request Pseudo-Header Fields
      - ✓ Sends a HEADERS frame that omits mandatory pseudo-header fields
      - ✓ Sends a HEADERS frame containing more than one pseudo-header fields 
with the same name
    - 8.1.2.6. Malformed Requests and Responses
      - ✓ Sends a HEADERS frame that contains the "content-length" header field 
which does not equal the sum of the DATA frame payload lengths
      - ✓ Sends a HEADERS frame that contains the "content-length" header field 
which does not equal the sum of the multiple DATA frame payload lengths
- 8.2. Server Push
  - ✓ Sends a PUSH_PROMISE frame


  was:
This is an umbrella ticket for testing HTTP/2 features of ATS by 
[h2spec|https://github.com/summerwind/h2spec].
Our goal : passing all tests.


>  ☂ Testing HTTP/2 features by h2spec
> ------------------------------------
>
>                 Key: TS-3808
>                 URL: https://issues.apache.org/jira/browse/TS-3808
>             Project: Traffic Server
>          Issue Type: Test
>          Components: HTTP/2
>            Reporter: Masaori Koshiba
>              Labels: Umbrella
>
> This is an umbrella ticket for testing HTTP/2 features of ATS by 
> [h2spec|https://github.com/summerwind/h2spec].
> Our goal : passing all tests.
> h3. Status
> - 3.5. HTTP/2 Connection Preface
>   - ✓ Sends invalid connection preface
> - 4.2. Frame Size
>   - ✓ Sends large size frame that exceeds the SETTINGS_MAX_FRAME_SIZE
> - 4.3. Header Compression and Decompression
>   - ✓ Sends invalid header block fragment
> - 5.1. Stream States 
>   - ✓ idle: Sends a DATA frame
>   - × idle: Sends a RST_STREAM frame
>   - × idle: Sends a WINDOW_UPDATE frame
>   - ✓ idle: Sends a CONTINUATION frame
>   - ✓ half closed (remote): Sends a DATA frame
>   - × half closed (remote): Sends a HEADERS frame
>   - ✓ half closed (remote): Sends a CONTINUATION frame
>   - × closed: Sends a CONTINUATION frame
>   - 5.1.1. Stream Identifiers
>     - ✓ Sends even-numbered stream identifier
>   - 5.1.2. Stream Concurrency
>     - ✓ Sends HEADERS frames that causes their advertised concurrent stream 
> limit to be exceeded
> - 5.3. Stream Priority
>   - 5.3.1. Stream Dependencies
>     - × Sends HEADERS frame that depend on itself
>     - ✓ Sends PRIORITY frame that depend on itself
> - 5.4. Error Handling
>   - 5.4.1. Connection Error Handling
>     - × Receives a GOAWAY frame
> - 5.5. Extending HTTP/2
>   - ✓ Sends an unknown extension frame
>   - × Sends an unknown extension frame in the middle of a header block
> - 6.1. DATA
>   - ✓ Sends a DATA frame with 0x0 stream identifier
>   - ✓ Sends a DATA frame on the stream that is not opend
>   - ✓ Sends a DATA frame with invalid pad length
> - 6.2. HEADERS
>   - ✓ Sends a HEADERS frame followed by any frame other than CONTINUATION
>   - ✓ Sends a HEADERS frame followed by a frame on a different stream
>   - ✓ Sends a HEADERS frame with 0x0 stream identifier
>   - ✓ Sends a HEADERS frame with invalid pad length
> - 6.3. PRIORITY
>   - ✓ Sends a PRIORITY frame with 0x0 stream identifier
>   - ✓ Sends a PRIORITY frame with a length other than 5 octets
> - 6.4. RST_STREAM
>   - ✓ Sends a RST_STREAM frame with 0x0 stream identifier
>   - × Sends a RST_STREAM frame on a idle stream
>   - ✓ Sends a RST_STREAM frame with a length other than 4 octets
> - 6.5. SETTINGS
>   - ✓ Sends a SETTINGS frame
>   - ✓ Sends a SETTINGS frame that is not a zero-length with ACK flag
>   - ✓ Sends a SETTINGS frame with the stream identifier that is not 0x0
>   - × Sends a SETTINGS frame with a length other than a multiple of 6 octets
>   - 6.5.2. Defined SETTINGS Parameters
>     - ✓ SETTINGS_ENABLE_PUSH (0x2): Sends the value other than 0 or 1
>     - ✓ SETTINGS_INITIAL_WINDOW_SIZE (0x4): Sends the value above the maximum 
> flow control window size
>     - ✓ SETTINGS_MAX_FRAME_SIZE (0x5): Sends the value below the initial value
>     - ✓ SETTINGS_MAX_FRAME_SIZE (0x5): Sends the value above the maximum 
> allowed frame size
> - 6.7. PING
>   - ✓ Sends a PING frame
>   - ✓ Sends a PING frame with the stream identifier that is not 0x0
>   - ✓ Sends a PING frame with a length field value other than 8
> - 6.8. GOAWAY
>   - ✓ Sends a GOAWAY frame with the stream identifier that is not 0x0
> - 6.9. WINDOW_UPDATE
>   - ✓ Sends a WINDOW_UPDATE frame
>   - ✓ Sends a WINDOW_UPDATE frame with an flow control window increment of 0
>   - ✓ Sends a WINDOW_UPDATE frame with an flow control window increment of 0 
> on a stream
>   - ✓ Sends a WINDOW_UPDATE frame with a length other than a multiple of 4 
> octets
> - 6.10. CONTINUATION
>   - × Sends a CONTINUATION frame
>   - × Sends multiple CONTINUATION frames
>   - × Sends a CONTINUATION frame followed by any frame other than CONTINUATION
>   - × Sends a CONTINUATION frame followed by a frame on a different stream
>   - × Sends a CONTINUATION frame with the stream identifier that is 0x0
>   - ✓ Sends a CONTINUATION frame after the frame other than HEADERS, 
> PUSH_PROMISE or CONTINUATION
> - 8.1. HTTP Request/Response Exchange
>   - ✓ Sends a HEADERS frame as HEAD request
>   - × Sends a HEADERS frame containing trailer part
>   - 8.1.2. HTTP Header Fields
>     - ✓ Sends a HEADERS frame that contains the header field name in 
> uppercase letters
>     - 8.1.2.2. Connection-Specific Header Fields
>       - × Sends a HEADERS frame that contains the connection-specific header 
> field
>       - ✓ Sends a HEADERS frame that contains the TE header field that 
> contain any value other than "trailers"
>     - 8.1.2.3. Request Pseudo-Header Fields
>       - ✓ Sends a HEADERS frame that omits mandatory pseudo-header fields
>       - ✓ Sends a HEADERS frame containing more than one pseudo-header fields 
> with the same name
>     - 8.1.2.6. Malformed Requests and Responses
>       - ✓ Sends a HEADERS frame that contains the "content-length" header 
> field which does not equal the sum of the DATA frame payload lengths
>       - ✓ Sends a HEADERS frame that contains the "content-length" header 
> field which does not equal the sum of the multiple DATA frame payload lengths
> - 8.2. Server Push
>   - ✓ Sends a PUSH_PROMISE frame



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to