Wifi 7159 (#415)

* - To return from perfecto logger if we are running testcases for unique ssid

Signed-off-by: Sushant Bawiskar <sushant.bawiskar@candelatech.com>

* - To add unique ssid schema as a part of testcase

Signed-off-by: Sushant Bawiskar <sushant.bawiskar@candelatech.com>

* - removing marker from openroaming tescases

Signed-off-by: Sushant Bawiskar <sushant.bawiskar@candelatech.com>

* Resolved conflicts in Interop/conftest

Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>

* Added Android devices needed for cleanup

Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>

* Changed marker to match ios and Android test cases with devices in Interop Testing workflow

Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>

* Added run-lf argument in return function of setup_profiles

Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>

* Added WIFI branches in reference for allure report generation

Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>

* Changed marker to Suite B

Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>

* Added extra runners

Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>

* Added Nat mode

Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>

* Added Vlan mode

Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>

* Added extra 1 min if --run-lf is used

Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>

* changed cleanup requirements

Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>

* Added vlan to ssid names in setup profiles of Enterprise mode test

Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>

* Changed testbed name

Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>

* Changed Regression to performance

Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>

* Reverted to original Interop workflow file

Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>

* Chnaged file name to performance.yml

Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>

Co-authored-by: haricharan-jaka <haricharan.jaka@candelatech.com>
This commit is contained in:
Sushant Bawiskar
2022-03-23 20:33:34 +05:30
committed by GitHub
parent 5d25066749
commit 7a4c9724fd
19 changed files with 2476 additions and 454 deletions

2114
.github/workflows/interop_performance.yml vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1,313 +0,0 @@
name: interop regression testing
env:
# 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 }}
on:
workflow_dispatch:
inputs:
devices:
description: comma-separated list of devices to test
default: galaxy-s9,galaxy-s10,galaxy-s20,pixel-4
required: false
marker_overwrite:
description: overwrite the Pytest markers that will be selected, will disable report uploading
required: false
# schedule:
# - cron: "0 2 ? * SAT"
defaults:
run:
shell: bash
jobs:
vars:
runs-on: ubuntu-latest
outputs:
devices: ${{ steps.vars.outputs.devices }}
marker_overwrite: ${{ steps.vars.outputs.marker_overwrite }}
steps:
- name: set variables
id: vars
run: |
echo "::set-output name=marker_overwrite::${{ github.event.inputs.marker_overwrite || '' }}"
DEVICES="${{ github.event.inputs.devices || 'galaxy-s9,galaxy-s10,galaxy-s20,pixel-4' }}"
DEVICES=$(echo $DEVICES | sed "s/,/\",\"/g" | sed 's/^/[\"/g' | sed 's/$/\"]/g')
echo "::set-output name=devices::${DEVICES}"
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: build and push Docker image
uses: ./.github/actions/build-and-push-docker
with:
registry: tip-tip-wlan-cloud-docker-repo.jfrog.io
registry_user: wlan-testing-cicd
registry_password: ${{ secrets.DOCKER_USER_PASSWORD }}
# interop-01
test-galaxy-s9:
runs-on: ubuntu-latest
needs: [vars, build]
if: "!cancelled() && contains(fromJSON(needs.vars.outputs.devices), 'galaxy-s9')"
steps:
- uses: actions/checkout@v2
- name: get EKS access credentials
run: aws eks update-kubeconfig --name ${{ env.AWS_EKS_NAME }}
- name: run tests
uses: ./.github/actions/run-tests
with:
namespace: interop-${{ github.run_id }}-galaxy-s9
testbed: interop-01
marker_expression: "${{ needs.vars.outputs.marker_overwrite || 'android and client_connectivity' }}"
configuration: "${{ secrets.LAB_CONFIGURATION_JSON }}"
testing_docker_image: tip-tip-wlan-cloud-docker-repo.jfrog.io/cloud-sdk-nightly:${{ github.run_id }}
additional_args: "-o model-android='Galaxy S9' -o 'jobName=Github-Interop-galaxy-s9' -o 'jobNumber=${{ github.run_number }}' --skip-lanforge"
allure_results_artifact_name: allure-results-galaxy-s9
# necessary because if conditionals in composite actions are currently not respected
- name: delete namespace
if: always()
continue-on-error: true
run: kubectl delete ns --ignore-not-found=true --wait interop-${{ github.run_id }}-galaxy-s9
# test-iphone-12:
# runs-on: ubuntu-latest
# needs: [vars, test-galaxy-s9]
# if: "!cancelled() && contains(fromJSON(needs.vars.outputs.devices), 'iphone-12')"
# steps:
# - uses: actions/checkout@v2
#
# - name: get EKS access credentials
# run: aws eks update-kubeconfig --name ${{ env.AWS_EKS_NAME }}
#
# - name: run tests
# uses: ./.github/actions/run-tests
# with:
# namespace: interop-${{ github.run_id }}-iphone-12
# testbed: interop-01
# marker_expression: "${{ needs.vars.outputs.marker_overwrite || 'interop_uc_sanity and client_connect and ios' }}"
# configuration: "${{ secrets.LAB_CONFIGURATION_JSON }}"
# testing_docker_image: tip-tip-wlan-cloud-docker-repo.jfrog.io/cloud-sdk-nightly:${{ github.run_id }}
# additional_args: "-o model-iOS='iPhone-12' -o 'jobName=Github-Interop-iphone-12' -o 'jobNumber=${{ github.run_number }}' --skip-lanforge"
# allure_results_artifact_name: allure-results-iphone-12
# interop-02
test-galaxy-s10:
runs-on: ubuntu-latest
needs: [vars, build]
if: "!cancelled() && contains(fromJSON(needs.vars.outputs.devices), 'galaxy-s10')"
steps:
- uses: actions/checkout@v2
- name: get EKS access credentials
run: aws eks update-kubeconfig --name ${{ env.AWS_EKS_NAME }}
- name: run tests
uses: ./.github/actions/run-tests
with:
namespace: interop-${{ github.run_id }}-galaxy-s10
testbed: interop-02
marker_expression: "${{ needs.vars.outputs.marker_overwrite || 'android and client_connectivity' }}"
configuration: "${{ secrets.LAB_CONFIGURATION_JSON }}"
testing_docker_image: tip-tip-wlan-cloud-docker-repo.jfrog.io/cloud-sdk-nightly:${{ github.run_id }}
additional_args: "-o model-android='Galaxy S10.*' -o 'jobName=Github-Interop-galaxy-s10' -o 'jobNumber=${{ github.run_number }}' --skip-lanforge"
allure_results_artifact_name: allure-results-galaxy-s10
# necessary because if conditionals in composite actions are currently not respected
- name: delete namespace
if: always()
continue-on-error: true
run: kubectl delete ns --ignore-not-found=true --wait interop-${{ github.run_id }}-galaxy-s10
# test-iphone-7:
# runs-on: ubuntu-latest
# needs: [vars, test-galaxy-s10]
# if: "!cancelled() && contains(fromJSON(needs.vars.outputs.devices), 'iphone-7')"
# steps:
# - uses: actions/checkout@v2
#
# - name: get EKS access credentials
# run: aws eks update-kubeconfig --name ${{ env.AWS_EKS_NAME }}
#
# - name: run tests
# uses: ./.github/actions/run-tests
# with:
# namespace: interop-${{ github.run_id }}-iphone-7
# testbed: interop-02
# marker_expression: "${{ needs.vars.outputs.marker_overwrite || 'interop_uc_sanity and client_connect and ios' }}"
# configuration: "${{ secrets.LAB_CONFIGURATION }}"
# testing_docker_image: tip-tip-wlan-cloud-docker-repo.jfrog.io/cloud-sdk-nightly:${{ github.run_id }}
# additional_args: "-o model-iOS='iPhone-7' -o 'jobName=Github-Interop-iphone-7' -o 'jobNumber=${{ github.run_number }}' --skip-lanforge"
# allure_results_artifact_name: allure-results-iphone-7
# interop-03
test-galaxy-s20:
runs-on: ubuntu-latest
needs: [vars, build]
if: "!cancelled() && contains(fromJSON(needs.vars.outputs.devices), 'galaxy-s20')"
steps:
- uses: actions/checkout@v2
- name: get EKS access credentials
run: aws eks update-kubeconfig --name ${{ env.AWS_EKS_NAME }}
- name: run tests
uses: ./.github/actions/run-tests
with:
namespace: interop-${{ github.run_id }}-galaxy-s20
testbed: interop-03
marker_expression: "${{ needs.vars.outputs.marker_overwrite || 'android and client_connectivity' }}"
configuration: "${{ secrets.LAB_CONFIGURATION_JSON }}"
testing_docker_image: tip-tip-wlan-cloud-docker-repo.jfrog.io/cloud-sdk-nightly:${{ github.run_id }}
additional_args: "-o model-android='Galaxy S20' -o 'jobName=Github-Interop-galaxy-s20' -o 'jobNumber=${{ github.run_number }}' --skip-lanforge"
allure_results_artifact_name: allure-results-galaxy-s20
# necessary because if conditionals in composite actions are currently not respected
- name: delete namespace
if: always()
continue-on-error: true
run: kubectl delete ns --ignore-not-found=true --wait interop-${{ github.run_id }}-galaxy-s20
# test-iphone-xr:
# runs-on: ubuntu-latest
# needs: [vars, test-galaxy-s20]
# if: "!cancelled() && contains(fromJSON(needs.vars.outputs.devices), 'iphone-xr')"
# steps:
# - uses: actions/checkout@v2
#
# - name: get EKS access credentials
# run: aws eks update-kubeconfig --name ${{ env.AWS_EKS_NAME }}
#
# - name: run tests
# uses: ./.github/actions/run-tests
# with:
# namespace: interop-${{ github.run_id }}-iphone-xr
# testbed: interop-03
# marker_expression: "${{ needs.vars.outputs.marker_overwrite || 'interop_uc_sanity and client_connect and ios' }}"
# configuration: "${{ secrets.LAB_CONFIGURATION_JSON }}"
# testing_docker_image: tip-tip-wlan-cloud-docker-repo.jfrog.io/cloud-sdk-nightly:${{ github.run_id }}
# additional_args: "-o model-iOS='iPhone-XR' -o 'jobName=Github-Interop-iphone-xr' -o 'jobNumber=${{ github.run_number }}' --skip-lanforge"
# allure_results_artifact_name: allure-results-iphone-xr
#interop-04
test-pixel-4:
runs-on: ubuntu-latest
needs: [vars, build]
if: "!cancelled() && contains(fromJSON(needs.vars.outputs.devices), 'pixel-4')"
steps:
- uses: actions/checkout@v2
- name: get EKS access credentials
run: aws eks update-kubeconfig --name ${{ env.AWS_EKS_NAME }}
- name: run tests
uses: ./.github/actions/run-tests
with:
namespace: interop-${{ github.run_id }}-pixel-4
testbed: interop-04
marker_expression: "${{ needs.vars.outputs.marker_overwrite || 'android and client_connectivity' }}"
configuration: "${{ secrets.LAB_CONFIGURATION_JSON }}"
testing_docker_image: tip-tip-wlan-cloud-docker-repo.jfrog.io/cloud-sdk-nightly:${{ github.run_id }}
additional_args: "-o model-android='Pixel 4' -o 'jobName=Github-Interop-pixel-4' -o 'jobNumber=${{ github.run_number }}' --skip-lanforge"
allure_results_artifact_name: allure-results-pixel-4
# necessary because if conditionals in composite actions are currently not respected
- name: delete namespace
if: always()
continue-on-error: true
run: kubectl delete ns --ignore-not-found=true --wait interop-${{ github.run_id }}-pixel-4
# test-iphone-11:
# runs-on: ubuntu-latest
# needs: [vars, test-pixel-4]
# if: "!cancelled() && contains(fromJSON(needs.vars.outputs.devices), 'iphone-11')"
# steps:
# - uses: actions/checkout@v2
#
# - name: get EKS access credentials
# run: aws eks update-kubeconfig --name ${{ env.AWS_EKS_NAME }}
#
# - name: run tests
# uses: ./.github/actions/run-tests
# with:
# namespace: interop-${{ github.run_id }}-iphone-11
# testbed: interop-04
# marker_expression: "${{ needs.vars.outputs.marker_overwrite || 'interop_uc_sanity and client_connect and ios' }}"
# configuration: "${{ secrets.LAB_CONFIGURATION_JSON }}"
# testing_docker_image: tip-tip-wlan-cloud-docker-repo.jfrog.io/cloud-sdk-nightly:${{ github.run_id }}
# additional_args: "-o model-iOS='iPhone-11' -o 'jobName=Github-Interop-iphone-11' -o 'jobNumber=${{ github.run_number }}' --skip-lanforge"
# allure_results_artifact_name: allure-results-iphone-11
report:
needs: [vars, test-pixel-4, test-galaxy-s20, test-galaxy-s10, test-galaxy-s9]
if: "!cancelled()"
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
device: ${{ fromJson( needs.vars.outputs.devices ) }}
steps:
- name: checkout testing repo
uses: actions/checkout@v2
- uses: actions/download-artifact@v2
with:
name: allure-results-${{ matrix.device }}
path: allure-results
- name: download history of previous run
continue-on-error: true
run: |
LAST_RUN_ID=$(aws s3api head-object --bucket openwifi-allure-reports --key interop-regression/${{ matrix.device }}/latest/index.html | jq -r .Metadata.latest)
aws s3 cp --recursive s3://openwifi-allure-reports/interop-regression/${{ matrix.device }}/$LAST_RUN_ID/history history
- name: generate Allure report
uses: ./.github/actions/generate-allure-report
with:
results_path: ./allure-results
history_path: ./history
additional_metadata: |
Device=${{ matrix.device }}
- name: upload Allure report as artifact
uses: actions/upload-artifact@v2
with:
name: allure-report-${{ matrix.device }}
path: allure-report
# doing this to be able to aggregate multiple reports together later on
- name: copy results into report
run: cp -r allure-results allure-report/results
- name: upload to S3
if: github.ref == 'refs/heads/master' && needs.vars.outputs.marker_overwrite == ''
uses: ./.github/actions/allure-report-to-s3
with:
test_type: interop-regression
testbed: ${{ matrix.device }}
report_path: allure-report
s3_access_key_id: ${{ secrets.ALLURE_S3_ACCESS_KEY_ID }}
s3_access_key_secret: ${{ secrets.ALLURE_S3_ACCESS_KEY_SECRET }}
cleanup:
needs: [test-pixel-4, test-galaxy-s20, test-galaxy-s10, test-galaxy-s9]
runs-on: ubuntu-latest
if: always()
steps:
- uses: actions/checkout@v2
- name: cleanup Docker image
uses: ./.github/actions/cleanup-docker
with:
registry_user: wlan-testing-cicd
registry_password: ${{ secrets.DOCKER_USER_PASSWORD }}

View File

@@ -199,7 +199,7 @@ def setup_vlan():
@pytest.fixture(scope="class")
def setup_profiles(request, setup_controller, testbed, get_equipment_ref, fixtures_ver, skip_lf, get_openflow,
def setup_profiles(request, setup_controller, testbed, get_equipment_ref, fixtures_ver, skip_lf, get_openflow, run_lf,
instantiate_profile, get_markers, create_lanforge_chamberview_dut, lf_tools,
get_security_flags, get_configuration, radius_info, get_apnos, radius_accounting_info):
@@ -232,9 +232,9 @@ def setup_profiles(request, setup_controller, testbed, get_equipment_ref, fixtur
instantiate_profile,
get_markers, create_lanforge_chamberview_dut, lf_tools,
get_security_flags, get_configuration, radius_info, get_apnos,
radius_accounting_info, skip_lf=skip_lf, open_flow=get_openflow)
radius_accounting_info, skip_lf=skip_lf, open_flow=get_openflow, run_lf=run_lf)
print("sleeping for 120 sec.")
time.sleep(120)
time.sleep(180)
print("Done sleeping")
yield return_var
@@ -292,6 +292,13 @@ def pytest_runtest_makereport(item, call):
testCaseErrorMsg = []
testCaseReportURL = []
if os.environ.get('PYTEST_CURRENT_TEST') is not None:
if (str(os.environ.get('PYTEST_CURRENT_TEST').split(':')[-1].split(' ')[0]).strip()).startswith("test_unique"):
return 0
# if os.environ.get('PYTEST_CURRENT_TEST') is not None and ((os.environ.get('PYTEST_CURRENT_TEST').split(':')[-1].split(' ')[0]).strip()).startswith("test_unique_ssid"):
# return 0;
if result.when == 'call':
item.session.results[item] = result
@@ -383,7 +390,7 @@ def pytest_sessionfinish(session, exitstatus):
except Exception as e:
pass
print('------------------------------------------------------------------\n\n\n\n')
print('\n------------------------------------------------------------------\n\n\n\n')
@pytest.fixture(scope="function")
@@ -682,6 +689,8 @@ def is_device_available(request, model):
print("The device is currently allocated to:" + allocated_to)
return False
# Checks whether the device is available or not.If the device is not available rechecks depending upon the
# Checks whether the device is available or not.If the device is not available rechecks depending upon the
# 'timerValue' and 'timerThreshold' values.With the current parameters it will check after:10,20,40,80 mins.
def is_device_Available_timeout(request, model):
@@ -706,3 +715,15 @@ def is_device_Available_timeout(request, model):
return True
else:
return True
def get_device_attribuites(request, model, attribute):
try:
responseXml = response_device(request, model)
except:
print("Unable to get response.")
raise Exception("Unable to get response.")
try:
attribute_value = get_attribute_device(responseXml, str(attribute))
except:
attribute_value = False
return attribute_value

View File

@@ -16,8 +16,8 @@ import allure
if 'perfecto_libs' not in sys.path:
sys.path.append(f'../libs/perfecto_libs')
# pytestmark = [pytest.mark.sanity, pytest.mark.interop, pytest.mark.android, pytest.mark.interop_and, pytest.mark.openRoaming, pytest.mark.bridge]
pytestmark = [pytest.mark.openRoaming]
pytestmark = [pytest.mark.sanity, pytest.mark.interop, pytest.mark.android, pytest.mark.interop_and, pytest.mark.openRoaming, pytest.mark.bridge]
# pytestmark = [pytest.mark.openRoaming]
from android_lib import closeApp, set_APconnMobileDevice_android, verify_APconnMobileDevice_Android, deleteOpenRoamingInstalledProfile, downloadInstallOpenRoamingProfile, verifyUploadDownloadSpeed_android, Toggle_AirplaneMode_android, ForgetWifiConnection, openApp

View File

@@ -27,8 +27,8 @@ import allure
if 'perfecto_libs' not in sys.path:
sys.path.append(f'../libs/perfecto_libs')
# pytestmark = [pytest.mark.sanity, pytest.mark.interop, pytest.mark.interop_ios, pytest.mark.ios, pytest.mark.openRoaming, pytest.mark.bridge]
pytestmark = [pytest.mark.openRoaming]
pytestmark = [pytest.mark.sanity, pytest.mark.interop, pytest.mark.interop_ios, pytest.mark.ios, pytest.mark.openRoaming, pytest.mark.bridge]
# pytestmark = [pytest.mark.openRoaming]
from iOS_lib import closeApp, openApp, ForgetProfileWifiConnection, deleteOpenRoamingInstalledProfile, verifyUploadDownloadSpeediOS, downloadInstallOpenRoamingProfile, ForgetWifiConnection, Toggle_AirplaneMode_iOS, set_APconnMobileDevice_iOS, verify_APconnMobileDevice_iOS, Toggle_WifiMode_iOS, tearDown

View File

@@ -28,8 +28,8 @@ import allure
if 'perfecto_libs' not in sys.path:
sys.path.append(f'../libs/perfecto_libs')
# pytestmark = [pytest.mark.sanity, pytest.mark.interop, pytest.mark.interop_ios, pytest.mark.ios, pytest.mark.openRoaming, pytest.mark.nat]
pytestmark = [pytest.mark.openRoaming]
pytestmark = [pytest.mark.sanity, pytest.mark.interop, pytest.mark.interop_ios, pytest.mark.ios, pytest.mark.openRoaming, pytest.mark.nat]
# pytestmark = [pytest.mark.openRoaming]
from iOS_lib import closeApp, openApp, ForgetProfileWifiConnection, deleteOpenRoamingInstalledProfile, verifyUploadDownloadSpeediOS, downloadInstallOpenRoamingProfile, ForgetWifiConnection, Toggle_AirplaneMode_iOS, set_APconnMobileDevice_iOS, verify_APconnMobileDevice_iOS, Toggle_WifiMode_iOS, tearDown

View File

@@ -27,8 +27,8 @@ import allure
if 'perfecto_libs' not in sys.path:
sys.path.append(f'../libs/perfecto_libs')
# pytestmark = [pytest.mark.sanity, pytest.mark.interop, pytest.mark.interop_ios, pytest.mark.ios, pytest.mark.openRoaming, pytest.mark.vlan]
pytestmark = [pytest.mark.openRoaming]
pytestmark = [pytest.mark.sanity, pytest.mark.interop, pytest.mark.interop_ios, pytest.mark.ios, pytest.mark.openRoaming, pytest.mark.vlan]
# pytestmark = [pytest.mark.openRoaming]
from iOS_lib import closeApp, openApp, ForgetProfileWifiConnection, deleteOpenRoamingInstalledProfile, verifyUploadDownloadSpeediOS, downloadInstallOpenRoamingProfile, ForgetWifiConnection, Toggle_AirplaneMode_iOS, set_APconnMobileDevice_iOS, verify_APconnMobileDevice_iOS, Toggle_WifiMode_iOS, tearDown

View File

@@ -38,12 +38,18 @@ setup_params_enterprise = {
"rf": {},
"radius": True
}
class TestUniqueSSIDBridgeAnd(object):
@pytest.mark.unique_ssid_enterprise_bridge_and
def test_unique_ssid_bridge_and(self):
for sec_modes in setup_params_enterprise['ssid_modes'].keys():
for i in range(len(setup_params_enterprise['ssid_modes'][sec_modes])):
N = 3
rand_string = (''.join(random.choices(string.ascii_uppercase +
string.digits, k=N))) + str(int(time.time_ns()) % 10000)
setup_params_enterprise['ssid_modes'][sec_modes][i]['ssid_name'] = setup_params_enterprise['ssid_modes'][sec_modes][i]['ssid_name'] + "_"+ rand_string
setup_params_enterprise['ssid_modes'][sec_modes][i]['ssid_name'] = \
setup_params_enterprise['ssid_modes'][sec_modes][i]['ssid_name'] + "_" + rand_string
assert True
@allure.suite(suite_name="interop sanity")
@allure.sub_suite(sub_suite_name="Bridge Mode EAP Client Connect : Suite-A")

View File

@@ -38,12 +38,25 @@ setup_params_general = {
"radius": False
}
class TestUniqueSSIDGeneralBridgeAnd(object):
@pytest.mark.unique_ssid_general_one_bridge_and
def test_unique_ssid_general_one_bridge_and(self):
for sec_modes in setup_params_general['ssid_modes'].keys():
for i in range(len(setup_params_general['ssid_modes'][sec_modes])):
N = 3
rand_string = (''.join(random.choices(string.ascii_uppercase +
string.digits, k=N))) + str(int(time.time_ns()) % 10000)
setup_params_general['ssid_modes'][sec_modes][i]['ssid_name'] = setup_params_general['ssid_modes'][sec_modes][i]['ssid_name'] + "_"+ rand_string
setup_params_general['ssid_modes'][sec_modes][i]['ssid_name'] = \
setup_params_general['ssid_modes'][sec_modes][i]['ssid_name'] + "_" + rand_string
assert True
# for sec_modes in setup_params_general['ssid_modes'].keys():
# for i in range(len(setup_params_general['ssid_modes'][sec_modes])):
# N = 3
# rand_string = (''.join(random.choices(string.ascii_uppercase +
# string.digits, k=N)))+str(int(time.time_ns())%10000)
# setup_params_general['ssid_modes'][sec_modes][i]['ssid_name'] = setup_params_general['ssid_modes'][sec_modes][i]['ssid_name'] + "_"+ rand_string
@allure.suite(suite_name="interop sanity")
@allure.sub_suite(sub_suite_name="Bridge Mode Client Connect : Suite-A")
@@ -305,12 +318,26 @@ setup_params_general_two = {
"radius": False
}
class TestUniqueSSIDGeneralTwoBridgeAnd(object):
@pytest.mark.unique_ssid_general_two_bridge_and
def test_unique_ssid_general_two_bridge_and(self):
for sec_modes in setup_params_general_two['ssid_modes'].keys():
for i in range(len(setup_params_general_two['ssid_modes'][sec_modes])):
N = 2
N = 3
rand_string = (''.join(random.choices(string.ascii_uppercase +
string.digits, k=N))) + str(int(time.time_ns()) % 10000)
setup_params_general_two['ssid_modes'][sec_modes][i]['ssid_name'] = setup_params_general_two['ssid_modes'][sec_modes][i]['ssid_name'].replace("ssid_","") + "_"+ rand_string
setup_params_general_two['ssid_modes'][sec_modes][i]['ssid_name'] = \
setup_params_general_two['ssid_modes'][sec_modes][i]['ssid_name'] + "_" + rand_string
assert True
# for sec_modes in setup_params_general_two['ssid_modes'].keys():
# for i in range(len(setup_params_general_two['ssid_modes'][sec_modes])):
# N = 2
# rand_string = (''.join(random.choices(string.ascii_uppercase +
# string.digits, k=N)))+str(int(time.time_ns())%10000)
# setup_params_general_two['ssid_modes'][sec_modes][i]['ssid_name'] = setup_params_general_two['ssid_modes'][sec_modes][i]['ssid_name'].replace("ssid_","") + "_"+ rand_string
@allure.suite(suite_name="interop sanity")
@allure.sub_suite(sub_suite_name="Bridge Mode Client Connect : Suite-B")

View File

@@ -42,12 +42,25 @@ setup_params_enterprise = {
"radius": True
}
class TestUniqueSSIDEnterpriseBridgeIOS(object):
@pytest.mark.unique_ssid_enterprise_bridge_ios
def test_unique_ssid_enterprise_bridge_ios(self):
for sec_modes in setup_params_enterprise['ssid_modes'].keys():
for i in range(len(setup_params_enterprise['ssid_modes'][sec_modes])):
N = 3
rand_string = (''.join(random.choices(string.ascii_uppercase +
string.digits, k=N))) + str(int(time.time_ns()) % 10000)
setup_params_enterprise['ssid_modes'][sec_modes][i]['ssid_name'] = setup_params_enterprise['ssid_modes'][sec_modes][i]['ssid_name'] + "_"+ rand_string
setup_params_enterprise['ssid_modes'][sec_modes][i]['ssid_name'] = \
setup_params_enterprise['ssid_modes'][sec_modes][i]['ssid_name'] + "_" + rand_string
assert True
# for sec_modes in setup_params_enterprise['ssid_modes'].keys():
# for i in range(len(setup_params_enterprise['ssid_modes'][sec_modes])):
# N = 3
# rand_string = (''.join(random.choices(string.ascii_uppercase +
# string.digits, k=N)))+str(int(time.time_ns())%10000)
# setup_params_enterprise['ssid_modes'][sec_modes][i]['ssid_name'] = setup_params_enterprise['ssid_modes'][sec_modes][i]['ssid_name'] + "_"+ rand_string
@allure.suite(suite_name="interop sanity")
@allure.sub_suite(sub_suite_name="Bridge Mode EAP Client Connect : Suite-A")

View File

@@ -40,12 +40,26 @@ setup_params_general = {
"rf": {},
"radius": False
}
class TestUniqueSSIDGeneralOneBridgeIOS(object):
@pytest.mark.unique_ssid_general_one_bridge_ios
def test_unique_ssid_general_one_bridge_ios(self):
for sec_modes in setup_params_general['ssid_modes'].keys():
for i in range(len(setup_params_general['ssid_modes'][sec_modes])):
N = 3
rand_string = (''.join(random.choices(string.ascii_uppercase +
string.digits, k=N))) + str(int(time.time_ns()) % 10000)
setup_params_general['ssid_modes'][sec_modes][i]['ssid_name'] = setup_params_general['ssid_modes'][sec_modes][i]['ssid_name'] + "_"+ rand_string
setup_params_general['ssid_modes'][sec_modes][i]['ssid_name'] = \
setup_params_general['ssid_modes'][sec_modes][i]['ssid_name'] + "_" + rand_string
assert True
# for sec_modes in setup_params_general['ssid_modes'].keys():
# for i in range(len(setup_params_general['ssid_modes'][sec_modes])):
# N = 3
# rand_string = (''.join(random.choices(string.ascii_uppercase +
# string.digits, k=N)))+str(int(time.time_ns())%10000)
# setup_params_general['ssid_modes'][sec_modes][i]['ssid_name'] = setup_params_general['ssid_modes'][sec_modes][i]['ssid_name'] + "_"+ rand_string
@allure.suite(suite_name="interop sanity")
@allure.sub_suite(sub_suite_name="Bridge Mode Client Connect : Suite-A")
@@ -296,12 +310,26 @@ setup_params_general_two = {
"rf": {},
"radius": False
}
class TestUniqueSSIDGeneralTwoBridgeios(object):
@pytest.mark.unique_ssid_general_two_bridge_ios
def test_unique_ssid_general_two_bridge_ios(self):
for sec_modes in setup_params_general_two['ssid_modes'].keys():
for i in range(len(setup_params_general_two['ssid_modes'][sec_modes])):
N = 2
N = 3
rand_string = (''.join(random.choices(string.ascii_uppercase +
string.digits, k=N))) + str(int(time.time_ns()) % 10000)
setup_params_general_two['ssid_modes'][sec_modes][i]['ssid_name'] = setup_params_general_two['ssid_modes'][sec_modes][i]['ssid_name'].replace("ssid_","") + "_"+ rand_string
setup_params_general_two['ssid_modes'][sec_modes][i]['ssid_name'] = \
setup_params_general_two['ssid_modes'][sec_modes][i]['ssid_name'] + "_" + rand_string
assert True
# for sec_modes in setup_params_general_two['ssid_modes'].keys():
# for i in range(len(setup_params_general_two['ssid_modes'][sec_modes])):
# N = 2
# rand_string = (''.join(random.choices(string.ascii_uppercase +
# string.digits, k=N)))+str(int(time.time_ns())%10000)
# setup_params_general_two['ssid_modes'][sec_modes][i]['ssid_name'] = setup_params_general_two['ssid_modes'][sec_modes][i]['ssid_name'].replace("ssid_","") + "_"+ rand_string
@allure.suite(suite_name="interop sanity")
@allure.sub_suite(sub_suite_name="Bridge Mode Client Connect : Suite-B")

View File

@@ -17,10 +17,11 @@ import allure
if 'perfecto_libs' not in sys.path:
sys.path.append(f'../libs/perfecto_libs')
pytestmark = [pytest.mark.sanity, pytest.mark.interop, pytest.mark.android, pytest.mark.interop_and, pytest.mark.client_connect
,pytest.mark.interop_uc_sanity, pytest.mark.nat, pytest.mark.enterprise]
pytestmark = [pytest.mark.sanity, pytest.mark.interop, pytest.mark.android, pytest.mark.interop_and,
pytest.mark.client_connect, pytest.mark.interop_uc_sanity, pytest.mark.nat, pytest.mark.enterprise]
from android_lib import closeApp, set_APconnMobileDevice_android, Toggle_AirplaneMode_android, ForgetWifiConnection, openApp, get_ip_address_eap_and
from android_lib import closeApp, set_APconnMobileDevice_android, Toggle_AirplaneMode_android, ForgetWifiConnection, \
openApp, get_ip_address_eap_and
setup_params_enterprise = {
"mode": "NAT",
@@ -38,12 +39,20 @@ setup_params_enterprise = {
"rf": {},
"radius": True
}
class TestUniqueSSIDEnterpriseNatAnd(object):
@pytest.mark.unique_ssid_enterprise_nat_and
def test_unique_ssid_enterprise_nat_and(self):
for sec_modes in setup_params_enterprise['ssid_modes'].keys():
for i in range(len(setup_params_enterprise['ssid_modes'][sec_modes])):
N = 3
rand_string = (''.join(random.choices(string.ascii_uppercase +
string.digits, k=N))) + str(int(time.time_ns()) % 10000)
setup_params_enterprise['ssid_modes'][sec_modes][i]['ssid_name'] = setup_params_enterprise['ssid_modes'][sec_modes][i]['ssid_name'] + "_"+ rand_string
setup_params_enterprise['ssid_modes'][sec_modes][i]['ssid_name'] = \
setup_params_enterprise['ssid_modes'][sec_modes][i]['ssid_name'] + "_" + rand_string
assert True
@allure.suite(suite_name="interop sanity")
@allure.sub_suite(sub_suite_name="Nat Mode EAP Client Connectivity : Suite-A")
@@ -83,7 +92,8 @@ class TestNatModeEnterpriseTTLSSuiteA(object):
connData = get_ToggleAirplaneMode_data
# Set Wifi/AP Mode
ip, is_internet = get_ip_address_eap_and(request, ssidName, identity, ttls_passwd, setup_perfectoMobile_android, connData)
ip, is_internet = get_ip_address_eap_and(request, ssidName, identity, ttls_passwd, setup_perfectoMobile_android,
connData)
if ip:
if is_internet:

View File

@@ -37,12 +37,19 @@ setup_params_general = {
"rf": {},
"radius": False
}
class TestUniqueSSIDGeneralOneNatIos(object):
@pytest.mark.unique_ssid_general_one_nat_ios
def test_unique_ssid_general_one_nat_ios(self):
for sec_modes in setup_params_general['ssid_modes'].keys():
for i in range(len(setup_params_general['ssid_modes'][sec_modes])):
N = 3
rand_string = (''.join(random.choices(string.ascii_uppercase +
string.digits, k=N))) + str(int(time.time_ns()) % 10000)
setup_params_general['ssid_modes'][sec_modes][i]['ssid_name'] = setup_params_general['ssid_modes'][sec_modes][i]['ssid_name'] + "_"+ rand_string
setup_params_general['ssid_modes'][sec_modes][i]['ssid_name'] = \
setup_params_general['ssid_modes'][sec_modes][i]['ssid_name'] + "_" + rand_string
assert True
@allure.suite(suite_name="interop sanity")
@@ -61,7 +68,6 @@ class TestNatModeConnectSuiteOne(object):
pytest -m "client_connect and nat and InteropsuiteA"
"""
@allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-4510", name="WIFI-4510")
@pytest.mark.fiveg
@pytest.mark.wpa2_personal
@@ -301,12 +307,20 @@ setup_params_general_two = {
"radius": False
}
class TestUniqueSSIDGeneralTwoNatAND(object):
@pytest.mark.unique_ssid_general_two_nat_and
def test_unique_ssid_general_two_nat_and(self):
for sec_modes in setup_params_general_two['ssid_modes'].keys():
for i in range(len(setup_params_general_two['ssid_modes'][sec_modes])):
N = 3
rand_string = (''.join(random.choices(string.ascii_uppercase +
string.digits, k=N))) + str(int(time.time_ns()) % 10000)
setup_params_general_two['ssid_modes'][sec_modes][i]['ssid_name'] = setup_params_general_two['ssid_modes'][sec_modes][i]['ssid_name'] + "_"+ rand_string
setup_params_general_two['ssid_modes'][sec_modes][i]['ssid_name'] = \
setup_params_general_two['ssid_modes'][sec_modes][i]['ssid_name'] + "_" + rand_string
assert True
@allure.suite(suite_name="interop sanity")
@allure.sub_suite(sub_suite_name="NAT Mode Client Connect : Suite-B")

View File

@@ -41,12 +41,18 @@ setup_params_enterprise = {
"rf": {},
"radius": True
}
class TestUniqueSSIDEnterpriseNatIOS(object):
@pytest.mark.unique_ssid_enterprise_nat_ios
def test_unique_ssid_enterprise_nat_ios(self):
for sec_modes in setup_params_enterprise['ssid_modes'].keys():
for i in range(len(setup_params_enterprise['ssid_modes'][sec_modes])):
N = 3
rand_string = (''.join(random.choices(string.ascii_uppercase +
string.digits, k=N))) + str(int(time.time_ns()) % 10000)
setup_params_enterprise['ssid_modes'][sec_modes][i]['ssid_name'] = setup_params_enterprise['ssid_modes'][sec_modes][i]['ssid_name'] + "_"+ rand_string
setup_params_enterprise['ssid_modes'][sec_modes][i]['ssid_name'] = \
setup_params_enterprise['ssid_modes'][sec_modes][i]['ssid_name'] + "_" + rand_string
assert True
@allure.suite(suite_name="interop sanity")
@allure.sub_suite(sub_suite_name="Nat Mode EAP Client Connect : Suite-A")

View File

@@ -40,14 +40,18 @@ setup_params_general = {
"rf": {},
"radius": False
}
class TestUniqueSSIDGeneralOneNATiOS(object):
@pytest.mark.unique_ssid_general_one_nat_ios
def test_unique_ssid_general_one_nat_ios(self):
for sec_modes in setup_params_general['ssid_modes'].keys():
for i in range(len(setup_params_general['ssid_modes'][sec_modes])):
N = 3
rand_string = (''.join(random.choices(string.ascii_uppercase +
string.digits, k=N))) + str(int(time.time_ns()) % 10000)
setup_params_general['ssid_modes'][sec_modes][i]['ssid_name'] = setup_params_general['ssid_modes'][sec_modes][i]['ssid_name'] + "_"+ rand_string
setup_params_general['ssid_modes'][sec_modes][i]['ssid_name'] = \
setup_params_general['ssid_modes'][sec_modes][i]['ssid_name'] + "_" + rand_string
assert True
@allure.suite(suite_name="interop sanity")
@allure.sub_suite(sub_suite_name="Nat Mode Client Connect : Suite-A")
@@ -299,12 +303,19 @@ setup_params_general_two = {
"radius": False
}
class TestUniqueSSIDGeneralTwoNAtiOS(object):
@pytest.mark.unique_ssid_general_two_nat_ios
def test_unique_ssid_general_two_nat_ios(self):
for sec_modes in setup_params_general_two['ssid_modes'].keys():
for i in range(len(setup_params_general_two['ssid_modes'][sec_modes])):
N = 3
rand_string = (''.join(random.choices(string.ascii_uppercase +
string.digits, k=N))) + str(int(time.time_ns()) % 10000)
setup_params_general_two['ssid_modes'][sec_modes][i]['ssid_name'] = setup_params_general_two['ssid_modes'][sec_modes][i]['ssid_name'] + "_"+ rand_string
setup_params_general_two['ssid_modes'][sec_modes][i]['ssid_name'] = \
setup_params_general_two['ssid_modes'][sec_modes][i]['ssid_name'] + "_" + rand_string
assert True
@allure.suite(suite_name="interop sanity")
@allure.sub_suite(sub_suite_name="Nat Mode Client Connect : Suite-B")

View File

@@ -38,12 +38,28 @@ setup_params_enterprise = {
"rf": {},
"radius": True
}
class TestUniqueSSIDEnterpriseVLANAND(object):
@pytest.mark.unique_ssid_enterprise_vlan_and
def test_unique_ssid_enterprise_vlan_and(self):
for sec_modes in setup_params_enterprise['ssid_modes'].keys():
for i in range(len(setup_params_enterprise['ssid_modes'][sec_modes])):
N = 3
rand_string = (''.join(random.choices(string.ascii_uppercase +
string.digits, k=N))) + str(int(time.time_ns()) % 10000)
setup_params_enterprise['ssid_modes'][sec_modes][i]['ssid_name'] = setup_params_enterprise['ssid_modes'][sec_modes][i]['ssid_name'] + "_"+ rand_string
setup_params_enterprise['ssid_modes'][sec_modes][i]['ssid_name'] = \
setup_params_enterprise['ssid_modes'][sec_modes][i]['ssid_name'] + "_" + rand_string
assert True
# for sec_modes in setup_params_enterprise['ssid_modes'].keys():
# for i in range(len(setup_params_enterprise['ssid_modes'][sec_modes])):
# N = 3
# rand_string = (''.join(random.choices(string.ascii_uppercase +
# string.digits, k=N)))+str(int(time.time_ns())%10000)
# setup_params_enterprise['ssid_modes'][sec_modes][i]['ssid_name'] = setup_params_enterprise['ssid_modes'][sec_modes][i]['ssid_name'] + "_"+ rand_string
@allure.suite(suite_name="interop sanity")
@allure.sub_suite(sub_suite_name="Vlan Mode EAP Client Connect : Suite-A")

View File

@@ -37,12 +37,26 @@ setup_params_general = {
"rf": {},
"radius": False
}
class TestUniqueSSIDGeneralOneVLANAND(object):
@pytest.mark.unique_ssid_general_one_vlan_and
def test_unique_ssid_general_one_vlan(self):
for sec_modes in setup_params_general['ssid_modes'].keys():
for i in range(len(setup_params_general['ssid_modes'][sec_modes])):
N = 3
rand_string = (''.join(random.choices(string.ascii_uppercase +
string.digits, k=N))) + str(int(time.time_ns()) % 10000)
setup_params_general['ssid_modes'][sec_modes][i]['ssid_name'] = setup_params_general['ssid_modes'][sec_modes][i]['ssid_name'] + "_"+ rand_string
setup_params_general['ssid_modes'][sec_modes][i]['ssid_name'] = \
setup_params_general['ssid_modes'][sec_modes][i]['ssid_name'] + "_" + rand_string
assert True
# for sec_modes in setup_params_general['ssid_modes'].keys():
# for i in range(len(setup_params_general['ssid_modes'][sec_modes])):
# N = 3
# rand_string = (''.join(random.choices(string.ascii_uppercase +
# string.digits, k=N)))+str(int(time.time_ns())%10000)
# setup_params_general['ssid_modes'][sec_modes][i]['ssid_name'] = setup_params_general['ssid_modes'][sec_modes][i]['ssid_name'] + "_"+ rand_string
@allure.suite(suite_name="interop sanity")
@allure.sub_suite(sub_suite_name="Vlan Mode Client Connect : Suite-A")
@@ -289,12 +303,26 @@ setup_params_general_two = {
"rf": {},
"radius": False
}
class TestUniqueSSIDGeneralTwoVLANAND(object):
@pytest.mark.unique_ssid_general_two_vlan_and
def test_unique_ssid_general_two_vlan_And(self):
for sec_modes in setup_params_general_two['ssid_modes'].keys():
for i in range(len(setup_params_general_two['ssid_modes'][sec_modes])):
N = 2
N = 3
rand_string = (''.join(random.choices(string.ascii_uppercase +
string.digits, k=N))) + str(int(time.time_ns()) % 10000)
setup_params_general_two['ssid_modes'][sec_modes][i]['ssid_name'] = setup_params_general_two['ssid_modes'][sec_modes][i]['ssid_name'].replace("ssid_","") + "_"+ rand_string
setup_params_general_two['ssid_modes'][sec_modes][i]['ssid_name'] = \
setup_params_general_two['ssid_modes'][sec_modes][i]['ssid_name'] + "_" + rand_string
assert True
# for sec_modes in setup_params_general_two['ssid_modes'].keys():
# for i in range(len(setup_params_general_two['ssid_modes'][sec_modes])):
# N = 2
# rand_string = (''.join(random.choices(string.ascii_uppercase +
# string.digits, k=N)))+str(int(time.time_ns())%10000)
# setup_params_general_two['ssid_modes'][sec_modes][i]['ssid_name'] = setup_params_general_two['ssid_modes'][sec_modes][i]['ssid_name'].replace("ssid_","") + "_"+ rand_string
@allure.suite(suite_name="interop sanity")
@allure.sub_suite(sub_suite_name="Vlan Mode Client Connect : Suite-B")

View File

@@ -29,24 +29,37 @@ setup_params_enterprise = {
"mode": "VLAN",
"ssid_modes": {
"wpa2_enterprise": [
{"ssid_name": "ssid_wpa2_eap_2g", "appliedRadios": ["2G"], "vlan": 100},
{"ssid_name": "ssid_wpa2_eap_5g", "appliedRadios": ["5G"], "vlan": 100}],
{"ssid_name": "ssid_wpa2_eap_2g_vlan", "appliedRadios": ["2G"], "vlan": 100},
{"ssid_name": "ssid_wpa2_eap_5g_vlan", "appliedRadios": ["5G"], "vlan": 100}],
"wpa3_enterprise": [
{"ssid_name": "ssid_wpa3_eap_2g", "appliedRadios": ["2G"], "vlan": 100},
{"ssid_name": "ssid_wpa3_eap_5g", "appliedRadios": ["5G"], "vlan": 100}],
{"ssid_name": "ssid_wpa3_eap_2g_vlan", "appliedRadios": ["2G"], "vlan": 100},
{"ssid_name": "ssid_wpa3_eap_5g_vlan", "appliedRadios": ["5G"], "vlan": 100}],
"wpa_enterprise": [
{"ssid_name": "ssid_wpa_eap_2g", "appliedRadios": ["2G"], "vlan": 100},
{"ssid_name": "ssid_wpa_eap_5g", "appliedRadios": ["5G"], "vlan": 100}]},
{"ssid_name": "ssid_wpa_eap_2g_vlan", "appliedRadios": ["2G"], "vlan": 100},
{"ssid_name": "ssid_wpa_eap_5g_vlan", "appliedRadios": ["5G"], "vlan": 100}]},
"rf": {},
"radius": True
}
class TestUniqueSSIDEnterpriseVLANiOS(object):
@pytest.mark.unique_ssid_enterprise_vlan_ios
def test_unique_ssid_enterprise_vlan_ios(self):
for sec_modes in setup_params_enterprise['ssid_modes'].keys():
for i in range(len(setup_params_enterprise['ssid_modes'][sec_modes])):
N = 3
rand_string = (''.join(random.choices(string.ascii_uppercase +
string.digits, k=N))) + str(int(time.time_ns()) % 10000)
setup_params_enterprise['ssid_modes'][sec_modes][i]['ssid_name'] = setup_params_enterprise['ssid_modes'][sec_modes][i]['ssid_name'] + "_"+ rand_string
setup_params_enterprise['ssid_modes'][sec_modes][i]['ssid_name'] = \
setup_params_enterprise['ssid_modes'][sec_modes][i]['ssid_name'] + "_" + rand_string
assert True
# for sec_modes in setup_params_enterprise['ssid_modes'].keys():
# for i in range(len(setup_params_enterprise['ssid_modes'][sec_modes])):
# N = 3
# rand_string = (''.join(random.choices(string.ascii_uppercase +
# string.digits, k=N)))+str(int(time.time_ns())%10000)
# setup_params_enterprise['ssid_modes'][sec_modes][i]['ssid_name'] = setup_params_enterprise['ssid_modes'][sec_modes][i]['ssid_name'] + "_"+ rand_string
@allure.suite(suite_name="interop sanity")
@allure.sub_suite(sub_suite_name="Vlan Mode EAP Client Connect : Suite-A")

View File

@@ -39,12 +39,25 @@ setup_params_general = {
"rf": {},
"radius": False
}
class TestUniqueSSIDGeneralOneVLANiOS(object):
@pytest.mark.unique_ssid_general_one_vlan_ios
def test_unique_ssid_general_one_vlan_ios(self):
for sec_modes in setup_params_general['ssid_modes'].keys():
for i in range(len(setup_params_general['ssid_modes'][sec_modes])):
N = 3
rand_string = (''.join(random.choices(string.ascii_uppercase +
string.digits, k=N))) + str(int(time.time_ns()) % 10000)
setup_params_general['ssid_modes'][sec_modes][i]['ssid_name'] = setup_params_general['ssid_modes'][sec_modes][i]['ssid_name'] + "_"+ rand_string
setup_params_general['ssid_modes'][sec_modes][i]['ssid_name'] = \
setup_params_general['ssid_modes'][sec_modes][i]['ssid_name'] + "_" + rand_string
assert True
# for sec_modes in setup_params_general['ssid_modes'].keys():
# for i in range(len(setup_params_general['ssid_modes'][sec_modes])):
# N = 3
# rand_string = (''.join(random.choices(string.ascii_uppercase +
# string.digits, k=N)))+str(int(time.time_ns())%10000)
# setup_params_general['ssid_modes'][sec_modes][i]['ssid_name'] = setup_params_general['ssid_modes'][sec_modes][i]['ssid_name'] + "_"+ rand_string
@allure.suite(suite_name="interop sanity")
@allure.sub_suite(sub_suite_name="Vlan Mode Client Connect : Suite-A")
@@ -286,12 +299,27 @@ setup_params_general_two = {
"rf": {},
"radius": False
}
class TestUniqueSSIDGeneralTwoVLANiOS(object):
@pytest.mark.unique_ssid_general_two_vlan_ios
def test_unique_ssid_general_two_vlan_ios(self):
for sec_modes in setup_params_general_two['ssid_modes'].keys():
for i in range(len(setup_params_general_two['ssid_modes'][sec_modes])):
N = 2
N = 3
rand_string = (''.join(random.choices(string.ascii_uppercase +
string.digits, k=N))) + str(int(time.time_ns()) % 10000)
setup_params_general_two['ssid_modes'][sec_modes][i]['ssid_name'] = setup_params_general_two['ssid_modes'][sec_modes][i]['ssid_name'].replace("ssid_","") + "_"+ rand_string
setup_params_general_two['ssid_modes'][sec_modes][i]['ssid_name'] = \
setup_params_general_two['ssid_modes'][sec_modes][i]['ssid_name'] + "_" + rand_string
assert True
# for sec_modes in setup_params_general_two['ssid_modes'].keys():
# for i in range(len(setup_params_general_two['ssid_modes'][sec_modes])):
# N = 2
# rand_string = (''.join(random.choices(string.ascii_uppercase +
# string.digits, k=N)))+str(int(time.time_ns())%10000)
# setup_params_general_two['ssid_modes'][sec_modes][i]['ssid_name'] = setup_params_general_two['ssid_modes'][sec_modes][i]['ssid_name'].replace("ssid_","") + "_"+ rand_string
@allure.suite(suite_name="interop sanity")
@allure.sub_suite(sub_suite_name="Vlan Mode Client Connect : Suite-B")