Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Expand

The following abbreviations are used in the functional test case description below since there is substantial repetition and notes associated with some terms.

  1. HTTP-200-TRUE
    1. Component (or all components) should return health status as “true” (HTTP response code of 200, response content containing the string "true")

    2. Notes: (a) Verify whether the external components also have standardized on "true" as the value
  2. SIMPLE-GET-HEALTH-CHECK-API
    1. API: healthcheck
    2. HTTP Request Method: GET
    3. HTTP Endpoint: http://<host>:<port>/healthcheck 
    4. Notes:
      1.  
      (a)
      1. check whether https can be used
      , and (b)
      1. check whether mutual TLS is required when using OOM/K8S
      2. verify if the health check is required for dependencies (it will help in quickly debugging but will add extra logic in our testing)

Anchor
OOF Beijing Release Functional Test Cases
OOF Beijing Release Functional Test Cases
OOF-OSDF Beijing Release CSIT Functional Test Cases 

...

Id

Description

Pre-conditions

Test Steps

Expected Results

A: Health Checks

A.1: OOF-OSDF Component Health Checks

A.1a

Perform healthcheck for the OOF-OSDF components using Healthcheck API

  •   OSDF (OF Manager)

OSDF application component (OSDF application server) should be up and running

Server and authentication details should   be configured at $OOF_HOME/config/feature-healthcheck.properties

SIMPLE-GET-HEALTH-CHECK-API

HTTP-200-TRUE

A.2: OOF-OSDF Dependencies Health Checks

Test whether dependencies (external components) such as Policy, and other OOF components (e.g. HAS API) respond to health checks.

A.2a

Perform healthcheck for the following external components and OOF components using Healthcheck API

  • Policy
  • OOF-HAS API

Service configuration file(s) should be available and loaded.

Services should be up and running.

SIMPLE-GET-HEALTH-CHECK-API

All components should return health status as “true” (HTTP code 200, content as string "true")

Note 1: Verify whether the external components also have standardized on "true" as the value

Note 2: Verify if this step is required or optional (it will help in quickly debugging but will add extra logic in our testing)

HTTP-200-TRUE


B: Tests Related to Data from Emulators (valid and invalid data sets)

B.1: Checking Dependencies (Mostly external components) via EmulatorsCheck Requests covering Valid and Invalid Data

Testing whether dependencies (mostly external components such as Policy, A&AI, Multi Cloud, etc., and in some cases other OOF containers) are available and return expected data. The external components will be mock emulators, while internal components may be mock or real.

2

Retrieve data from mock emulators for the following components or links via emulators:

  • OSDF → HAS (POST template)
  • OSDF → HAS (GET status/solution)
  • OSDF → Policy
  • HAS → Multi Cloud
  • HAS → A&AI (clarify)
  • HAS → DMaaP (clarify)
  • HAS → MUSIC
  • Interactions among HAS internal components (when using separate Docker containers)

Emulator configuration file should be available and loaded.

Emulator services should be up and running.

For some internal component testing, emulators may be replaced by real systems when convenient

API – specific to each component

Method - POST in most cases; GET in some cases

Endpoint: http://<host>:<port>/<specific-API>

Notes:

  1. Split these into individual cells and expand

Should receive expected data

TODO: Expand individual cases as separate cells within this section


C: Tests Related to Data from Emulators (valid and invalid data sets)

B.2:







B.1: Checking Dependencies (Mostly external components) via Emulators

Testing whether dependencies (mostly external components such as Policy, A&AI, Multi Cloud, etc., and in some cases other OOF containers) are available and return expected data. The external components will be mock emulators, while internal components may be mock or real.

...

  1. Provide an end point for SO to make homing requests
  2. Ensure authentication and validate the incoming request payload based on a model (Python Schematics model based on the SO-OOF API)
  3. Fetch policies relevant to the SO's request (e.g. based on specific use case such as vCPE) and ensure that the policies are valid (well formed and contain required attributes)
  4. Send response to SO that the request is accepted and is in processing (or send an error response)
  5. Create a "template" (request payload) for OOF-HAS and submit the request to OOF-HAS
  6. Periodically poll OOF-HAS for request processing status and optimization solution (with a configurable timeout) and validate the response based on a model (Python Schematics model)
  7. Post the optimization solution to the call-back URL specified in the request from SO in the format defined by SO-OOF API (or send an error response)

...