From 698c82d39242f1829445f7390a149b0f8da9a894 Mon Sep 17 00:00:00 2001 From: Zhihao Ma Date: Thu, 6 Mar 2025 15:58:18 -0500 Subject: [PATCH] adds teap playbooks --- .../dot1x_eap_teap/playbooks/configure.yml | 44 +++++++++++++++++++ .../dot1x_eap_teap/playbooks/run_tests.yml | 31 +++++++++++++ t/venom/scenarios/dot1x_eap_teap/site.yml | 12 +++++ 3 files changed, 87 insertions(+) create mode 100644 t/venom/scenarios/dot1x_eap_teap/playbooks/configure.yml create mode 100644 t/venom/scenarios/dot1x_eap_teap/playbooks/run_tests.yml create mode 100644 t/venom/scenarios/dot1x_eap_teap/site.yml diff --git a/t/venom/scenarios/dot1x_eap_teap/playbooks/configure.yml b/t/venom/scenarios/dot1x_eap_teap/playbooks/configure.yml new file mode 100644 index 000000000000..07b43e0adf1b --- /dev/null +++ b/t/venom/scenarios/dot1x_eap_teap/playbooks/configure.yml @@ -0,0 +1,44 @@ +--- +- hosts: pfservers + name: configure Packetfence VM + become: True + + vars: + debianPackages: + - curl + - python3-pip + - virtualenv + - jq + + el8Packages: + - curl + - python3-pip + - python3-setuptools + - virtualenv + - jq + + tasks: + - name: Install packages on debian + package: + name: "{{ debianPackages }}" + state: present + when: ansible_facts['os_family'] == "Debian" + + - name: Install packages on el8 + package: + name: "{{ el8Packages }}" + state: present + when: ansible_facts['os_family'] == "RedHat" + + - name: Install xmltodict python package + pip: + name: xmltodict + when: ansible_facts['os_family'] == "RedHat" + + - name: Install xmltodict python package + shell: | + set -e -o pipefail + pip install xmltodict --break-system-packages + args: + executable: /usr/bin/bash + when: ansible_facts['os_family'] == "Debian" diff --git a/t/venom/scenarios/dot1x_eap_teap/playbooks/run_tests.yml b/t/venom/scenarios/dot1x_eap_teap/playbooks/run_tests.yml new file mode 100644 index 000000000000..eb285eaac801 --- /dev/null +++ b/t/venom/scenarios/dot1x_eap_teap/playbooks/run_tests.yml @@ -0,0 +1,31 @@ +--- +- hosts: pfservers + name: Run dot1x_eap_teap tests + become: True + + vars: + test_suites: + - configurator + - global_config + - wired_dot1x_eap_teap + - wired_dot1x_eap_teap/teardown + - global_teardown + + tasks: + - name: Run Venom testsuites + command: '{{ venom_dir }}/venom-wrapper.sh {{ venom_dir }}/test_suites/{{ item }}' + args: + chdir: '{{ venom_dir }}' + loop: '{{ test_suites }}' + vars: + venom_wrapper_args: + # temp, overcome Venom issue: + # - when running test suite one by one, previous logs and results are overriden + # Venom will create one directory per test suite to store results + VENOM_COMMON_FLAGS: '--output-dir={{ venom_dir }}/results/{{ item }} + --var test_suite_results_dir={{ venom_dir }}/results/{{ item }}' + + # add inventory__group_environment to Ansible environment + # useful to make env vars available for Venom + environment: '{{ inventory__group_environment | d({}) + | combine(venom_wrapper_args | d({})) }}' diff --git a/t/venom/scenarios/dot1x_eap_teap/site.yml b/t/venom/scenarios/dot1x_eap_teap/site.yml new file mode 100644 index 000000000000..8e99c97f135e --- /dev/null +++ b/t/venom/scenarios/dot1x_eap_teap/site.yml @@ -0,0 +1,12 @@ +--- +# Development environnement +## rsync before tests when doing local development +## preinstall vim +## fix term +- import_playbook: ../common/dev.yml + when: lookup("env", "CI") != 'true' + +# Add extra configuration before running venom tests +- import_playbook: playbooks/configure.yml + +- import_playbook: playbooks/run_tests.yml