The various JSON files used by FediTest

https://feditest.org/reference/json-files/

FediTest makes use of a number of types of JSON files for different purposes. This page attempts to explain them.

  • Node Definition: A JSON file that defines a Node, including the Node Driver and potentially a number of addition parameters, such as names of accounts on that Node or its hostname.

  • Constellation Definition: A JSON file that includes one ore more Node definition JSON files, and arranges them into a Constellation definition that can be used for a Test Plan Session.

    A Constellation definition can be created from Node definition JSON files with feditest create-constellation.

  • Test Plan Session Template: A JSON file that contains a list of tests to run, and information about the structure of the the Constellation required to run those tests. The Test Plan Session Template does not yet assign an actual Constellation to it.

    A Test Plan Session Template JSON file can be created from tests found by FediTest with feditest create-session-template.

  • Test Plan: A JSON file that defines a sequence of Test Plan Sessions, each of which is a sequence of tests to run against a particular Constellation.

    A Test Plan JSON file can be created from a Test Plan Session Template JSON file and one more more Constellation JSON files with feditest create-testplan.

  • Test Run Transcript: A JSON file that contains the results of a Test Run, such as which tests were run and the result of each tests. The Test Run transcript also contains the Test Plan that was run and some metadata, such when the run was performed.

    A Test Run transcript is produced by feditest run.

  • Reports can be produced in various formats with feditest convert-transcript from any Test Run Transcript.

This flow is shown graphically below:

JSON data flow