Skip to content

Using the ODE test harness

hmusavi edited this page Apr 8, 2019 · 3 revisions

Overview

The ODE test harness is an automated integration test suite. It requires an active, running ODE and works by uploading data to the ODE and listening to Kafka for output to validate.

Setup

The test harness is included in the base ODE repository under the qa/test-harness folder.

Requirements:

  • Running ODE
  • Python 3
    • kafka library installed (pip install kafka)
  • DOCKER_HOST_IP environment variable must be set (see instructions here)

ODE QA Architecture

ODE the usdot-jpo-ode organization on GitHub contains the jpo-ode/qa/test-harness which is a python application designed to run a suite of tests in collaboration with a running ODE. The test-harness uses another repository within usdot-jpo-ode that contains a python library consisting of reusable the test cases and the test procedures. this ode-output-validator-library library is also used within a module used by the DataHub program. ode-output-validator-library can also be used by other test routines developed by other ODE data users and deployers. The following diagram illustrates the relationship between these modules.

Test Modules Architecture

Running

  1. Navigate to the test-harness directory of the ODE using a system shell
  2. Run the command source ./install.sh
  3. Run the command source ./full-test.sh

Validation

The test harness script includes a series of log statements and assertions. A successful test run will end with a All tests have passed at the end. Unsuccessful test runs will exit with messages indicating the failure.

For more details, please read the ode-output-validator-library library documentation.

Canary Lambda function, a DataHub early warning system also uses ode-output-validator-library library to validate data received from Wyoming into the repository.

Releases

Change Notices

Informational Reference

  • Decode a file with asn1c
  • Deposit BSM to S3
  • Docker fix for SSL issues due to corporate network
  • Docker management
  • ECDSA Primer
  • Filter BSMs through PPM module
  • Geofence Filtering for PPM
  • Import BSMs from RSU log file
  • Import TIMs from RSU log file
  • jpo security svcs Integration
  • Link host directory to Docker directory
  • Migrating from SDW websocket depositor to SDW Depositor Submodule
  • ODE Release Deployment
  • ODE Release Preparation
  • Prepare a fresh Ubuntu instance for ODE installation
  • Process for Handling Bugs (Code Defects)
  • Run the ODE using the ASN codec module
  • Query RSU for set TIMs
  • Schema Version 6 Change Notice
  • Signed Message File Import
  • TIM REST Endpoint Changes
  • Using the .env configuration file
  • Using the ODE test harness

Test Procedures

  • Delete TIM on RSU test
  • Event Logger Test
  • Import Decode and Deliver BSM Test
  • Manage SNMP Test
  • Sending PDM to RSU Test
  • Sending TIM to RSU Test
  • Submit_TIM_To_SDW Test

Archived

  • Log File Changes (schemaVersion=4)
  • Receive BSMs over UDP
  • Receive ISD via UDP and deposit to SDC
  • Receive VSD via UDP and deposit to SDC
  • Run the crypto test vectors code with ODE team's OSS encoder
  • SchemaVersion 5 Change Notice
Clone this wiki locally