This doc lays out a basic testing plan for verifying myceli
functionality in a lab, dev, or live setup.
This doc will not cover any hardware or system specifics around running myceli
. This includes radio configuration, how/where to run myceli
, or even how to configure myceli
. All of these specifics are assumed to be system dependent and will change based on the hardware and it's deployment configuration.
This doc will cover generic behavioral testing plans for myceli
which can be used to validate any myceli
installation or configuration.
Steps:
- Using controller software, send the
RequestAvailableBlocks
command to themyceli
ground instance.- This step passes if an
AvailableBlocks
response is received. Any other response / no response is a failure.
- This step passes if an
- Using controller software, send the
RequestAvailableBlocks
command to themyceli
space instance.- This step passes if an
AvailableBlocks
response is received. Any other response / no response is a failure.
- This step passes if an
This test case passes if both steps pass.
Steps:
- Using the controller software, send the
ImportFile
command to themyceli
space instance with a known good path for the one-pass payload file.- This step passes if an
FileImported
response with CID is received. Any other response / no response is a failure.
- This step passes if an
- Using the controller software, send the
TransmitDag
command to themyceli
space instance with the CID obtained from theFileImported
response and with the network address of the space-to-ground radio link. - Using the controller software, send the
ValidateDag
command to themyceli
ground instance with the CID obtained from theFileImported
response.- This step passes if an
ValidateDagResponse
response with true. Any other response / no response is a failure.
- This step passes if an
- Using the controller software, send the
ExportDag
command to themyceli
ground instance with the CID obtained from theFileImported
response and a writeable file path.- This step passes if
myceli
is able to correctly write a file to the given file path.
- This step passes if
This test case passes if the final step is successful and the resulting written file matches the onboard payload file.
Steps:
- Using the controller software, send the
ImportFile
command to themyceli
ground instance with a known good path for the one-pass payload file.- This step passes if an
FileImported
response with CID is received. Any other response / no response is a failure.
- This step passes if an
- Using the controller software, send the
TransmitDag
command to themyceli
ground instance with the CID obtained from theFileImported
response and with the network address of the ground-to-space radio link. - Using the controller software, send the
ValidateDag
command to themyceli
space instance with the CID obtained from theFileImported
response.- This step passes if an
ValidateDagResponse
response with true. Any other response / no response is a failure.
- This step passes if an
- Shutdown the
myceli
ground instance, delete the storage database, and start themyceli
ground instance again. - Using the controller software, send the
TransmitDag
command to themyceli
space instance with the CID obtained from theFileImported
response and with the network address of the space-to-ground radio link. - Using the controller software, send the
ValidateDag
command to themyceli
ground instance with the CID obtained from theFileImported
response.- This step passes if an
ValidateDagResponse
response with true. Any other response / no response is a failure.
- This step passes if an
- Using the controller software, send the
ExportDag
command to themyceli
ground instance with the CID obtained from theFileImported
response and a writeable file path.- This step passes if
myceli
is able to correctly write a file to the given file path.
- This step passes if
This test case passes if the final step is successful and the resulting written file matches the originally transmitted payload file.