mirror of
https://github.com/Telecominfraproject/wlan-testing.git
synced 2025-12-28 00:15:18 +00:00
Merge branch 'master' into WIFI-5146
This commit is contained in:
561
.github/workflows/quali-basic-manual.yml
vendored
Normal file
561
.github/workflows/quali-basic-manual.yml
vendored
Normal file
@@ -0,0 +1,561 @@
|
||||
name: manual pytest execution against basic lab
|
||||
env:
|
||||
# thirdparties
|
||||
DOCKER_SERVER: tip-tip-wlan-cloud-docker-repo.jfrog.io
|
||||
DOCKER_USER_NAME: wlan-testing-cicd
|
||||
DOCKER_USER_PASSWORD: ${{ secrets.DOCKER_USER_PASSWORD }}
|
||||
# AWS credentials
|
||||
AWS_EKS_NAME: tip-wlan-main
|
||||
AWS_DEFAULT_OUTPUT: json
|
||||
AWS_DEFAULT_REGION: us-east-2
|
||||
AWS_ACCOUNT_ID: ${{ secrets.AWS_ACCOUNT_ID }}
|
||||
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_CLIENT_ID }}
|
||||
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_CLIENT_KEY }}
|
||||
# Cloud SDK certs
|
||||
CACERT: ${{ secrets.CACERT }}
|
||||
CAKEY: ${{ secrets.CAKEY }}
|
||||
ALLURE_CLI_VERSION: 2.14.0
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
openwifi_revision:
|
||||
required: true
|
||||
default: 'main'
|
||||
description: 'revision of the Open Wifi Helm chart'
|
||||
openwifi_gw_revision:
|
||||
required: true
|
||||
default: 'master'
|
||||
description: 'revision of the Open Wifi gateway service'
|
||||
openwifi_sec_revision:
|
||||
required: true
|
||||
default: 'main'
|
||||
description: 'revision of the Open Wifi security service'
|
||||
openwifi_fms_revision:
|
||||
required: true
|
||||
default: 'main'
|
||||
description: 'revision of the Open Wifi fms service'
|
||||
openwifi_ui_revision:
|
||||
required: true
|
||||
default: 'main'
|
||||
description: 'revision of the Open Wifi UI'
|
||||
ap_model:
|
||||
description: 'AP model to test, one of ECW5410,EAP101,EC420,ECW5211,WF188N,EAP102,CIG194C'
|
||||
required: true
|
||||
firmware:
|
||||
default: 'next-latest'
|
||||
description: 'Target firmware version to be specified <branch>-<commit | latest>'
|
||||
required: false
|
||||
marker_expression:
|
||||
description: "marker expression that will be passed to pytest's -m"
|
||||
required: true
|
||||
|
||||
defaults:
|
||||
run:
|
||||
shell: bash
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
# checkout needed repositories
|
||||
- name: Checkout Testing repo
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
path: wlan-testing
|
||||
|
||||
- name: Checkout LANforge scripts
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
path: wlan-lanforge-scripts
|
||||
repository: Telecominfraproject/wlan-lanforge-scripts
|
||||
|
||||
- name: import LANforge scripts
|
||||
working-directory: wlan-testing
|
||||
run: ./sync_repos.bash
|
||||
|
||||
# build and push docker image
|
||||
- name: docker login
|
||||
run: docker login ${{ env.DOCKER_SERVER }} -u ${{ env.DOCKER_USER_NAME }} -p ${{ env.DOCKER_USER_PASSWORD }}
|
||||
- name: build docker image
|
||||
working-directory: wlan-testing
|
||||
run: docker build -t ${{ env.DOCKER_SERVER }}/cloud-sdk-nightly:${{ github.run_id }} -f docker/Dockerfile .
|
||||
- name: push docker image
|
||||
run: docker push ${{ env.DOCKER_SERVER }}/cloud-sdk-nightly:${{ github.run_id }}
|
||||
|
||||
test:
|
||||
runs-on: [ self-hosted, small ]
|
||||
needs: [ build ]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v2
|
||||
with:
|
||||
python-version: '3.8'
|
||||
|
||||
- name: install dependencies
|
||||
run: pip install -r .quali/requirements.txt
|
||||
|
||||
- name: start reservation
|
||||
id: start
|
||||
env:
|
||||
CLOUDSHELL_URL: quali-cloudshell.lab.wlan.tip.build
|
||||
CLOUDSHELL_USER: ${{ secrets.CLOUDSHELL_USER }}
|
||||
CLOUDSHELL_PASSWORD: ${{ secrets.CLOUDSHELL_PASSWORD }}
|
||||
run: |
|
||||
RES_ID=$(python .quali/start_reservation.py --openwifi-version "${{ github.event.inputs.openwifi_revision }}" --openwifi-gw-version "${{ github.event.inputs.openwifi_gw_revision }}" --openwifi-sec-version "${{ github.event.inputs.openwifi_sec_revision }}" --openwifi-fms-version "${{ github.event.inputs.openwifi_fms_revision }}" --openwifi-ui-version "${{ github.event.inputs.openwifi_ui_revision }}" --ap-model "${{ github.event.inputs.ap_model }}")
|
||||
echo ::set-output name=res_id::"$RES_ID"
|
||||
|
||||
- name: set reservation identifier
|
||||
id: reservation
|
||||
run: echo ::set-output name=identifier::$(echo ${{ steps.start.outputs.res_id }} | cut -d "-" -f 1)
|
||||
|
||||
- name: install JRE
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y default-jre
|
||||
|
||||
- name: install aws CLI tool
|
||||
run: |
|
||||
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
|
||||
unzip awscliv2.zip
|
||||
sudo ./aws/install
|
||||
|
||||
- name: get EKS access credentials
|
||||
run: aws eks update-kubeconfig --name ${{ env.AWS_EKS_NAME }}
|
||||
|
||||
- name: install kubectl
|
||||
run: |
|
||||
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
|
||||
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
|
||||
|
||||
- name: install Allure CLI tool
|
||||
run: |
|
||||
wget https://repo.maven.apache.org/maven2/io/qameta/allure/allure-commandline/${{ env.ALLURE_CLI_VERSION }}/allure-commandline-${{ env.ALLURE_CLI_VERSION }}.tgz
|
||||
tar -xzf allure-commandline-${{ env.ALLURE_CLI_VERSION }}.tgz
|
||||
|
||||
- name: set job name
|
||||
id: job
|
||||
run: echo "::set-output name=name::manual-${{ github.run_id }}"
|
||||
|
||||
- name: prepare namespace
|
||||
id: namespace
|
||||
run: |
|
||||
NAMESPACE="testing-${{ github.run_id }}"
|
||||
kubectl create ns $NAMESPACE
|
||||
kubectl config set-context --current --namespace=$NAMESPACE
|
||||
echo "::set-output name=name::${NAMESPACE}"
|
||||
|
||||
- name: prepare configuration
|
||||
env:
|
||||
CLOUDSHELL_URL: quali-cloudshell.lab.wlan.tip.build
|
||||
CLOUDSHELL_USER: ${{ secrets.CLOUDSHELL_USER }}
|
||||
CLOUDSHELL_PASSWORD: ${{ secrets.CLOUDSHELL_PASSWORD }}
|
||||
run: |
|
||||
cat << EOF > configuration.py
|
||||
Customer = ""
|
||||
server = ""
|
||||
CONFIGURATION = {
|
||||
"basic": $(python .quali/get_configuration.py ${{ steps.start.outputs.res_id }})
|
||||
}
|
||||
|
||||
RADIUS_SERVER_DATA = {
|
||||
"ip": "10.10.1.221",
|
||||
"port": 1812,
|
||||
"secret": "testing123",
|
||||
"user": "user",
|
||||
"password": "password",
|
||||
"pk_password": "whatever"
|
||||
}
|
||||
|
||||
RADIUS_ACCOUNTING_DATA = {
|
||||
"ip": "10.10.1.221",
|
||||
"port": 1813,
|
||||
"secret": "testing123",
|
||||
"user": "user",
|
||||
"password": "password",
|
||||
"pk_password": "whatever"
|
||||
}
|
||||
|
||||
PASSPOINT_RADIUS_SERVER_DATA = {
|
||||
"ip": "52.234.179.191",
|
||||
"port": 11812,
|
||||
"secret": "yeababy20!",
|
||||
"user": "nolaradius",
|
||||
"password": "nolastart",
|
||||
"pk_password": "whatever"
|
||||
}
|
||||
|
||||
PASSPOINT_RADIUS_ACCOUNTING_SERVER_DATA = {
|
||||
"ip": "52.234.179.191",
|
||||
"port": 11813,
|
||||
"secret": "yeababy20!"
|
||||
}
|
||||
|
||||
PASSPOINT_PROVIDER_INFO = {
|
||||
"mcc": None,
|
||||
"mnc": None,
|
||||
"network": None,
|
||||
"nai_realms": {
|
||||
"domain": "oss.ameriband.com",
|
||||
"encoding": 0,
|
||||
"eap_map": {"EAP-TTLS with username/password": ["Credential Type:username/password",
|
||||
"Non-EAP Inner Authentication Type:MSCHAPV2"]}
|
||||
},
|
||||
"osu_nai_standalone": "anonymous@ameriband.com",
|
||||
"osu_nai_shared": "anonymous@ameriband.com",
|
||||
"roaming_oi": []
|
||||
}
|
||||
|
||||
PASSPOINT_OPERATOR_INFO = {
|
||||
"osen": "Disabled",
|
||||
"domain_name_list": ["telecominfraproject.atlassian.net"],
|
||||
"operator_names": [
|
||||
{"locale": "eng", "name": "Default friendly passpoint_operator name"},
|
||||
{"locale": "fra", "name": "Nom de l'opérateur convivial par défaut"}
|
||||
]
|
||||
}
|
||||
|
||||
PASSPOINT_VENUE_INFO = {
|
||||
"venue_type": {"group": "Business", "type": "Police Station"},
|
||||
"venue_names": [
|
||||
{"locale": "eng", "name": "Example passpoint_venue", "url": "http://www.example.com/info-eng"},
|
||||
{"locale": "fra", "name": "Exemple de lieu", "url": "http://www.example.com/info-fra"}
|
||||
]
|
||||
}
|
||||
|
||||
PASSPOINT_PROFILE_INFO = {
|
||||
"profile_download_url_ios": "https://onboard.almondlabs.net/ttls/AmeriBand-Profile.mobileconfig",
|
||||
"profile_download_url_android": "https://onboard.almondlabs.net/ttls/androidconfig.cfg",
|
||||
"profile_name_on_device": "AmeriBand",
|
||||
"radius_configuration": {
|
||||
"user_defined_nas_id": "FB001AP001",
|
||||
"operator_id": "AmeribandTIP",
|
||||
"radius_acounting_service_interval": 60
|
||||
},
|
||||
"interworking_hs2dot0": "Enabled",
|
||||
"hessid": None,
|
||||
"access_network": {
|
||||
"Access Network Type": "Free Public Network",
|
||||
"Authentication Type": "Acceptance of Terms & Conditions",
|
||||
"Emergency Services Reachable": "Enabled",
|
||||
"Unauthenticated Emergency Service": "Disabled",
|
||||
},
|
||||
"ip_connectivity": {
|
||||
"Internet Connectivity": "Enabled",
|
||||
"IP Address Type": "Public IPv4 Address Available",
|
||||
"Connection Capability": [{"status": "open", "protocol": "TCP", "port": 8888}],
|
||||
"ANQP Domain ID": 1234,
|
||||
"GAS Address 3 Behaviour": "P2P Spec Workaround From Request",
|
||||
"Disable DGAF": False
|
||||
}
|
||||
}
|
||||
|
||||
TEST_CASES = {
|
||||
"ap_upgrade": 2233,
|
||||
"5g_wpa2_bridge": 2236,
|
||||
"2g_wpa2_bridge": 2237,
|
||||
"5g_wpa_bridge": 2419,
|
||||
"2g_wpa_bridge": 2420,
|
||||
"2g_wpa_nat": 4323,
|
||||
"5g_wpa_nat": 4324,
|
||||
"2g_wpa2_nat": 4325,
|
||||
"5g_wpa2_nat": 4326,
|
||||
"2g_wpa2_eap_ttls_bridge": 5214,
|
||||
"5g_wpa2_eap_ttls_bridge": 5215,
|
||||
"2g_wpa2_eap_ttls_nat": 5216,
|
||||
"5g_wpa2_eap_ttls_nat": 5217,
|
||||
"cloud_connection": 5222,
|
||||
"cloud_fw": 5247,
|
||||
"5g_wpa2_vlan": 5248,
|
||||
"5g_wpa_vlan": 5249,
|
||||
"5g_wpa2_eap_ttls_vlan": 5250,
|
||||
"2g_wpa2_vlan": 5251,
|
||||
"2g_wpa_vlan": 5252,
|
||||
"2g_wpa2_eap_ttls_vlan": 5253,
|
||||
"cloud_ver": 5540,
|
||||
"bridge_vifc": 5541,
|
||||
"nat_vifc": 5542,
|
||||
"vlan_vifc": 5543,
|
||||
"bridge_vifs": 5544,
|
||||
"nat_vifs": 5545,
|
||||
"vlan_vifs": 5546,
|
||||
"upgrade_api": 5547,
|
||||
"create_fw": 5548,
|
||||
"ap_profile_bridge": 5641,
|
||||
"ap_profile_nat": 5642,
|
||||
"ap_profile_vlan": 5643,
|
||||
"ssid_2g_wpa2_eap_bridge": 5644,
|
||||
"ssid_2g_wpa2_bridge": 5645,
|
||||
"ssid_2g_wpa_bridge": 5646,
|
||||
"ssid_5g_wpa2_eap_bridge": 5647,
|
||||
"ssid_5g_wpa2_bridge": 5648,
|
||||
"ssid_5g_wpa_bridge": 5649,
|
||||
"ssid_2g_wpa2_eap_nat": 5650,
|
||||
"ssid_2g_wpa2_nat": 5651,
|
||||
"ssid_2g_wpa_nat": 5652,
|
||||
"ssid_5g_wpa2_eap_nat": 5653,
|
||||
"ssid_5g_wpa2_nat": 5654,
|
||||
"ssid_5g_wpa_nat": 5655,
|
||||
"ssid_2g_wpa2_eap_vlan": 5656,
|
||||
"ssid_2g_wpa2_vlan": 5657,
|
||||
"ssid_2g_wpa_vlan": 5658,
|
||||
"ssid_5g_wpa2_eap_vlan": 5659,
|
||||
"ssid_5g_wpa2_vlan": 5660,
|
||||
"ssid_5g_wpa_vlan": 5661,
|
||||
"radius_profile": 5808,
|
||||
"bridge_ssid_update": 8742,
|
||||
"nat_ssid_update": 8743,
|
||||
"vlan_ssid_update": 8744,
|
||||
"2g_wpa3_bridge": 9740,
|
||||
"5g_wpa3_bridge": 9741,
|
||||
"ssid_2g_wpa3_bridge": 9742,
|
||||
"ssid_5g_wpa3_bridge": 9743,
|
||||
"ssid_2g_wpa3_nat": 9744,
|
||||
"ssid_5g_wpa3_nat": 9745,
|
||||
"ssid_2g_wpa3_vlan": 9746,
|
||||
"ssid_5g_wpa3_vlan": 9747,
|
||||
"2g_wpa3_nat": 9748,
|
||||
"5g_wpa3_nat": 9749,
|
||||
"2g_wpa3_vlan": 9750,
|
||||
"5g_wpa3_vlan": 9751,
|
||||
"ssid_2g_wpa3_eap_bridge": 9752,
|
||||
"ssid_5g_wpa3_eap_bridge": 9753,
|
||||
"2g_wpa3_eap_ttls_bridge": 9754,
|
||||
"5g_wpa3_eap_ttls_bridge": 9755,
|
||||
"ssid_2g_wpa3_eap_nat": 9756,
|
||||
"ssid_5g_wpa3_eap_nat": 9757,
|
||||
"ssid_2g_wpa3_eap_vlan": 9758,
|
||||
"ssid_5g_wpa3_eap_vlan": 9759,
|
||||
"2g_wpa3_eap_ttls_nat": 9760,
|
||||
"5g_wpa3_eap_ttls_nat": 9761,
|
||||
"2g_wpa3_eap_ttls_vlan": 9762,
|
||||
"5g_wpa3_eap_ttls_vlan": 9763,
|
||||
"ssid_2g_wpa3_mixed_bridge": 9764,
|
||||
"ssid_5g_wpa3_mixed_bridge": 9765,
|
||||
"2g_wpa3_mixed_eap_ttls_wpa3_bridge": 9766,
|
||||
"2g_wpa3_mixed_wpa3_bridge": 9767,
|
||||
"5g_wpa3_mixed_eap_ttls_wpa3_bridge": 9768,
|
||||
"5g_wpa3_mixed_wpa3_bridge": 9769,
|
||||
"ssid_2g_wpa3_mixed_nat": 9770,
|
||||
"ssid_5g_wpa3_mixed_nat": 9771,
|
||||
"ssid_2g_wpa3_mixed_vlan": 9772,
|
||||
"ssid_5g_wpa3_mixed_vlan": 9773,
|
||||
# "2g_wpa3_mixed_wpa2_nat": 9774,
|
||||
"2g_wpa3_mixed_wpa3_nat": 9775,
|
||||
# "5g_wpa3_mixed_wpa2_nat": 9776,
|
||||
"5g_wpa3_mixed_wpa3_nat": 9777,
|
||||
# "2g_wpa3_mixed_wpa2_vlan": 9778,
|
||||
"2g_wpa3_mixed_wpa3_vlan": 9779,
|
||||
# "5g_wpa3_mixed_wpa2_vlan": 9780,
|
||||
"5g_wpa3_mixed_wpa3_vlan": 9781,
|
||||
"ssid_2g_wpa3_enterprise_mixed_bridge": 9782,
|
||||
"ssid_5g_wpa3_enterprise_mixed_bridge": 9783,
|
||||
"2g_wpa2_mixed_eap_wpa2_bridge": 9784,
|
||||
"2g_wpa3_mixed_eap_wpa3_bridge": 9785,
|
||||
"5g_wpa3_mixed_eap_wpa2_bridge": 9786,
|
||||
"5g_wpa3_mixed_eap_wpa3_bridge": 9787,
|
||||
"ssid_2g_wpa3_enterprise_mixed_nat": 9788,
|
||||
"ssid_5g_wpa3_enterprise_mixed_nat": 9789,
|
||||
"2g_wpa3_mixed_eap_wpa2_nat": 9790,
|
||||
"2g_wpa3_mixed_eap_ttls_wpa3_nat": 9791,
|
||||
"5g_wpa3_mixed_eap_wpa2_nat": 9792,
|
||||
"5g_wpa3_mixed_eap_ttls_wpa3_nat": 9793,
|
||||
"ssid_2g_wpa3_enterprise_mixed_vlan": 9794,
|
||||
"ssid_5g_wpa3_enterprise_mixed_vlan": 9795,
|
||||
"2g_wpa3_mixed_eap_wpa2_vlan": 9796,
|
||||
"2g_wpa3_mixed_eap_ttls_wpa3_vlan": 9797,
|
||||
"5g_wpa3_mixed_eap_wpa2_vlan": 9798,
|
||||
"5g_wpa3_mixed_eap_ttls_wpa3_vlan": 9799,
|
||||
"ssid_2g_open_bridge": 9805,
|
||||
"ssid_5g_open_bridge": 9806,
|
||||
"ssid_2g_open_nat": 9807,
|
||||
"ssid_5g_open_nat": 9808,
|
||||
"ssid_2g_open_vlan": 9809,
|
||||
"ssid_5g_open_vlan": 9810,
|
||||
"ssid_2g_wpa2_mixed_bridge": 9811,
|
||||
"ssid_5g_wpa2_mixed_bridge": 9812,
|
||||
"ssid_2g_wpa2_mixed_nat": 9813,
|
||||
"ssid_5g_wpa2_mixed_nat": 9814,
|
||||
"ssid_2g_wpa2_mixed_vlan": 9815,
|
||||
"ssid_5g_wpa2_mixed_vlan": 9817,
|
||||
"ssid_2g_wpa_wpa2_enterprise_mixed_bridge": 9818,
|
||||
"ssid_5g_wpa_wpa2_enterprise_mixed_bridge": 9819,
|
||||
"ssid_2g_wpa_wpa2_enterprise_mixed_nat": 9820,
|
||||
"ssid_5g_wpa_wpa2_enterprise_mixed_nat": 9821,
|
||||
"ssid_2g_wpa_wpa2_enterprise_mixed_vlan": 9822,
|
||||
"ssid_5g_wpa_wpa2_enterprise_mixed_vlan": 9823,
|
||||
"ssid_2g_wpa_eap_bridge": 9824,
|
||||
"ssid_5g_wpa_eap_bridge": 9825,
|
||||
# "ssid_2g_wpa2_eap_bridge": 9824,
|
||||
# "ssid_5g_wpa2_eap_bridge": 9825,
|
||||
"ssid_2g_wpa_eap_nat": 9826,
|
||||
"ssid_5g_wpa_eap_nat": 9827,
|
||||
"ssid_2g_wpa_eap_vlan": 9828,
|
||||
"ssid_5g_wpa_eap_vlan": 9829,
|
||||
# "ap_update_bridge": 9856,
|
||||
# "ap_update_nat": 9857,
|
||||
# "ap_update_vlan": 9858,
|
||||
# "bridge_vifc_update": 9859,
|
||||
# "nat_vifc_update": 9860,
|
||||
# "vlan_vifc_update": 9861,
|
||||
# "bridge_vifs_update": 9862,
|
||||
# "nat_vifs_update": 9863,
|
||||
# "vlan_vifs_update": 9864,
|
||||
"2g_wpa_eap_ttls_bridge": 9867,
|
||||
"5g_wpa_eap_ttls_bridge": 9768,
|
||||
"2g_wpa_eap_ttls_nat": 9869,
|
||||
"5g_wpa_eap_ttls_nat": 9770,
|
||||
"2g_wpa_eap_ttls_vlan": 9871,
|
||||
"5g_wpa_eap_ttls_vlan": 9872,
|
||||
# "2g_wpa2_mixed_eap_wpa_bridge": 9873,
|
||||
"2g_wpa2_mixed_eap_ttls_wpa2_bridge": 9874,
|
||||
# "5g_wpa2_mixed_eap_wpa_bridge": 9875,
|
||||
"5g_wpa2_mixed_eap_ttls_wpa2_bridge": 9876,
|
||||
# "2g_wpa2_mixed_eap_wpa_nat": 9877,
|
||||
"2g_wpa2_mixed_eap_ttls_wpa2_nat": 9878,
|
||||
# "5g_wpa2_mixed_eap_wpa_nat": 9879,
|
||||
"5g_wpa2_mixed_eap_ttls_wpa2_nat": 9880,
|
||||
# "2g_wpa2_mixed_eap_wpa_vlan": 9881,
|
||||
"2g_wpa2_mixed_eap_ttls_wpa2_vlan": 9882,
|
||||
# "5g_wpa2_mixed_eap_wpa_vlan": 9883,
|
||||
"5g_wpa2_mixed_eap_ttls_wpa2_vlan": 9884,
|
||||
# "2g_wpa2_mixed_wpa_bridge": 9885,
|
||||
"2g_wpa2_mixed_wpa2_bridge": 9886,
|
||||
# "5g_wpa2_mixed_wpa_bridge": 9887,
|
||||
"5g_wpa2_mixed_wpa2_bridge": 9888,
|
||||
# "2g_wpa2_mixed_wpa_nat": 9889,
|
||||
"2g_wpa2_mixed_wpa2_nat": 9890,
|
||||
# "5g_wpa2_mixed_wpa_nat": 9891,
|
||||
"5g_wpa2_mixed_wpa2_nat": 9892,
|
||||
# "2g_wpa2_mixed_wpa_vlan": 9893,
|
||||
"2g_wpa2_mixed_wpa2_vlan": 9894,
|
||||
# "5g_wpa2_mixed_wpa_vlan": 9895,
|
||||
"5g_wpa2_mixed_wpa2_vlan": 9896,
|
||||
"2g_open_bridge": 2234,
|
||||
"5g_open_bridge": 2235,
|
||||
"2g_open_nat": 4321,
|
||||
"5g_open_nat": 4322,
|
||||
"2g_open_vlan": 9897,
|
||||
"5g_open_vlan": 9898
|
||||
}
|
||||
EOF
|
||||
|
||||
kubectl create secret generic configuration --from-file=configuration=./configuration.py
|
||||
|
||||
- name: run tests
|
||||
run: |
|
||||
cat <<EOF | kubectl apply -f -
|
||||
apiVersion: batch/v1
|
||||
kind: Job
|
||||
metadata:
|
||||
name: "${{ steps.job.outputs.name }}"
|
||||
spec:
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
cluster-autoscaler.kubernetes.io/safe-to-evict: "false"
|
||||
spec:
|
||||
containers:
|
||||
- name: tests
|
||||
image: ${{ env.DOCKER_SERVER }}/cloud-sdk-nightly:${{ github.run_id }}
|
||||
resources:
|
||||
requests:
|
||||
memory: "512Mi"
|
||||
cpu: "250m"
|
||||
limits:
|
||||
memory: "512Mi"
|
||||
cpu: "250m"
|
||||
command:
|
||||
- /bin/bash
|
||||
- -x
|
||||
- -c
|
||||
- |
|
||||
HOSTS="sec-${{ steps.reservation.outputs.identifier }}.cicd.lab.wlan.tip.build gw-${{ steps.reservation.outputs.identifier }}.cicd.lab.wlan.tip.build fms-${{ steps.reservation.outputs.identifier }}.cicd.lab.wlan.tip.build"
|
||||
for HOST in \$HOSTS; do
|
||||
HOST_ENTRY=""
|
||||
until [[ ! -z "\$HOST_ENTRY" ]]; do sleep 1; HOST_ENTRY=\$(getent hosts \$HOST); done;
|
||||
echo "\$HOST_ENTRY" >> /etc/hosts
|
||||
echo "DNS record for \$HOST resolved successfully!"
|
||||
done
|
||||
|
||||
cd tests
|
||||
pytest -m "${{ github.event.inputs.marker_expression }}" -s -vvv --testbed="basic" -o firmware="${{ github.event.inputs.firmware }}" --alluredir=/tmp/allure-results
|
||||
ret=\$?
|
||||
# sleep some time to be able to download the Allure results
|
||||
sleep 60
|
||||
exit \$ret
|
||||
volumeMounts:
|
||||
- name: configuration
|
||||
mountPath: "/wlan-testing/tests/configuration.py"
|
||||
subPath: configuration
|
||||
readOnly: true
|
||||
nodeSelector:
|
||||
env: tests
|
||||
tolerations:
|
||||
- key: "tests"
|
||||
operator: "Exists"
|
||||
effect: "NoSchedule"
|
||||
imagePullSecrets:
|
||||
- name: tip-docker-registry-key
|
||||
restartPolicy: Never
|
||||
volumes:
|
||||
- name: configuration
|
||||
secret:
|
||||
secretName: configuration
|
||||
backoffLimit: 0
|
||||
EOF
|
||||
# wait for pod to spawn
|
||||
sleep 1
|
||||
podname=$(kubectl get pods --no-headers -o custom-columns=":metadata.name" -l job-name="${{ steps.job.outputs.name }}" | sed "s/pod\///")
|
||||
kubectl wait "pod/$podname" --for condition=ready --timeout=600s
|
||||
kubectl logs -f $podname &
|
||||
until [ -s test_everything.xml ]
|
||||
do
|
||||
sleep 10
|
||||
kubectl cp $podname:/wlan-testing/tests/test_everything.xml test_everything.xml >/dev/null 2>&1
|
||||
done
|
||||
echo "tests completed"
|
||||
echo "downloading allure results..."
|
||||
kubectl cp $podname:/tmp/allure-results allure-results >/dev/null 2>&1
|
||||
echo "waiting for pod to exit"
|
||||
kubectl logs -f $podname >/dev/null 2>&1
|
||||
exit $(kubectl get pod $podname --output="jsonpath={.status.containerStatuses[].state.terminated.exitCode}")
|
||||
|
||||
- name: upload Allure results as artifact
|
||||
if: always()
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: allure-results
|
||||
path: allure-results
|
||||
|
||||
- name: generate Allure report
|
||||
run: allure-${{ env.ALLURE_CLI_VERSION }}/bin/allure generate allure-results
|
||||
|
||||
- name: upload Allure report as artifact
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: allure-report
|
||||
path: allure-report
|
||||
|
||||
- name: cleanup
|
||||
if: always()
|
||||
run: |
|
||||
kubectl delete ns "${{ steps.namespace.outputs.name }}" --wait=true
|
||||
|
||||
- name: stop reservation
|
||||
if: always()
|
||||
run: python .quali/stop_reservation.py ${{ steps.start.outputs.res_id }}
|
||||
env:
|
||||
CLOUDSHELL_URL: quali-cloudshell.lab.wlan.tip.build
|
||||
CLOUDSHELL_USER: ${{ secrets.CLOUDSHELL_USER }}
|
||||
CLOUDSHELL_PASSWORD: ${{ secrets.CLOUDSHELL_PASSWORD }}
|
||||
|
||||
cleanup:
|
||||
needs: [ test ]
|
||||
runs-on: ubuntu-latest
|
||||
if: always()
|
||||
steps:
|
||||
- name: cleanup Docker image
|
||||
run: curl -u${{ env.DOCKER_USER_NAME }}:${{ env.DOCKER_USER_PASSWORD }} -X DELETE "https://tip.jfrog.io/artifactory/tip-wlan-cloud-docker-repo/cloud-sdk-nightly/${{ github.run_id }}"
|
||||
16
.github/workflows/quali.yml
vendored
16
.github/workflows/quali.yml
vendored
@@ -552,6 +552,22 @@ jobs:
|
||||
kubectl logs -f $podname >/dev/null 2>&1
|
||||
exit $(kubectl get pod $podname --output="jsonpath={.status.containerStatuses[].state.terminated.exitCode}")
|
||||
|
||||
- name: show gw logs
|
||||
if: failure()
|
||||
run: kubectl -n openwifi-${{ steps.reservation.outputs.identifier }} logs deployment/owgw
|
||||
|
||||
- name: show fms logs
|
||||
if: failure()
|
||||
run: kubectl -n openwifi-${{ steps.reservation.outputs.identifier }} logs deployment/owfms
|
||||
|
||||
- name: show prov logs
|
||||
if: failure()
|
||||
run: kubectl -n openwifi-${{ steps.reservation.outputs.identifier }} logs deployment/owprov
|
||||
|
||||
- name: show sec logs
|
||||
if: failure()
|
||||
run: kubectl -n openwifi-${{ steps.reservation.outputs.identifier }} logs deployment/owsec
|
||||
|
||||
- name: upload Allure results as artifact
|
||||
if: always()
|
||||
uses: actions/upload-artifact@v2
|
||||
|
||||
@@ -22,12 +22,13 @@ for folder in 'py-json', 'py-scripts':
|
||||
sys.path.append(f"../lanforge/lanforge-scripts/py-scripts/tip-cicd-sanity")
|
||||
|
||||
sys.path.append(f'../libs')
|
||||
sys.path.append(f'../tools')
|
||||
sys.path.append(f'../libs/lanforge/')
|
||||
from sta_connect2 import StaConnect2
|
||||
import time
|
||||
import string
|
||||
import random
|
||||
|
||||
from scp_util import SCP_File
|
||||
S = 12
|
||||
# from eap_connect import EAPConnect
|
||||
from test_ipv4_ttls import TTLSTest
|
||||
@@ -50,6 +51,7 @@ class RunTest:
|
||||
def __init__(self, lanforge_data=None, local_report_path="../reports/", influx_params=None, debug=False):
|
||||
self.lanforge_ip = lanforge_data["ip"]
|
||||
self.lanforge_port = lanforge_data["port"]
|
||||
self.lanforge_ssh_port = lanforge_data["ssh_port"]
|
||||
self.twog_radios = lanforge_data["2.4G-Radio"]
|
||||
self.fiveg_radios = lanforge_data["5G-Radio"]
|
||||
self.ax_radios = lanforge_data["AX-Radio"]
|
||||
@@ -129,6 +131,13 @@ class RunTest:
|
||||
print("test result: " + result)
|
||||
pytest.exit("Test Failed: Debug True")
|
||||
self.staConnect.cleanup()
|
||||
supplicqant = "/home/lanforge/wifi/wpa_supplicant_log_" + self.staConnect.radio.split(".")[2] + ".txt"
|
||||
obj = SCP_File(ip=self.lanforge_ip, port=self.lanforge_ssh_port, username="root", password="lanforge",
|
||||
remote_path=supplicqant,
|
||||
local_path=".")
|
||||
obj.pull_file()
|
||||
allure.attach.file(source="wpa_supplicant_log_" + self.staConnect.radio.split(".")[2] + ".txt",
|
||||
name="supplicant_log")
|
||||
for result in run_results:
|
||||
print("test result: " + result)
|
||||
result = True
|
||||
@@ -215,6 +224,13 @@ class RunTest:
|
||||
# print(e)
|
||||
|
||||
self.eap_connect.stop()
|
||||
supplicqant = "/home/lanforge/wifi/wpa_supplicant_log_" + self.eap_connect.radio.split(".")[2] + ".txt"
|
||||
obj = SCP_File(ip=self.lanforge_ip, port=self.lanforge_ssh_port, username="root", password="lanforge",
|
||||
remote_path=supplicqant,
|
||||
local_path=".")
|
||||
obj.pull_file()
|
||||
allure.attach.file(source="wpa_supplicant_log_" + self.eap_connect.radio.split(".")[2] + ".txt",
|
||||
name="supplicant_log")
|
||||
if not self.eap_connect.passes():
|
||||
if self.debug:
|
||||
print("test result: " + self.eap_connect.passes())
|
||||
|
||||
55
libs/lanforge/scp_util.py
Executable file
55
libs/lanforge/scp_util.py
Executable file
@@ -0,0 +1,55 @@
|
||||
#!/usr/bin/env python3
|
||||
import argparse
|
||||
|
||||
import paramiko
|
||||
from scp import SCPClient
|
||||
|
||||
|
||||
class SCP_File:
|
||||
def __init__(self, ip="localhost", port=22, username="lanforge", password="lanforge", remote_path="/home/lanforge/",
|
||||
local_path="."):
|
||||
self.ip = ip
|
||||
self.port = port
|
||||
self.remote_path = remote_path
|
||||
self.local_path = local_path
|
||||
self.username = username
|
||||
self.password = password
|
||||
|
||||
def pull_file(self):
|
||||
ssh = paramiko.SSHClient()
|
||||
ssh.load_system_host_keys()
|
||||
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
|
||||
ssh.connect(hostname=self.ip, username=self.username, password=self.password, port=self.port, allow_agent=False,
|
||||
look_for_keys=False)
|
||||
# ssh.close()
|
||||
|
||||
with SCPClient(ssh.get_transport()) as scp:
|
||||
scp.get(remote_path=self.remote_path, local_path=self.local_path, recursive=True)
|
||||
scp.close()
|
||||
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser(prog="lf_utils",
|
||||
formatter_class=argparse.RawTextHelpFormatter,
|
||||
allow_abbrev=True,
|
||||
epilog="About lf_tools.py",
|
||||
description="Tools for LANforge System")
|
||||
parser.add_argument('--host', type=str, help=' --host : IP Address f LANforge System', default="localhost")
|
||||
parser.add_argument('--port', type=int, help='--passwd of dut', default=22)
|
||||
parser.add_argument('--username', type=str, help='--username to use on LANforge', default="lanforge")
|
||||
parser.add_argument('--password', type=str, help='--password to use on LANforge', default="lanforge")
|
||||
parser.add_argument('--remote_path', type=str, help='--password to the given username',
|
||||
default="/home/lanforge/lf_kinstall.pl")
|
||||
parser.add_argument('--local_path', type=str, help='--action to perform'
|
||||
'reboot | run_cmd', default=".")
|
||||
args = parser.parse_args()
|
||||
lf_tools = SCP_File(ip=args.host, port=args.port,
|
||||
username=args.username, password=args.password,
|
||||
remote_path=args.remote_path, local_path=args.local_path)
|
||||
lf_tools.pull_file()
|
||||
|
||||
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
@@ -42,7 +42,6 @@ from LANforge.LFUtils import *
|
||||
if 'py-json' not in sys.path:
|
||||
sys.path.append('../py-scripts')
|
||||
from apnos.apnos import APNOS
|
||||
from controller.controller_1x.controller import Controller
|
||||
from controller.controller_1x.controller import FirmwareUtility
|
||||
import pytest
|
||||
from lanforge.lf_tests import RunTest
|
||||
@@ -50,11 +49,10 @@ from cv_test_manager import cv_test
|
||||
from configuration import CONFIGURATION
|
||||
from configuration import RADIUS_SERVER_DATA
|
||||
from configuration import RADIUS_ACCOUNTING_DATA
|
||||
|
||||
from lanforge.scp_util import SCP_File
|
||||
from testrails.testrail_api import APIClient
|
||||
from testrails.reporting import Reporting
|
||||
from lf_tools import ChamberView
|
||||
from sta_connect2 import StaConnect2
|
||||
from os import path
|
||||
from typing import Any, Callable, Optional
|
||||
|
||||
@@ -679,3 +677,25 @@ def get_ap_logs(request, get_apnos, get_configuration):
|
||||
pass
|
||||
|
||||
request.addfinalizer(collect_logs)
|
||||
|
||||
|
||||
@pytest.fixture(scope="function")
|
||||
def get_lf_logs(request, get_apnos, get_configuration):
|
||||
ip = get_configuration["traffic_generator"]["details"]["ip"]
|
||||
port = get_configuration["traffic_generator"]["details"]["ssh_port"]
|
||||
|
||||
def collect_logs_lf():
|
||||
log_0 = "/home/lanforge/lanforge_log_0.txt"
|
||||
log_1 = "/home/lanforge/lanforge_log_1.txt"
|
||||
obj = SCP_File(ip=ip, port=port, username="root", password="lanforge", remote_path=log_0,
|
||||
local_path=".")
|
||||
obj.pull_file()
|
||||
allure.attach.file(source="lanforge_log_0.txt",
|
||||
name="lanforge_log_0")
|
||||
obj = SCP_File(ip=ip, port=port, username="root", password="lanforge", remote_path=log_1,
|
||||
local_path=".")
|
||||
obj.pull_file()
|
||||
allure.attach.file(source="lanforge_log_1.txt",
|
||||
name="lanforge_log_1")
|
||||
|
||||
request.addfinalizer(collect_logs_lf)
|
||||
|
||||
@@ -46,7 +46,7 @@ class TestBridgeModeEnterpriseTTLSSuiteA(object):
|
||||
|
||||
@pytest.mark.wpa_enterprise
|
||||
@pytest.mark.twog
|
||||
def test_wpa_enterprise_2g(self, get_vif_state, get_ap_logs,
|
||||
def test_wpa_enterprise_2g(self, get_vif_state, get_ap_logs, get_lf_logs,
|
||||
station_names_twog, setup_profiles, lf_test, update_report,
|
||||
test_cases, radius_info, exit_on_fail):
|
||||
""" wpa enterprise 2g
|
||||
@@ -73,7 +73,7 @@ class TestBridgeModeEnterpriseTTLSSuiteA(object):
|
||||
|
||||
@pytest.mark.wpa_enterprise
|
||||
@pytest.mark.fiveg
|
||||
def test_wpa_enterprise_5g(self, station_names_fiveg, get_ap_logs,
|
||||
def test_wpa_enterprise_5g(self, station_names_fiveg, get_ap_logs, get_lf_logs,
|
||||
setup_profiles, lf_test, update_report,
|
||||
test_cases, radius_info, exit_on_fail):
|
||||
""" wpa enterprise 5g
|
||||
@@ -98,7 +98,7 @@ class TestBridgeModeEnterpriseTTLSSuiteA(object):
|
||||
@pytest.mark.sanity_light
|
||||
@pytest.mark.wpa2_enterprise
|
||||
@pytest.mark.twog
|
||||
def test_wpa2_enterprise_2g(self, get_vif_state, get_ap_logs,
|
||||
def test_wpa2_enterprise_2g(self, get_vif_state, get_ap_logs, get_lf_logs,
|
||||
station_names_twog, setup_profiles, lf_test, update_report,
|
||||
test_cases, radius_info, exit_on_fail):
|
||||
""" wpa enterprise 2g
|
||||
@@ -126,7 +126,7 @@ class TestBridgeModeEnterpriseTTLSSuiteA(object):
|
||||
@pytest.mark.sanity_light
|
||||
@pytest.mark.wpa2_enterprise
|
||||
@pytest.mark.fiveg
|
||||
def test_wpa2_enterprise_5g(self, get_vif_state, get_ap_logs,
|
||||
def test_wpa2_enterprise_5g(self, get_vif_state, get_ap_logs, get_lf_logs,
|
||||
station_names_fiveg, setup_profiles, lf_test, update_report,
|
||||
test_cases, radius_info, exit_on_fail):
|
||||
""" wpa enterprise 2g
|
||||
@@ -154,7 +154,7 @@ class TestBridgeModeEnterpriseTTLSSuiteA(object):
|
||||
|
||||
@pytest.mark.wpa3_enterprise
|
||||
@pytest.mark.twog
|
||||
def test_wpa3_enterprise_2g(self, get_vif_state, get_ap_logs,
|
||||
def test_wpa3_enterprise_2g(self, get_vif_state, get_ap_logs, get_lf_logs,
|
||||
station_names_twog, setup_profiles, lf_test, update_report,
|
||||
test_cases, radius_info, exit_on_fail):
|
||||
""" wpa enterprise 2g
|
||||
@@ -181,7 +181,7 @@ class TestBridgeModeEnterpriseTTLSSuiteA(object):
|
||||
|
||||
@pytest.mark.wpa3_enterprise
|
||||
@pytest.mark.fiveg
|
||||
def test_wpa3_enterprise_5g(self, get_vif_state, get_ap_logs,
|
||||
def test_wpa3_enterprise_5g(self, get_vif_state, get_ap_logs, get_lf_logs,
|
||||
station_names_fiveg, setup_profiles, lf_test, update_report,
|
||||
test_cases, radius_info, exit_on_fail):
|
||||
""" wpa enterprise 2g
|
||||
@@ -239,7 +239,7 @@ class TestBridgeModeEnterpriseTTLSSuiteTwo(object):
|
||||
|
||||
@pytest.mark.wpa_wpa2_enterprise_mixed
|
||||
@pytest.mark.twog
|
||||
def test_wpa_wpa2_enterprise_2g(self, get_vif_state, get_ap_logs,
|
||||
def test_wpa_wpa2_enterprise_2g(self, get_vif_state, get_ap_logs, get_lf_logs,
|
||||
station_names_twog, setup_profiles, lf_test, update_report,
|
||||
test_cases, radius_info, exit_on_fail):
|
||||
""" wpa enterprise 2g
|
||||
@@ -267,7 +267,7 @@ class TestBridgeModeEnterpriseTTLSSuiteTwo(object):
|
||||
|
||||
@pytest.mark.wpa_wpa2_enterprise_mixed
|
||||
@pytest.mark.fiveg
|
||||
def test_wpa_wpa2_enterprise_5g(self, get_vif_state, get_ap_logs,
|
||||
def test_wpa_wpa2_enterprise_5g(self, get_vif_state, get_ap_logs, get_lf_logs,
|
||||
station_names_fiveg, setup_profiles, lf_test,
|
||||
update_report, test_cases, radius_info, exit_on_fail):
|
||||
""" wpa enterprise 2g
|
||||
@@ -295,7 +295,7 @@ class TestBridgeModeEnterpriseTTLSSuiteTwo(object):
|
||||
|
||||
@pytest.mark.wpa3_enterprise_mixed
|
||||
@pytest.mark.twog
|
||||
def test_wpa3_enterprise_mixed_2g(self, get_vif_state, get_ap_logs,
|
||||
def test_wpa3_enterprise_mixed_2g(self, get_vif_state, get_ap_logs, get_lf_logs,
|
||||
station_names_twog, setup_profiles, lf_test,
|
||||
update_report, test_cases, radius_info, exit_on_fail):
|
||||
""" wpa enterprise 2g
|
||||
@@ -322,7 +322,7 @@ class TestBridgeModeEnterpriseTTLSSuiteTwo(object):
|
||||
|
||||
@pytest.mark.wpa3_enterprise_mixed
|
||||
@pytest.mark.fiveg
|
||||
def test_wpa3_enterprise_mixed_5g(self, get_vif_state, get_ap_logs,
|
||||
def test_wpa3_enterprise_mixed_5g(self, get_vif_state, get_ap_logs, get_lf_logs,
|
||||
station_names_fiveg, setup_profiles, lf_test,
|
||||
update_report, exit_on_fail,
|
||||
test_cases, radius_info):
|
||||
|
||||
@@ -50,7 +50,8 @@ class TestBridgeModeConnectivitySuiteA(object):
|
||||
@pytest.mark.open
|
||||
@pytest.mark.twog
|
||||
@allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-2809", name="JIRA LINK")
|
||||
def test_open_ssid_2g(self, get_vif_state, get_ap_logs, setup_profiles, lf_test, update_report,
|
||||
def test_open_ssid_2g(self, get_vif_state, get_ap_logs, get_lf_logs, setup_profiles, lf_test,
|
||||
update_report,
|
||||
station_names_twog,
|
||||
test_cases):
|
||||
"""Client Connectivity open ssid 2.4G
|
||||
@@ -76,7 +77,7 @@ class TestBridgeModeConnectivitySuiteA(object):
|
||||
@pytest.mark.open
|
||||
@pytest.mark.fiveg
|
||||
@allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-2801", name="JIRA LINK")
|
||||
def test_open_ssid_5g(self, get_vif_state, get_ap_logs, lf_test, test_cases, station_names_fiveg,
|
||||
def test_open_ssid_5g(self, get_vif_state, get_ap_logs, lf_test, test_cases, station_names_fiveg, get_lf_logs,
|
||||
update_report):
|
||||
"""Client Connectivity open ssid 5G
|
||||
pytest -m "client_connectivity and bridge and general and open and fiveg"
|
||||
@@ -103,7 +104,7 @@ class TestBridgeModeConnectivitySuiteA(object):
|
||||
@pytest.mark.twog
|
||||
@allure.story('wpa 2.4 GHZ Band')
|
||||
@allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-2801", name="JIRA LINK")
|
||||
def test_wpa_ssid_2g(self, get_vif_state, get_ap_logs, update_report,
|
||||
def test_wpa_ssid_2g(self, get_vif_state, get_ap_logs, update_report, get_lf_logs,
|
||||
lf_test, test_cases, station_names_twog):
|
||||
"""Client Connectivity wpa ssid 2.4G
|
||||
pytest -m "client_connectivity and bridge and general and wpa and twog"
|
||||
@@ -129,7 +130,8 @@ class TestBridgeModeConnectivitySuiteA(object):
|
||||
@pytest.mark.wpa
|
||||
@pytest.mark.fiveg
|
||||
@allure.story('wpa 5 GHZ Band')
|
||||
def test_wpa_ssid_5g(self, get_vif_state, get_ap_logs, lf_test, update_report, test_cases, station_names_fiveg):
|
||||
def test_wpa_ssid_5g(self, get_vif_state, get_ap_logs, lf_test, update_report, get_lf_logs,
|
||||
test_cases, station_names_fiveg):
|
||||
"""Client Connectivity wpa ssid 5G
|
||||
pytest -m "client_connectivity and bridge and general and wpa and fiveg"
|
||||
"""
|
||||
@@ -154,7 +156,8 @@ class TestBridgeModeConnectivitySuiteA(object):
|
||||
@pytest.mark.wpa2_personal
|
||||
@pytest.mark.twog
|
||||
@allure.story('wpa2_personal 2.4 GHZ Band')
|
||||
def test_wpa2_personal_ssid_2g(self, get_vif_state, get_ap_logs, lf_test, update_report, test_cases,
|
||||
def test_wpa2_personal_ssid_2g(self, get_vif_state, get_ap_logs, get_lf_logs,
|
||||
lf_test, update_report, test_cases,
|
||||
station_names_twog):
|
||||
"""Client Connectivity wpa2_personal ssid 2.4G
|
||||
pytest -m "client_connectivity and bridge and general and wpa2_personal and twog"
|
||||
@@ -181,7 +184,7 @@ class TestBridgeModeConnectivitySuiteA(object):
|
||||
@pytest.mark.fiveg
|
||||
@allure.story('wpa2_personal 5 GHZ Band')
|
||||
def test_wpa2_personal_ssid_5g(self, get_vif_state, get_ap_logs, update_report, test_cases,
|
||||
station_names_fiveg,
|
||||
station_names_fiveg, get_lf_logs,
|
||||
lf_test):
|
||||
"""Client Connectivity wpa2_personal ssid 5G
|
||||
pytest -m "client_connectivity and bridge and general and wpa2_personal and fiveg"
|
||||
@@ -270,7 +273,8 @@ class TestBridgeModeConnectivitySuiteTwo(object):
|
||||
@pytest.mark.wpa3_personal
|
||||
@pytest.mark.fiveg
|
||||
@allure.story('open 5 GHZ Band')
|
||||
def test_wpa3_personal_ssid_5g(self, get_vif_state, get_ap_logs, station_names_fiveg, lf_test, test_cases,
|
||||
def test_wpa3_personal_ssid_5g(self, get_vif_state, get_ap_logs, station_names_fiveg,
|
||||
lf_test, test_cases, get_lf_logs,
|
||||
update_report):
|
||||
"""Client Connectivity open ssid 2.4G
|
||||
pytest -m "client_connectivity and bridge and general and wpa3_personal and fiveg"
|
||||
@@ -296,7 +300,7 @@ class TestBridgeModeConnectivitySuiteTwo(object):
|
||||
@pytest.mark.twog
|
||||
@allure.story('open 2.4 GHZ Band')
|
||||
def test_wpa3_personal_mixed_ssid_2g(self, get_vif_state, get_ap_logs, station_names_twog, setup_profiles,
|
||||
lf_test,
|
||||
lf_test, get_lf_logs,
|
||||
update_report,
|
||||
test_cases):
|
||||
"""Client Connectivity open ssid 2.4G
|
||||
@@ -323,7 +327,7 @@ class TestBridgeModeConnectivitySuiteTwo(object):
|
||||
@pytest.mark.fiveg
|
||||
@allure.story('open 5 GHZ Band')
|
||||
def test_wpa3_personal_mixed_ssid_5g(self, get_vif_state, get_ap_logs, station_names_fiveg, lf_test,
|
||||
test_cases,
|
||||
test_cases, get_lf_logs,
|
||||
update_report):
|
||||
"""Client Connectivity open ssid 2.4G
|
||||
pytest -m "client_connectivity and bridge and general and wpa3_personal_mixed and fiveg"
|
||||
@@ -349,7 +353,7 @@ class TestBridgeModeConnectivitySuiteTwo(object):
|
||||
@pytest.mark.twog
|
||||
@allure.story('wpa wpa2 personal mixed 2.4 GHZ Band')
|
||||
def test_wpa_wpa2_personal_ssid_2g(self, get_vif_state, get_ap_logs, station_names_twog, setup_profiles,
|
||||
lf_test,
|
||||
lf_test, get_lf_logs,
|
||||
update_report,
|
||||
test_cases):
|
||||
"""Client Connectivity open ssid 2.4G
|
||||
@@ -376,7 +380,8 @@ class TestBridgeModeConnectivitySuiteTwo(object):
|
||||
@pytest.mark.wpa_wpa2_personal_mixed
|
||||
@pytest.mark.fiveg
|
||||
@allure.story('wpa wpa2 personal mixed 5 GHZ Band')
|
||||
def test_wpa_wpa2_personal_ssid_5g(self, get_vif_state, get_ap_logs, station_names_fiveg, lf_test, test_cases,
|
||||
def test_wpa_wpa2_personal_ssid_5g(self, get_vif_state, get_ap_logs, station_names_fiveg, get_lf_logs,
|
||||
lf_test, test_cases,
|
||||
update_report):
|
||||
"""Client Connectivity open ssid 2.4G
|
||||
pytest -m "client_connectivity and bridge and general and wpa_wpa2_personal_mixed and fiveg"
|
||||
|
||||
@@ -34,7 +34,7 @@ class TestNATModeEnterpriseTTLSSuiteOne(object):
|
||||
|
||||
@pytest.mark.wpa_enterprise
|
||||
@pytest.mark.twog
|
||||
def test_wpa_enterprise_2g(self, get_vif_state, get_ap_logs,
|
||||
def test_wpa_enterprise_2g(self, get_vif_state, get_ap_logs, get_lf_logs,
|
||||
station_names_twog, setup_profiles, lf_test, update_report,
|
||||
test_cases, radius_info, exit_on_fail):
|
||||
profile_data = setup_params_enterprise["ssid_modes"]["wpa_enterprise"][0]
|
||||
@@ -59,7 +59,7 @@ class TestNATModeEnterpriseTTLSSuiteOne(object):
|
||||
|
||||
@pytest.mark.wpa_enterprise
|
||||
@pytest.mark.fiveg
|
||||
def test_wpa_enterprise_5g(self, get_vif_state, get_ap_logs,
|
||||
def test_wpa_enterprise_5g(self, get_vif_state, get_ap_logs, get_lf_logs,
|
||||
station_names_fiveg, setup_profiles, lf_test, update_report,
|
||||
test_cases, radius_info, exit_on_fail):
|
||||
profile_data = setup_params_enterprise["ssid_modes"]["wpa_enterprise"][1]
|
||||
@@ -85,7 +85,7 @@ class TestNATModeEnterpriseTTLSSuiteOne(object):
|
||||
@pytest.mark.sanity_light
|
||||
@pytest.mark.wpa2_enterprise
|
||||
@pytest.mark.twog
|
||||
def test_wpa2_enterprise_2g(self, get_vif_state, get_ap_logs,
|
||||
def test_wpa2_enterprise_2g(self, get_vif_state, get_ap_logs, get_lf_logs,
|
||||
station_names_twog, setup_profiles, lf_test, update_report,
|
||||
test_cases, radius_info, exit_on_fail):
|
||||
profile_data = setup_params_enterprise["ssid_modes"]["wpa2_enterprise"][0]
|
||||
@@ -111,7 +111,7 @@ class TestNATModeEnterpriseTTLSSuiteOne(object):
|
||||
@pytest.mark.sanity_light
|
||||
@pytest.mark.wpa2_enterprise
|
||||
@pytest.mark.fiveg
|
||||
def test_wpa2_enterprise_5g(self, get_vif_state, get_ap_logs,
|
||||
def test_wpa2_enterprise_5g(self, get_vif_state, get_ap_logs, get_lf_logs,
|
||||
station_names_fiveg, setup_profiles, lf_test, update_report,
|
||||
test_cases, radius_info, exit_on_fail):
|
||||
profile_data = setup_params_enterprise["ssid_modes"]["wpa2_enterprise"][1]
|
||||
@@ -136,7 +136,7 @@ class TestNATModeEnterpriseTTLSSuiteOne(object):
|
||||
|
||||
@pytest.mark.wpa3_enterprise
|
||||
@pytest.mark.twog
|
||||
def test_wpa3_enterprise_2g(self, get_vif_state, get_ap_logs,
|
||||
def test_wpa3_enterprise_2g(self, get_vif_state, get_ap_logs, get_lf_logs,
|
||||
station_names_twog, setup_profiles, lf_test, update_report,
|
||||
test_cases, radius_info, exit_on_fail):
|
||||
profile_data = setup_params_enterprise["ssid_modes"]["wpa3_enterprise"][0]
|
||||
@@ -160,7 +160,7 @@ class TestNATModeEnterpriseTTLSSuiteOne(object):
|
||||
|
||||
@pytest.mark.wpa3_enterprise
|
||||
@pytest.mark.fiveg
|
||||
def test_wpa3_enterprise_5g(self, get_vif_state,station_names_fiveg, get_ap_logs,
|
||||
def test_wpa3_enterprise_5g(self, get_vif_state,station_names_fiveg, get_ap_logs, get_lf_logs,
|
||||
setup_profiles, lf_test, update_report,
|
||||
test_cases, radius_info, exit_on_fail):
|
||||
profile_data = setup_params_enterprise["ssid_modes"]["wpa3_enterprise"][1]
|
||||
@@ -210,7 +210,7 @@ class TestNATModeEnterpriseTTLSSuiteTwo(object):
|
||||
|
||||
@pytest.mark.wpa_wpa2_enterprise_mixed
|
||||
@pytest.mark.twog
|
||||
def test_wpa_wpa2_enterprise_2g(self, get_vif_state, get_ap_logs,
|
||||
def test_wpa_wpa2_enterprise_2g(self, get_vif_state, get_ap_logs, get_lf_logs,
|
||||
station_names_twog, setup_profiles, lf_test, update_report,
|
||||
test_cases, radius_info, exit_on_fail):
|
||||
profile_data = setup_params_enterprise_two["ssid_modes"]["wpa_wpa2_enterprise_mixed"][0]
|
||||
@@ -235,7 +235,7 @@ class TestNATModeEnterpriseTTLSSuiteTwo(object):
|
||||
|
||||
@pytest.mark.wpa_wpa2_enterprise_mixed
|
||||
@pytest.mark.fiveg
|
||||
def test_wpa_wpa2_enterprise_5g(self, get_vif_state, get_ap_logs,
|
||||
def test_wpa_wpa2_enterprise_5g(self, get_vif_state, get_ap_logs, get_lf_logs,
|
||||
station_names_fiveg, setup_profiles, lf_test,
|
||||
update_report, test_cases, radius_info, exit_on_fail):
|
||||
profile_data = setup_params_enterprise_two["ssid_modes"]["wpa_wpa2_enterprise_mixed"][1]
|
||||
@@ -260,7 +260,7 @@ class TestNATModeEnterpriseTTLSSuiteTwo(object):
|
||||
|
||||
@pytest.mark.wpa3_enterprise_mixed
|
||||
@pytest.mark.twog
|
||||
def test_wpa3_enterprise_mixed_2g(self, get_vif_state, get_ap_logs,
|
||||
def test_wpa3_enterprise_mixed_2g(self, get_vif_state, get_ap_logs, get_lf_logs,
|
||||
station_names_twog, setup_profiles, lf_test,
|
||||
update_report, test_cases, radius_info, exit_on_fail):
|
||||
profile_data = setup_params_enterprise_two["ssid_modes"]["wpa3_enterprise_mixed"][0]
|
||||
@@ -284,8 +284,8 @@ class TestNATModeEnterpriseTTLSSuiteTwo(object):
|
||||
|
||||
@pytest.mark.wpa3_enterprise_mixed
|
||||
@pytest.mark.fiveg
|
||||
def test_wpa3_enterprise_mixed_5g(self, get_vif_state, get_ap_logs,
|
||||
station_names_fiveg, setup_profiles, lf_test,
|
||||
def test_wpa3_enterprise_mixed_5g(self, get_vif_state, get_ap_logs, get_lf_logs,
|
||||
station_names_fiveg, setup_profiles, lf_test,
|
||||
update_report, exit_on_fail,
|
||||
test_cases, radius_info):
|
||||
profile_data = setup_params_enterprise_two["ssid_modes"]["wpa3_enterprise_mixed"][1]
|
||||
|
||||
@@ -48,7 +48,7 @@ class TestNATModeConnectivitySuiteA(object):
|
||||
@pytest.mark.open
|
||||
@pytest.mark.twog
|
||||
@allure.story('open 2.4 GHZ Band')
|
||||
def test_open_ssid_2g(self, get_vif_state, get_ap_logs,
|
||||
def test_open_ssid_2g(self, get_vif_state, get_ap_logs, get_lf_logs,
|
||||
setup_profiles, lf_test, update_report,
|
||||
station_names_twog,
|
||||
test_cases):
|
||||
@@ -77,7 +77,7 @@ class TestNATModeConnectivitySuiteA(object):
|
||||
@pytest.mark.open
|
||||
@pytest.mark.fiveg
|
||||
@allure.story('open 5 GHZ Band')
|
||||
def test_open_ssid_5g(self, get_vif_state, get_ap_logs,
|
||||
def test_open_ssid_5g(self, get_vif_state, get_ap_logs, get_lf_logs,
|
||||
lf_test, test_cases, station_names_fiveg,
|
||||
update_report):
|
||||
"""Client Connectivity open ssid 5G
|
||||
@@ -104,7 +104,7 @@ class TestNATModeConnectivitySuiteA(object):
|
||||
@pytest.mark.wpa
|
||||
@pytest.mark.twog
|
||||
@allure.story('wpa 2.4 GHZ Band')
|
||||
def test_wpa_ssid_2g(self, get_vif_state, get_ap_logs, update_report,
|
||||
def test_wpa_ssid_2g(self, get_vif_state, get_ap_logs, update_report, get_lf_logs,
|
||||
lf_test, test_cases, station_names_twog):
|
||||
"""Client Connectivity wpa ssid 2.4G
|
||||
pytest -m "client_connectivity and NAT and general and wpa and twog"
|
||||
@@ -129,7 +129,7 @@ class TestNATModeConnectivitySuiteA(object):
|
||||
@pytest.mark.wpa
|
||||
@pytest.mark.fiveg
|
||||
@allure.story('wpa 5 GHZ Band')
|
||||
def test_wpa_ssid_5g(self, get_vif_state, get_ap_logs,
|
||||
def test_wpa_ssid_5g(self, get_vif_state, get_ap_logs, get_lf_logs,
|
||||
lf_test, update_report, test_cases, station_names_fiveg):
|
||||
"""Client Connectivity wpa ssid 5G
|
||||
pytest -m "client_connectivity and NAT and general and wpa and fiveg"
|
||||
@@ -155,7 +155,7 @@ class TestNATModeConnectivitySuiteA(object):
|
||||
@pytest.mark.wpa2_personal
|
||||
@pytest.mark.twog
|
||||
@allure.story('wpa2_personal 2.4 GHZ Band')
|
||||
def test_wpa2_personal_ssid_2g(self, get_vif_state, get_ap_logs,
|
||||
def test_wpa2_personal_ssid_2g(self, get_vif_state, get_ap_logs, get_lf_logs,
|
||||
lf_test, update_report, test_cases,
|
||||
station_names_twog):
|
||||
"""Client Connectivity wpa2_personal ssid 2.4G
|
||||
@@ -182,7 +182,7 @@ class TestNATModeConnectivitySuiteA(object):
|
||||
@pytest.mark.wpa2_personal
|
||||
@pytest.mark.fiveg
|
||||
@allure.story('wpa2_personal 5 GHZ Band')
|
||||
def test_wpa2_personal_ssid_5g(self, get_vif_state, get_ap_logs,
|
||||
def test_wpa2_personal_ssid_5g(self, get_vif_state, get_ap_logs, get_lf_logs,
|
||||
update_report, test_cases,
|
||||
station_names_fiveg,
|
||||
lf_test):
|
||||
@@ -245,7 +245,7 @@ class TestNATModeConnectivitySuiteB(object):
|
||||
@pytest.mark.wpa3_personal
|
||||
@pytest.mark.twog
|
||||
@allure.story('open 2.4 GHZ Band')
|
||||
def test_wpa3_personal_ssid_2g(self, get_vif_state, get_ap_logs,
|
||||
def test_wpa3_personal_ssid_2g(self, get_vif_state, get_ap_logs, get_lf_logs,
|
||||
station_names_twog, setup_profiles, lf_test,
|
||||
update_report,
|
||||
test_cases):
|
||||
@@ -272,7 +272,7 @@ class TestNATModeConnectivitySuiteB(object):
|
||||
@pytest.mark.wpa3_personal
|
||||
@pytest.mark.fiveg
|
||||
@allure.story('open 5 GHZ Band')
|
||||
def test_wpa3_personal_ssid_5g(self, get_vif_state, get_ap_logs,
|
||||
def test_wpa3_personal_ssid_5g(self, get_vif_state, get_ap_logs, get_lf_logs,
|
||||
station_names_fiveg, lf_test, test_cases,
|
||||
update_report):
|
||||
"""Client Connectivity open ssid 2.4G
|
||||
@@ -300,7 +300,7 @@ class TestNATModeConnectivitySuiteB(object):
|
||||
@allure.story('open 2.4 GHZ Band')
|
||||
def test_wpa3_personal_mixed_ssid_2g(self, get_vif_state, get_ap_logs,
|
||||
station_names_twog, setup_profiles,
|
||||
lf_test,
|
||||
lf_test, get_lf_logs,
|
||||
update_report,
|
||||
test_cases):
|
||||
"""Client Connectivity open ssid 2.4G
|
||||
@@ -326,7 +326,7 @@ class TestNATModeConnectivitySuiteB(object):
|
||||
@pytest.mark.wpa3_personal_mixed
|
||||
@pytest.mark.fiveg
|
||||
@allure.story('open 5 GHZ Band')
|
||||
def test_wpa3_personal_mixed_ssid_5g(self, get_vif_state, get_ap_logs,
|
||||
def test_wpa3_personal_mixed_ssid_5g(self, get_vif_state, get_ap_logs, get_lf_logs,
|
||||
station_names_fiveg, lf_test,
|
||||
test_cases,
|
||||
update_report):
|
||||
@@ -353,7 +353,7 @@ class TestNATModeConnectivitySuiteB(object):
|
||||
@pytest.mark.wpa_wpa2_personal_mixed
|
||||
@pytest.mark.twog
|
||||
@allure.story('wpa wpa2 personal mixed 2.4 GHZ Band')
|
||||
def test_wpa_wpa2_personal_ssid_2g(self, get_vif_state, get_ap_logs,
|
||||
def test_wpa_wpa2_personal_ssid_2g(self, get_vif_state, get_ap_logs, get_lf_logs,
|
||||
station_names_twog, setup_profiles,
|
||||
lf_test,
|
||||
update_report,
|
||||
@@ -382,7 +382,7 @@ class TestNATModeConnectivitySuiteB(object):
|
||||
@pytest.mark.wpa_wpa2_personal_mixed
|
||||
@pytest.mark.fiveg
|
||||
@allure.story('wpa wpa2 personal mixed 5 GHZ Band')
|
||||
def test_wpa_wpa2_personal_ssid_5g(self, get_vif_state, get_ap_logs,
|
||||
def test_wpa_wpa2_personal_ssid_5g(self, get_vif_state, get_ap_logs, get_lf_logs,
|
||||
station_names_fiveg, lf_test, test_cases,
|
||||
update_report):
|
||||
"""Client Connectivity open ssid 2.4G
|
||||
|
||||
@@ -34,7 +34,7 @@ class TestVLANModeEnterpriseTTLSSuiteOne(object):
|
||||
|
||||
@pytest.mark.wpa_enterprise
|
||||
@pytest.mark.twog
|
||||
def test_wpa_enterprise_2g(self, get_vif_state, get_ap_logs,
|
||||
def test_wpa_enterprise_2g(self, get_vif_state, get_ap_logs, get_lf_logs,
|
||||
station_names_twog, setup_profiles, lf_test,
|
||||
update_report,
|
||||
test_cases, radius_info, exit_on_fail):
|
||||
@@ -60,7 +60,7 @@ class TestVLANModeEnterpriseTTLSSuiteOne(object):
|
||||
|
||||
@pytest.mark.wpa_enterprise
|
||||
@pytest.mark.fiveg
|
||||
def test_wpa_enterprise_5g(self, get_vif_state, get_ap_logs,
|
||||
def test_wpa_enterprise_5g(self, get_vif_state, get_ap_logs, get_lf_logs,
|
||||
station_names_fiveg, setup_profiles, lf_test,
|
||||
update_report,
|
||||
test_cases, radius_info, exit_on_fail):
|
||||
@@ -87,7 +87,7 @@ class TestVLANModeEnterpriseTTLSSuiteOne(object):
|
||||
@pytest.mark.sanity_light
|
||||
@pytest.mark.wpa2_enterprise
|
||||
@pytest.mark.twog
|
||||
def test_wpa2_enterprise_2g(self, get_vif_state, get_ap_logs,
|
||||
def test_wpa2_enterprise_2g(self, get_vif_state, get_ap_logs, get_lf_logs,
|
||||
station_names_twog, setup_profiles, lf_test,
|
||||
update_report,
|
||||
test_cases, radius_info, exit_on_fail):
|
||||
@@ -114,7 +114,7 @@ class TestVLANModeEnterpriseTTLSSuiteOne(object):
|
||||
@pytest.mark.sanity_light
|
||||
@pytest.mark.wpa2_enterprise
|
||||
@pytest.mark.fiveg
|
||||
def test_wpa2_enterprise_5g(self, get_vif_state, get_ap_logs,
|
||||
def test_wpa2_enterprise_5g(self, get_vif_state, get_ap_logs, get_lf_logs,
|
||||
station_names_fiveg, setup_profiles, lf_test,
|
||||
update_report,
|
||||
test_cases, radius_info, exit_on_fail):
|
||||
@@ -140,7 +140,7 @@ class TestVLANModeEnterpriseTTLSSuiteOne(object):
|
||||
|
||||
@pytest.mark.wpa3_enterprise
|
||||
@pytest.mark.twog
|
||||
def test_wpa3_enterprise_2g(self, get_vif_state, get_ap_logs,
|
||||
def test_wpa3_enterprise_2g(self, get_vif_state, get_ap_logs, get_lf_logs,
|
||||
station_names_twog, setup_profiles, lf_test,
|
||||
update_report,
|
||||
test_cases, radius_info, exit_on_fail):
|
||||
@@ -165,7 +165,7 @@ class TestVLANModeEnterpriseTTLSSuiteOne(object):
|
||||
|
||||
@pytest.mark.wpa3_enterprise
|
||||
@pytest.mark.fiveg
|
||||
def test_wpa3_enterprise_5g(self, get_vif_state, get_ap_logs,
|
||||
def test_wpa3_enterprise_5g(self, get_vif_state, get_ap_logs, get_lf_logs,
|
||||
station_names_fiveg, setup_profiles, lf_test,
|
||||
update_report,
|
||||
test_cases, radius_info, exit_on_fail):
|
||||
@@ -216,7 +216,7 @@ class TestVLANModeEnterpriseTTLSSuiteTwo(object):
|
||||
|
||||
@pytest.mark.wpa_wpa2_enterprise_mixed
|
||||
@pytest.mark.twog
|
||||
def test_wpa_wpa2_enterprise_2g(self, get_vif_state, get_ap_logs,
|
||||
def test_wpa_wpa2_enterprise_2g(self, get_vif_state, get_ap_logs, get_lf_logs,
|
||||
station_names_twog, setup_profiles, lf_test,
|
||||
update_report,
|
||||
test_cases, radius_info, exit_on_fail):
|
||||
@@ -244,7 +244,7 @@ class TestVLANModeEnterpriseTTLSSuiteTwo(object):
|
||||
@pytest.mark.fiveg
|
||||
def test_wpa_wpa2_enterprise_5g(self, get_vif_state, get_ap_logs,
|
||||
station_names_fiveg, setup_profiles,
|
||||
lf_test,
|
||||
lf_test, get_lf_logs,
|
||||
update_report, test_cases, radius_info, exit_on_fail):
|
||||
profile_data = setup_params_enterprise_two["ssid_modes"]["wpa_wpa2_enterprise_mixed"][1]
|
||||
ssid_name = profile_data["ssid_name"]
|
||||
@@ -268,7 +268,7 @@ class TestVLANModeEnterpriseTTLSSuiteTwo(object):
|
||||
|
||||
@pytest.mark.wpa3_enterprise_mixed
|
||||
@pytest.mark.twog
|
||||
def test_wpa3_enterprise_mixed_2g(self, get_vif_state, get_ap_logs,
|
||||
def test_wpa3_enterprise_mixed_2g(self, get_vif_state, get_ap_logs, get_lf_logs,
|
||||
station_names_twog, setup_profiles,
|
||||
lf_test,
|
||||
update_report, test_cases, radius_info, exit_on_fail):
|
||||
@@ -293,7 +293,7 @@ class TestVLANModeEnterpriseTTLSSuiteTwo(object):
|
||||
|
||||
@pytest.mark.wpa3_enterprise_mixed
|
||||
@pytest.mark.fiveg
|
||||
def test_wpa3_enterprise_mixed_5g(self, get_vif_state, get_ap_logs,
|
||||
def test_wpa3_enterprise_mixed_5g(self, get_vif_state, get_ap_logs, get_lf_logs,
|
||||
station_names_fiveg, setup_profiles,
|
||||
lf_test,
|
||||
update_report, exit_on_fail,
|
||||
|
||||
@@ -46,8 +46,8 @@ class TestvlanModeConnectivitySuiteA(object):
|
||||
@pytest.mark.open
|
||||
@pytest.mark.twog
|
||||
@allure.story('open 2.4 GHZ Band')
|
||||
def test_open_ssid_2g(self, get_vif_state, get_ap_logs,
|
||||
setup_profiles, lf_test, update_report,
|
||||
def test_open_ssid_2g(self, get_vif_state, get_ap_logs, get_lf_logs,
|
||||
setup_profiles, lf_test, update_report,
|
||||
station_names_twog,
|
||||
test_cases):
|
||||
"""Client Connectivity open ssid 2.4G
|
||||
@@ -72,8 +72,8 @@ class TestvlanModeConnectivitySuiteA(object):
|
||||
@pytest.mark.open
|
||||
@pytest.mark.fiveg
|
||||
@allure.story('open 5 GHZ Band')
|
||||
def test_open_ssid_5g(self, get_vif_state, get_ap_logs,
|
||||
lf_test, test_cases, station_names_fiveg,
|
||||
def test_open_ssid_5g(self, get_vif_state, get_ap_logs, get_lf_logs,
|
||||
lf_test, test_cases, station_names_fiveg,
|
||||
update_report):
|
||||
"""Client Connectivity open ssid 5G
|
||||
pytest -m "client_connectivity and vlan and general and open and fiveg"
|
||||
@@ -100,7 +100,7 @@ class TestvlanModeConnectivitySuiteA(object):
|
||||
@pytest.mark.twog
|
||||
@allure.story('wpa 2.4 GHZ Band')
|
||||
def test_wpa_ssid_2g(self, get_vif_state, get_ap_logs,
|
||||
update_report,
|
||||
update_report, get_lf_logs,
|
||||
lf_test, test_cases, station_names_twog):
|
||||
"""Client Connectivity wpa ssid 2.4G
|
||||
pytest -m "client_connectivity and vlan and general and wpa and twog"
|
||||
@@ -126,7 +126,7 @@ class TestvlanModeConnectivitySuiteA(object):
|
||||
@pytest.mark.wpa
|
||||
@pytest.mark.fiveg
|
||||
@allure.story('wpa 5 GHZ Band')
|
||||
def test_wpa_ssid_5g(self, get_vif_state, get_ap_logs,
|
||||
def test_wpa_ssid_5g(self, get_vif_state, get_ap_logs, get_lf_logs,
|
||||
lf_test, update_report, test_cases, station_names_fiveg):
|
||||
"""Client Connectivity wpa ssid 5G
|
||||
pytest -m "client_connectivity and vlan and general and wpa and fiveg"
|
||||
@@ -152,8 +152,8 @@ class TestvlanModeConnectivitySuiteA(object):
|
||||
@pytest.mark.wpa2_personal
|
||||
@pytest.mark.twog
|
||||
@allure.story('wpa2_personal 2.4 GHZ Band')
|
||||
def test_wpa2_personal_ssid_2g(self, get_vif_state, get_ap_logs,
|
||||
lf_test, update_report, test_cases,
|
||||
def test_wpa2_personal_ssid_2g(self, get_vif_state, get_ap_logs, get_lf_logs,
|
||||
lf_test, update_report, test_cases,
|
||||
station_names_twog):
|
||||
"""Client Connectivity wpa2_personal ssid 2.4G
|
||||
pytest -m "client_connectivity and vlan and general and wpa2_personal and twog"
|
||||
@@ -179,8 +179,8 @@ class TestvlanModeConnectivitySuiteA(object):
|
||||
@pytest.mark.wpa2_personal
|
||||
@pytest.mark.fiveg
|
||||
@allure.story('wpa2_personal 5 GHZ Band')
|
||||
def test_wpa2_personal_ssid_5g(self, get_vif_state, get_ap_logs,
|
||||
update_report, test_cases,
|
||||
def test_wpa2_personal_ssid_5g(self, get_vif_state, get_ap_logs, get_lf_logs,
|
||||
update_report, test_cases,
|
||||
station_names_fiveg,
|
||||
lf_test):
|
||||
"""Client Connectivity wpa2_personal ssid 5G
|
||||
@@ -243,8 +243,8 @@ class TestvlanModeConnectivitySuiteTwo(object):
|
||||
@pytest.mark.wpa3_personal
|
||||
@pytest.mark.twog
|
||||
@allure.story('open 2.4 GHZ Band')
|
||||
def test_wpa3_personal_ssid_2g(self, get_vif_state, get_ap_logs,
|
||||
station_names_twog, setup_profiles, lf_test,
|
||||
def test_wpa3_personal_ssid_2g(self, get_vif_state, get_ap_logs, get_lf_logs,
|
||||
station_names_twog, setup_profiles, lf_test,
|
||||
update_report,
|
||||
test_cases):
|
||||
"""Client Connectivity open ssid 2.4G
|
||||
@@ -271,8 +271,8 @@ class TestvlanModeConnectivitySuiteTwo(object):
|
||||
@pytest.mark.wpa3_personal
|
||||
@pytest.mark.fiveg
|
||||
@allure.story('open 5 GHZ Band')
|
||||
def test_wpa3_personal_ssid_5g(self, get_vif_state, get_ap_logs,
|
||||
station_names_fiveg, lf_test, test_cases,
|
||||
def test_wpa3_personal_ssid_5g(self, get_vif_state, get_ap_logs, get_lf_logs,
|
||||
station_names_fiveg, lf_test, test_cases,
|
||||
update_report):
|
||||
"""Client Connectivity open ssid 2.4G
|
||||
pytest -m "client_connectivity and vlan and general and wpa3_personal and fiveg"
|
||||
@@ -298,8 +298,8 @@ class TestvlanModeConnectivitySuiteTwo(object):
|
||||
@pytest.mark.twog
|
||||
@allure.story('open 2.4 GHZ Band')
|
||||
def test_wpa3_personal_mixed_ssid_2g(self, get_vif_state, get_ap_logs,
|
||||
station_names_twog, setup_profiles,
|
||||
lf_test,
|
||||
station_names_twog, setup_profiles,
|
||||
lf_test, get_lf_logs,
|
||||
update_report,
|
||||
test_cases):
|
||||
"""Client Connectivity open ssid 2.4G
|
||||
@@ -326,8 +326,8 @@ class TestvlanModeConnectivitySuiteTwo(object):
|
||||
@pytest.mark.fiveg
|
||||
@allure.story('open 5 GHZ Band')
|
||||
def test_wpa3_personal_mixed_ssid_5g(self, get_vif_state, get_ap_logs,
|
||||
station_names_fiveg, lf_test,
|
||||
test_cases,
|
||||
station_names_fiveg, lf_test,
|
||||
test_cases, get_lf_logs,
|
||||
update_report):
|
||||
"""Client Connectivity open ssid 2.4G
|
||||
pytest -m "client_connectivity and vlan and general and wpa3_personal_mixed and fiveg"
|
||||
@@ -353,8 +353,8 @@ class TestvlanModeConnectivitySuiteTwo(object):
|
||||
@pytest.mark.twog
|
||||
@allure.story('wpa wpa2 personal mixed 2.4 GHZ Band')
|
||||
def test_wpa_wpa2_personal_ssid_2g(self, get_vif_state, get_ap_logs,
|
||||
station_names_twog, setup_profiles,
|
||||
lf_test,
|
||||
station_names_twog, setup_profiles,
|
||||
lf_test, get_lf_logs,
|
||||
update_report,
|
||||
test_cases):
|
||||
"""Client Connectivity open ssid 2.4G
|
||||
@@ -381,8 +381,8 @@ class TestvlanModeConnectivitySuiteTwo(object):
|
||||
@pytest.mark.wpa_wpa2_personal_mixed
|
||||
@pytest.mark.fiveg
|
||||
@allure.story('wpa wpa2 personal mixed 5 GHZ Band')
|
||||
def test_wpa_wpa2_personal_ssid_5g(self, get_vif_state, get_ap_logs,
|
||||
station_names_fiveg, lf_test, test_cases,
|
||||
def test_wpa_wpa2_personal_ssid_5g(self, get_vif_state, get_ap_logs, get_lf_logs,
|
||||
station_names_fiveg, lf_test, test_cases,
|
||||
update_report):
|
||||
"""Client Connectivity open ssid 2.4G
|
||||
pytest -m "client_connectivity and vlan and general and wpa_wpa2_personal_mixed and fiveg"
|
||||
|
||||
@@ -1,70 +0,0 @@
|
||||
#!/usr/bin/python3.9
|
||||
"""
|
||||
|
||||
lf_tools : Tools for LANforge
|
||||
reboot, run_cmd, etc
|
||||
./lf_tools --host 10.28.3.8 --port 22 --username root --password lanforge --action reboot
|
||||
./lf_tools --host 10.28.3.8 --port 22 --username root --password lanforge --action run_cmd --cmd ls
|
||||
|
||||
"""
|
||||
import argparse
|
||||
import paramiko
|
||||
|
||||
|
||||
class LFTools:
|
||||
|
||||
def __init__(self, host="", port=22, username="root", password="lanforge"):
|
||||
self.host = host
|
||||
self.port = port
|
||||
self.username = username
|
||||
self.password = password
|
||||
|
||||
def ssh_cli_connect(self):
|
||||
client = paramiko.SSHClient()
|
||||
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
|
||||
print("Connecting to LANforge: %s@%s:%s" % (
|
||||
self.username, self.host, self.port))
|
||||
client.connect(self.host, username=self.username, password=self.password,
|
||||
port=self.port, timeout=10, allow_agent=False, banner_timeout=200)
|
||||
|
||||
return client
|
||||
|
||||
def run_cmd(self, cmd):
|
||||
client = self.ssh_cli_connect()
|
||||
stdin, stdout, stderr = client.exec_command(cmd)
|
||||
output = "Output: " + str(stdout.read())
|
||||
error = "Error: " + str(stderr.read())
|
||||
client.close()
|
||||
return output, error
|
||||
|
||||
def run_action(self, action, cmd):
|
||||
if action == "reboot":
|
||||
output, error = self.run_cmd("reboot")
|
||||
print(output, error)
|
||||
elif action == "run_cmd":
|
||||
output, error = self.run_cmd(cmd)
|
||||
print(output, error)
|
||||
else:
|
||||
print("Invalid Action")
|
||||
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser(prog="lf_utils",
|
||||
formatter_class=argparse.RawTextHelpFormatter,
|
||||
allow_abbrev=True,
|
||||
epilog="About lf_tools.py",
|
||||
description="Tools for LANforge System")
|
||||
parser.add_argument('--host', type=str, help=' --host : IP Address f LANforge System', default="localhost")
|
||||
parser.add_argument('--port', type=int, help='--passwd of dut', default=22)
|
||||
parser.add_argument('--username', type=str, help='--username to use on LANforge', default="root")
|
||||
parser.add_argument('--password', type=str, help='--password to the given username', default="lanforge")
|
||||
parser.add_argument('--action', type=str, help='--action to perform'
|
||||
'reboot | run_cmd', default="run_cmd")
|
||||
parser.add_argument('--cmd', type=str, help='--cmd : used when action is "run_cmd"', default="pwd")
|
||||
args = parser.parse_args()
|
||||
lf_tools = LFTools(host=args.host, port=args.port, username=args.username, password=args.password)
|
||||
lf_tools.run_action(args.action, args.cmd)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
55
tools/scp_util.py
Executable file
55
tools/scp_util.py
Executable file
@@ -0,0 +1,55 @@
|
||||
#!/usr/bin/env python3
|
||||
import argparse
|
||||
|
||||
import paramiko
|
||||
from scp import SCPClient
|
||||
|
||||
|
||||
class SCP_File:
|
||||
def __init__(self, ip="localhost", port=22, username="lanforge", password="lanforge", remote_path="/home/lanforge/",
|
||||
local_path="."):
|
||||
self.ip = ip
|
||||
self.port = port
|
||||
self.remote_path = remote_path
|
||||
self.local_path = local_path
|
||||
self.username = username
|
||||
self.password = password
|
||||
|
||||
def pull_file(self):
|
||||
ssh = paramiko.SSHClient()
|
||||
ssh.load_system_host_keys()
|
||||
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
|
||||
ssh.connect(hostname=self.ip, username=self.username, password=self.password, port=self.port, allow_agent=False,
|
||||
look_for_keys=False)
|
||||
# ssh.close()
|
||||
|
||||
with SCPClient(ssh.get_transport()) as scp:
|
||||
scp.get(remote_path=self.remote_path, local_path=self.local_path, recursive=True)
|
||||
scp.close()
|
||||
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser(prog="lf_utils",
|
||||
formatter_class=argparse.RawTextHelpFormatter,
|
||||
allow_abbrev=True,
|
||||
epilog="About lf_tools.py",
|
||||
description="Tools for LANforge System")
|
||||
parser.add_argument('--host', type=str, help=' --host : IP Address f LANforge System', default="localhost")
|
||||
parser.add_argument('--port', type=int, help='--passwd of dut', default=22)
|
||||
parser.add_argument('--username', type=str, help='--username to use on LANforge', default="lanforge")
|
||||
parser.add_argument('--password', type=str, help='--password to use on LANforge', default="lanforge")
|
||||
parser.add_argument('--remote_path', type=str, help='--password to the given username',
|
||||
default="/home/lanforge/lf_kinstall.pl")
|
||||
parser.add_argument('--local_path', type=str, help='--action to perform'
|
||||
'reboot | run_cmd', default=".")
|
||||
args = parser.parse_args()
|
||||
lf_tools = SCP_File(ip=args.host, port=args.port,
|
||||
username=args.username, password=args.password,
|
||||
remote_path=args.remote_path, local_path=args.local_path)
|
||||
lf_tools.pull_file()
|
||||
|
||||
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
Reference in New Issue
Block a user