Jujuna tests are designed to validate configuration of infrastructure in a fast way. It is able to discover many common issues, that do not appear in Juju status or during upgrade procedure.

Test suite is a declarative config of infrastructure. Status is declared by referencing brokers and their variables.

Brokers are modules that are using exporters to extract specific information from units. They represent important system values. Exporters are modules that read and export information from units to brokers. There the information is evaluated.

Test brokers/exporters (named respectively):

  • api
  • file
  • mount
  • network
  • package
  • process
  • service
  • user
jujuna.tests.test(test_suite='', ctrl_name='', model_name='', endpoint='', username='', password='', cacert='', **kwargs)

Run a test suite against applications deployed in the current or selected model.

Applications are tested with declarative parameters specified in the test suite using the available brokers.

Connection requires juju client configs to be present locally or specification of credentialls: endpoint (e.g., username, password, and model uuid as model_name.

  • test_suite – suite file (Yaml)
  • ctrl_name – juju controller
  • model_name – juju model name or uuid
  • endpoint – string
  • username – string
  • password – string
  • cacert – string