Тестовые случаи

Посмотреть исходный код на GitHub

OpenWeave включает в себя ряд скриптов Python для тестирования функциональности Weave на смоделированных топологиях Happy. Эти тестовые примеры обеспечивают правильную настройку топологии для подключения к сети и развертывания Weave.

Скрипты тестовых случаев находятся в репозитории OpenWeave по адресу /src/test-apps/happy/tests . Существует два типа тестов:

  • Служба — Тесты, которые взаимодействуют со службой.
  • Автономные — тесты, которые выполняются на локальных топологиях.

Бежать

  1. Установите OpenWeave. Инструкции см. в руководстве по сборке OpenWeave .
  2. Установить Хэппи. Инструкции см. в руководстве Happy Setup .
  3. Перейдите в каталог, содержащий целевой тестовый пример. Например, чтобы запустить тестовый пример профиля Echo:
    cd <path-to-openweave-core>/src/test-apps/happy/tests/standalone/echo
    python test_weave_echo_01.py

Change test topology

OpenWeave test cases run against the sample Happy topologies found in /src/test-apps/happy/topologies/standalone. To use your own custom Happy topology in a test case:

  1. After constructing your custom topology, save it in JSON format. This saves the topology state file in the $HOME directory:
    happy-state -s my_topology.json
  2. In the test case script, locate the topology file being used. Topologies in test cases are typically assigned to the self.topology_file variable. For example, test_weave_echo_01.py uses the following topology for a default OpenWeave build:

    self.topology_file = os.path.dirname(os.path.realpath(__file__)) + \
        "/../../../topologies/standalone/three_nodes_on_thread_weave.json"
    
  3. Обновите путь топологии, чтобы он указывал на ваш собственный файл состояния топологии:

    self.topology_file = "~/my_topology.json"
    
  4. В качестве альтернативы поместите свой пользовательский файл состояния топологии в то же место, что и файлы, включенные в OpenWeave:

    self.topology_file = os.path.dirname(os.path.realpath(__file__)) + \
        "/../../../topologies/standalone/my_topology.json"
    
  5. Запустите тестовый пример .