NMOS API Testing Tool

July 31, 2025 ยท View on GitHub

LICENSE Lint Status Render Status Deploy Status

This tool creates a simple web service which tests implementations of the NMOS APIs.

Selecting a test to runExamining the results
Testing Tool LauncherExample Results Window

The following test suites are currently supported.

Test Suite IDSuiteNodeRegistryControllerOther/Notes
IS-04-01IS-04 Node APIX
IS-04-02IS-04 Registry APIsX
IS-04-03IS-04 Node API (Peer to Peer)X
IS-04-04IS-04 ControllerXSee Testing Controllers
IS-05-01IS-05 Connection Management APIX
IS-05-02IS-05 Interaction with IS-04X
IS-05-03IS-05 ControllerXSee Testing Controllers
IS-06-01IS-06 Network Control APINetwork Controller
IS-07-01IS-07 Event & Tally APIX
IS-07-02IS-07 Interaction with IS-04 and IS-05X
IS-08-01IS-08 Channel Mapping APIX
IS-08-02IS-08 Interaction with IS-04X
IS-09-01IS-09 System API(X)System Parameters Server
IS-09-02IS-09 System API DiscoveryX
IS-10-01IS-10 Authorization APIAuthorization Server
IS-11-01IS-11 Stream Compatibility Management APIX
IS-12-01IS-12 Control Protocol APIXSee Invasive Device Model Testing
IS-14-01IS-14 Device Configuration APIXSee Invasive Device Model Testing
-BCP-002-01 Natural GroupingXIncluded in IS-04 Node API suite
-BCP-002-02 Asset Distinguishing InformationXIncluded in IS-04 Node API suite
BCP-003-01BCP-003-01 Secure CommunicationXXSee Testing TLS
-BCP-003-02 AuthorizationXXSee Testing Authorization
-BCP-004-01 Receiver CapabilitiesXIncluded in IS-04 Node API and IS-05 Interaction with IS-04 suites
BCP-006-01-01BCP-006-01 NMOS With JPEG XSX
BCP-006-01-02BCP-006-01 ControllerXSee Testing Controllers
BCP-006-04BCP-006-04 NMOS With MPEG-TSX
BCP-008-01-01BCP-008-01 Receiver Status MonitoringX
BCP-008-02-01BCP-008-02 Sender Status MonitoringX

When testing any of the above APIs it is important that they contain representative data. The test results will generate 'Could Not Test' results if no testable entities can be located. In addition, if devices support many modes of operation (including multiple video/audio formats) it is strongly recommended to re-test them in multiple modes.

Installation & Usage

Detailed instructions can be found in the documentation.

Important Notes

  • The IS-04 Node and IS-09 Discovery tests create mock mDNS announcements on the network unless the nmostesting/UserConfig.py ENABLE_DNS_SD parameter is set to False, or the DNS_SD_MODE parameter is set to 'unicast'. It is critical that these tests are only run in isolated network segments away from production Nodes and registries. Only one Node can be tested at a single time. If ENABLE_DNS_SD is set to False, make sure to update the Query API hostname/IP and port via QUERY_API_HOST and QUERY_API_PORT in the nmostesting/UserConfig.py.
  • For IS-04 Registry tests of Query API pagination, make sure the time of the test device and the time of the device hosting the tests is synchronized.
  • For IS-05 tests #29 and #30, and IS-08 test #4 (absolute activation), make sure the time of the test device and the time of the device hosting the tests is synchronized.