Behave Test Report

Features: passed: 2

Scenarios: passed: 6

Steps: passed: 38

Finished in 7.7 seconds

@candlestick

Feature: Candlestick API Testing

As an API user
I want to retrieve candlestick data
So that I can analyze market trends

Background:

features/rest/candlestick.feature:12@smoke, @positive

Scenario: Get candlestick data with valid parameters

  1. Given I have the API base URL configured(0.000s)
    features/steps/candlestickAPI_steps.py:12
  2. And I set the request headers(0.000s)
    features/steps/candlestickAPI_steps.py:19
  3. Given I have valid candlestick parameters(0.000s)
    features/steps/candlestickAPI_steps.py:35
  4. When I send a GET request to the candlestick endpoint(0.349s)
    features/steps/candlestickAPI_steps.py:71
  5. Then the response status code should be 200(0.000s)
    features/steps/candlestickAPI_steps.py:149
  6. And the response should contain "result.data"(0.000s)
    features/steps/candlestickAPI_steps.py:165
  7. And the candlestick data should contain required fields(0.000s)
    features/steps/candlestickAPI_steps.py:217
  8. And each candlestick should have "o" field(0.000s)
    features/steps/candlestickAPI_steps.py:239
  9. And each candlestick should have "h" field(0.000s)
    features/steps/candlestickAPI_steps.py:239
  10. And each candlestick should have "l" field(0.000s)
    features/steps/candlestickAPI_steps.py:239
  11. And each candlestick should have "c" field(0.000s)
    features/steps/candlestickAPI_steps.py:239
features/rest/candlestick.feature:24@negative

Scenario: Get candlestick data without instrument_name parameter

  1. Given I have the API base URL configured(0.000s)
    features/steps/candlestickAPI_steps.py:12
  2. And I set the request headers(0.000s)
    features/steps/candlestickAPI_steps.py:19
  3. Given I have candlestick parameters without instrument_name(0.000s)
    features/steps/candlestickAPI_steps.py:47
  4. When I send a GET request to the candlestick endpoint(0.297s)
    features/steps/candlestickAPI_steps.py:71
  5. Then the response status code should not be 200(0.000s)
    features/steps/candlestickAPI_steps.py:156
  6. And the response should contain an error structure(0.000s)
    features/steps/candlestickAPI_steps.py:196
features/rest/candlestick.feature:31@negative

Scenario: Get candlestick data with invalid instrument_name

  1. Given I have the API base URL configured(0.000s)
    features/steps/candlestickAPI_steps.py:12
  2. And I set the request headers(0.000s)
    features/steps/candlestickAPI_steps.py:19
  3. Given I have candlestick parameters with invalid instrument_name(0.000s)
    features/steps/candlestickAPI_steps.py:59
  4. When I send a GET request to the candlestick endpoint(0.317s)
    features/steps/candlestickAPI_steps.py:71
  5. Then the response status code should not be 200(0.000s)
    features/steps/candlestickAPI_steps.py:156
  6. And the response should contain an error structure(0.000s)
    features/steps/candlestickAPI_steps.py:196
@book

Feature: WebSocket Book Subscription Testing

As an API user
I want to subscribe to order book data via WebSocket
So that I can receive real-time market depth information

Background:

features/websocket/book_ws.feature:12@smoke, @positive

Scenario: Subscribe to order book with simple parameters

  1. Given I have the WebSocket URL configured(1.001s)
    features/steps/bookAPI.py:82
  2. And I set the WebSocket timeout(0.000s)
    features/steps/bookAPI.py:94
  3. Given I have a WebSocket connection to the book endpoint(0.883s)
    features/steps/bookAPI.py:100
  4. And I prepare a simple book subscription message(0.000s)
    features/steps/bookAPI.py:108
  5. When I send the subscription message(0.000s)
    features/steps/bookAPI.py:146
  6. Then I should receive a successful subscription response(0.184s)
    features/steps/bookAPI.py:153
  7. And the response should contain subscription confirmation(0.000s)
    features/steps/bookAPI.py:195
  8. And the book data should contain required fields with simple parameters(0.000s)
    features/steps/bookAPI.py:238
  9. And the trade data should contain required fields(0.000s)
    features/steps/bookAPI.py:385
  10. And each trade entry should have required fields(0.002s)
    features/steps/bookAPI.py:407
features/websocket/book_ws.feature:24@positive

Scenario: Subscribe to order book with full parameters

  1. Given I have the WebSocket URL configured(1.001s)
    features/steps/bookAPI.py:82
  2. And I set the WebSocket timeout(0.000s)
    features/steps/bookAPI.py:94
  3. Given I have a WebSocket connection to the book endpoint(0.667s)
    features/steps/bookAPI.py:100
  4. And I prepare a full book subscription message(0.000s)
    features/steps/bookAPI.py:120
  5. When I send the subscription message(0.000s)
    features/steps/bookAPI.py:146
  6. Then I should receive a successful subscription response(1.227s)
    features/steps/bookAPI.py:153
  7. And the response should contain subscription confirmation(0.000s)
    features/steps/bookAPI.py:195
  8. And the book data should contain required fields(0.000s)
    features/steps/bookAPI.py:216
  9. And the book should have asks and bids arrays(0.000s)
    features/steps/bookAPI.py:260
  10. And each order entry should have price, size, and count(0.000s)
    features/steps/bookAPI.py:315
features/websocket/book_ws.feature:35@negative

Scenario: Subscribe with invalid channel

  1. Given I have the WebSocket URL configured(1.001s)
    features/steps/bookAPI.py:82
  2. And I set the WebSocket timeout(0.000s)
    features/steps/bookAPI.py:94
  3. Given I have a WebSocket connection to the book endpoint(0.636s)
    features/steps/bookAPI.py:100
  4. And I prepare an invalid subscription message(0.000s)
    features/steps/bookAPI.py:132
  5. When I send the subscription message(0.000s)
    features/steps/bookAPI.py:146
  6. Then I should receive an error response(0.176s)
    features/steps/bookAPI.py:185
  7. And the error should indicate invalid channel(0.000s)
    features/steps/bookAPI.py:362