As part of #306, we need to introduce system tests into Cascade. These tests will launch Cascade alongside a number of other processes (e.g. kmip2pkcs11 and NSD) and test it from the outside, via CLI commands. They should confirm that Cascade's components are working together properly.
For now, these tests should simply confirm that CLI output matches expectations. This could be replaced with JSON output checks (via #337) or even direct HTTP API interaction.
Key rollovers also require strong testing, but those tests might be better implemented in dnst-keyset rather than in Cascade.
In the future, we could consider fuzzing / randomized testing over the whole system, by randomly generating Cascade's state files and verifying that it works properly in any situation. This is more efficient than randomly generating actions to influence Cascade.
As part of #306, we need to introduce system tests into Cascade. These tests will launch Cascade alongside a number of other processes (e.g.
kmip2pkcs11and NSD) and test it from the outside, via CLI commands. They should confirm that Cascade's components are working together properly.For now, these tests should simply confirm that CLI output matches expectations. This could be replaced with JSON output checks (via #337) or even direct HTTP API interaction.
Key rollovers also require strong testing, but those tests might be better implemented in
dnst-keysetrather than in Cascade.In the future, we could consider fuzzing / randomized testing over the whole system, by randomly generating Cascade's state files and verifying that it works properly in any situation. This is more efficient than randomly generating actions to influence Cascade.