Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/openconfig/gnmitest
Test framework for gNMI
https://github.com/openconfig/gnmitest
Last synced: about 2 months ago
JSON representation
Test framework for gNMI
- Host: GitHub
- URL: https://github.com/openconfig/gnmitest
- Owner: openconfig
- License: apache-2.0
- Created: 2018-08-27T21:55:15.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2021-10-14T00:01:00.000Z (about 3 years ago)
- Last Synced: 2024-06-19T02:08:29.783Z (7 months ago)
- Language: Go
- Size: 4.93 MB
- Stars: 14
- Watchers: 11
- Forks: 4
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# gnmitest - A Test Framework for gNMI
The gnmitest framework contains a test runner, and a set of tests to validate
an implementation of the gNMI protocol. The tests are schema-aware, such that
they can also validate the payload carried by gNMI - particularly, this allows
compliance tests against the OpenConfig schema to be implemented.The framework is intended to:
1. Perform compliance tests for gNMI against the specification.
1. Validate compliance with the OpenConfig schema.
1. Allow augmentation to qualify a specific implementation against a set of
operational requirements, such as a mandatory set of paths.The gnmitest framework can be used as part of a wider test framework, to perform
device interactions such as setting configuration, or as a validator that
particular telemetry values are sent by a device in response to a particular
stimulus. Currently, gnmitest does not validate the correctness of data that is
returned by telemetry, or the behaviour of the device once a configuration has
been applied.**Note**: This is not an official Google product.
## Tests in gnmitest
The tests that the framework can run are specified under the `tests` directory,
and are organised according to the gNMI RPC that they test.Tests that validate the behaviour of streaming telemetry implementations can be
found in the `subscribe` directory -- for example, providing schema compliance
tests for paths in received `Notifications`, and checks for data completeness -
such as all expected entries being present in a list. As the framework is
extended, additional subscription tests (value compliance with the schema, path
set completeness) will be implemented within this directory.The `getsetv` directory contains tests that relate to the Get and Set RPCs.
Particularly, these tests allow the retrieval and manipulation of configuration
on a device.You can also learn about [executing gnmitest `Suite`](https://github.com/openconfig/gnmitest/tree/master/docs/running_gnmitest.md)
and [extending gnmitest `Subscribe` tests](https://github.com/openconfig/gnmitest/tree/master/docs/extending_gnmitest_subscribe_tests.md).