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

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

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

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

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

Бегать

  1. Установите ОпенВиве. Инструкции см. в руководстве по сборке 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. Запустите тестовый пример .