diff --git a/.github/actions/generate-allure-report/action.yml b/.github/actions/generate-allure-report/action.yml new file mode 100644 index 000000000..3b37f0e78 --- /dev/null +++ b/.github/actions/generate-allure-report/action.yml @@ -0,0 +1,54 @@ +name: generate Allure report +description: Generates an Allure report from Allure results and includes metadata + +inputs: + results_path: + description: path to the Allure results folder + required: true + history_path: + description: path to the Allure history folder + required: false + allure_version: + description: version of Allure to use + required: false + default: "2.14.0" + report_path: + description: output path of the Allure report folder + required: false + default: ./allure-report + additional_metadata: + description: metadata that will be added to the environment.properties file + required: false + +runs: + using: "composite" + steps: + - name: install Allure CLI tool + shell: bash + run: | + wget https://repo.maven.apache.org/maven2/io/qameta/allure/allure-commandline/${{ inputs.allure_version }}/allure-commandline-${{ inputs.allure_version }}.tgz + tar -xzf allure-commandline-${{ inputs.allure_version }}.tgz + + - name: copy history into results + shell: bash + run: | + if [ -e "${{ inputs.history_path }}" ] ; then + cp -r "${{ inputs.history_path }}" "${{ inputs.results_path }}/history" + fi + + - name: add report metadata + shell: bash + run: | + cat << EOF >> "${{ inputs.results_path }}/environment.properties" + + Tests.CommitId=${{ github.sha }} + CiRun.Id=${{ github.run_id }} + CiRun.Number=${{ github.run_number }} + CiRun.Url=https://github.com/${{github.repository}}/actions/runs/${{github.run_id}} + EOF + + - name: generate Allure report + shell: bash + run: allure-${{ inputs.allure_version }}/bin/allure generate "${{ inputs.results_path }}" -o "${{ inputs.report_path }}" + + diff --git a/.github/workflows/quali.yml b/.github/workflows/quali.yml index 4d3102538..52630020c 100644 --- a/.github/workflows/quali.yml +++ b/.github/workflows/quali.yml @@ -232,7 +232,24 @@ jobs: "osu_nai_shared": "anonymous@ameriband.com", "roaming_oi": [] } + RATE_LIMITING_RADIUS_SERVER_DATA = { + "ip": "18.189.85.200", + "port": 1812, + "secret": "testing123", + "user": "user", + "password": "password", + "pk_password": "whatever" + } + RATE_LIMITING_RADIUS_ACCOUNTING_DATA = { + "ip": "18.189.85.200", + "port": 1813, + "secret": "testing123", + "user": "user", + "password": "password", + "pk_password": "whatever" + } + PASSPOINT_OPERATOR_INFO = { "osen": "Disabled", "domain_name_list": ["telecominfraproject.atlassian.net"], @@ -595,10 +612,6 @@ jobs: fail-fast: false matrix: ${{ fromJson( needs.generate-matrix.outputs.matrix ) }} steps: - - 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 - uses: actions/download-artifact@v2 with: name: allure-results-${{ matrix.ap_model }} @@ -616,22 +629,13 @@ jobs: ref: gh-pages path: reports - - name: copy history into results - run: | - if [ -e "reports/sanity/${{ matrix.ap_model }}/latest" ] ; then - cp -r reports/sanity/${{ matrix.ap_model }}/latest/history/ allure-results/history - fi - - name: add report metadata - run: | - cat << EOF >> allure-results/environment.properties - Ap.Model=${{ matrix.ap_model }} - Tests.CommitId=$(cd wlan-testing && git rev-parse --short HEAD) - CiRun.Id=${{ github.run_id }} - CiRun.Number=${{ github.run_number }} - CiRun.Url=https://github.com/${{github.repository}}/actions/runs/${{github.run_id}} - EOF - name: generate Allure report - run: allure-${{ env.ALLURE_CLI_VERSION }}/bin/allure generate + uses: ./wlan-testing/.github/actions/generate-allure-report + with: + results_path: ./allure-results + history_path: reports/sanity/${{ matrix.ap_model }}/latest/history + additional_metadata: | + Ap.Model=${{ matrix.ap_model }} - name: upload Allure report as artifact uses: actions/upload-artifact@v2 diff --git a/.github/workflows/ucentralgw-dev-deployment.yaml b/.github/workflows/ucentralgw-dev-deployment.yaml index 8cadd6c4b..a9077ba8b 100644 --- a/.github/workflows/ucentralgw-dev-deployment.yaml +++ b/.github/workflows/ucentralgw-dev-deployment.yaml @@ -31,10 +31,10 @@ env: { "namespace": "dev01", "deploy_method": "git", - "chart_version": "v2.4.0-RC6", - "owgw_version": "v2.4.0-RC5", - "owsec_version": "v2.4.0-RC4", - "owfms_version": "v2.4.0-RC4", + "chart_version": "v2.4.0-RC7", + "owgw_version": "v2.4.0-RC6", + "owsec_version": "v2.4.0-RC5", + "owfms_version": "v2.4.0-RC5", "owprov_version": "main", "owgwui_version": "v2.4.0-RC2", "owprovui_version": "main" diff --git a/.github/workflows/ucentralgw-qa-deployment.yaml b/.github/workflows/ucentralgw-qa-deployment.yaml index c931b4906..3eb9abfa5 100644 --- a/.github/workflows/ucentralgw-qa-deployment.yaml +++ b/.github/workflows/ucentralgw-qa-deployment.yaml @@ -31,10 +31,10 @@ env: { "namespace": "qa01", "deploy_method": "git", - "chart_version": "v2.4.0-RC6", - "owgw_version": "v2.4.0-RC5", - "owsec_version": "v2.4.0-RC4", - "owfms_version": "v2.4.0-RC4", + "chart_version": "v2.4.0-RC7", + "owgw_version": "v2.4.0-RC6", + "owsec_version": "v2.4.0-RC5", + "owfms_version": "v2.4.0-RC5", "owprov_version": "main", "owgwui_version": "v2.4.0-RC2", "owprovui_version": "main" diff --git a/libs/controller/controller_2x/controller.py b/libs/controller/controller_2x/controller.py index b5ac4dd99..d3c669fcc 100644 --- a/libs/controller/controller_2x/controller.py +++ b/libs/controller/controller_2x/controller.py @@ -13,7 +13,6 @@ import allure import requests from operator import itemgetter from pathlib import Path -from configuration import open_flow from requests.adapters import HTTPAdapter import logging @@ -171,7 +170,6 @@ class Controller(ConfigureController): def get_device_by_serial_number(self, serial_number=None): uri = self.build_uri("device/" + serial_number) resp = requests.get(uri, headers=self.make_headers(), verify=False, timeout=100) - self.check_response("GET", resp, self.make_headers(), "", uri) device = resp.json() # resp.close()() return device @@ -386,7 +384,7 @@ class UProfileUtility: } self.mode = None - def set_express_wifi(self): + def set_express_wifi(self, open_flow=None): if self.mode == "NAT": self.base_profile_config["interfaces"][0]["services"] = ["lldp", "ssh"] self.base_profile_config["interfaces"][1]["services"] = ["ssh", "lldp", "open-flow"] @@ -602,10 +600,10 @@ if __name__ == '__main__': controller = { 'url': 'https://sec-qa01.cicd.lab.wlan.tip.build:16001', # API base url for the controller 'username': "tip@ucentral.com", - 'password': 'openwifi', + 'password': 'OpenWifi%123', } obj = Controller(controller_data=controller) - print(obj.get_system_fms()) + print(obj.get_device_by_serial_number(serial_number="903cb36ae224")) # fms = FMSUtils(sdk_client=obj) # new = fms.get_firmwares(model='ecw5410') diff --git a/libs/lanforge/lf_tests.py b/libs/lanforge/lf_tests.py index 78d994ae9..52a04f95c 100644 --- a/libs/lanforge/lf_tests.py +++ b/libs/lanforge/lf_tests.py @@ -164,7 +164,7 @@ class RunTest: station_name=[], key_mgmt="WPA-EAP", pairwise="NA", group="NA", wpa_psk="DEFAULT", ttls_passwd="nolastart", ieee80211w=1, - wep_key="NA", ca_cert="NA", eap="TTLS", identity="nolaradius"): + wep_key="NA", ca_cert="NA", eap="TTLS", identity="nolaradius",cleanup=True): self.eap_connect = TTLSTest(host=self.lanforge_ip, port=self.lanforge_port, sta_list=station_name, vap=False, _debug_on=self.debug) @@ -244,7 +244,8 @@ class RunTest: cx_data = cx_data + str(j) + " : " + str(i[j]) + "\n" cx_data = cx_data + "\n" allure.attach(name="cx_data", body=str(cx_data)) - self.eap_connect.cleanup(station_name) + if cleanup: + self.eap_connect.cleanup(station_name) return self.eap_connect.passes() def wifi_capacity(self, mode="BRIDGE", vlan_id=100, batch_size="1,5,10,20,40,64,128", diff --git a/libs/lanforge/lf_tools.py b/libs/lanforge/lf_tools.py index f03e9e897..5db28ff61 100644 --- a/libs/lanforge/lf_tools.py +++ b/libs/lanforge/lf_tools.py @@ -158,7 +158,7 @@ class ChamberView: def Chamber_View(self): if self.delete_old_scenario: - self.CreateChamberview.clean_cv_scenario(type="Network-Connectivity", scenario_name=self.scenario_name) + self.CreateChamberview.clean_cv_scenario(cv_type="Network-Connectivity", scenario_name=self.scenario_name) self.CreateChamberview.setup(create_scenario=self.scenario_name, raw_line=self.raw_line ) diff --git a/libs/perfecto_libs/android_lib.py b/libs/perfecto_libs/android_lib.py index 56d318b3a..c6a39792d 100644 --- a/libs/perfecto_libs/android_lib.py +++ b/libs/perfecto_libs/android_lib.py @@ -1358,15 +1358,15 @@ def get_ip_address_and(request, WifiName, WifiPass, setup_perfectoMobile, connDa print("Forgetting ssid") #------------------------------- Wifi Switch ---------------- - try: - print("clicking on wifi switch") - get_switch_element = driver.find_element_by_xpath( - "//*[@resource-id='com.android.settings:id/switch_widget']") - driver.implicitly_wait(2) - get_switch_element.click() - except: - print("couldn't click on wifi switch") - #allure.attach(name= body=str("couldn't click on wifi switch")) + # try: + # print("clicking on wifi switch") + # get_switch_element = driver.find_element_by_xpath( + # "//*[@resource-id='com.android.settings:id/switch_widget']") + # driver.implicitly_wait(2) + # get_switch_element.click() + # except: + # print("couldn't click on wifi switch") + # #allure.attach(name= body=str("couldn't click on wifi switch")) except: print("Couldn't forget ssid") # closeApp(connData["appPackage-android"], setup_perfectoMobile) @@ -2381,15 +2381,15 @@ def get_ip_address_eap_and(request, WifiName, User, ttls_passwd, setup_perfectoM print("Forgetting ssid") #------------------------------- Wifi Switch ---------------- - try: - print("clicking on wifi switch") - get_switch_element = driver.find_element_by_xpath( - "//*[@resource-id='com.android.settings:id/switch_widget']") - driver.implicitly_wait(2) - get_switch_element.click() - except: - print("couldn't click on wifi switch") - #allure.attach(name= body=str("couldn't click on wifi switch")) + # try: + # print("clicking on wifi switch") + # get_switch_element = driver.find_element_by_xpath( + # "//*[@resource-id='com.android.settings:id/switch_widget']") + # driver.implicitly_wait(2) + # get_switch_element.click() + # except: + # print("couldn't click on wifi switch") + # #allure.attach(name= body=str("couldn't click on wifi switch")) except: print("Couldn't forget ssid") # closeApp(connData["appPackage-android"], setup_perfectoMobile) diff --git a/libs/perfecto_libs/iOS_lib.py b/libs/perfecto_libs/iOS_lib.py index cb8cba523..dc359670b 100644 --- a/libs/perfecto_libs/iOS_lib.py +++ b/libs/perfecto_libs/iOS_lib.py @@ -1121,42 +1121,42 @@ def get_ip_address_ios(request, WifiName, WifiPass, setup_perfectoMobile, connDa print("error on ssid element") # --------------------To Turn on WIFi Switch if already OFF-------------------------------- - try: - get_wifi_switch_element = driver.find_element_by_xpath("//*[@label='Wi-Fi' and @value='1']") - get_wifi_switch_element_text = get_wifi_switch_element.text - print("switch state is : ", get_wifi_switch_element_text) - try: - if get_wifi_switch_element_text == "1" or get_wifi_switch_element_text == 1: - get_wifi_switch_element = driver.find_element_by_xpath("//*[@label='Wi-Fi' and @value='1']") - driver.implicitly_wait(1) - get_wifi_switch_element.click() - driver.implicitly_wait(1) - i = 0 - for i in range(5): - try: - get_wifi_switch_element = driver.find_element_by_xpath("//*[@label='Wi-Fi' and @value='0']") - get_wifi_switch_element_text = get_wifi_switch_element.text - except: - print("switch is ON") - - if get_wifi_switch_element_text == "0" or get_wifi_switch_element_text == 0: - print("WIFI Switch is OFF") - break - else: - try: - get_wifi_switch_element = driver.find_element_by_xpath( - "//*[@label='Wi-Fi' and @value='1']") - get_wifi_switch_element.click() - get_wifi_switch_element_text = get_wifi_switch_element.text - except: - print("WIFi switch is OFF") - - else: - print("Switch is Still OFF") - except: - pass - except: - print("get_wifi_switch_element is ON") + # try: + # get_wifi_switch_element = driver.find_element_by_xpath("//*[@label='Wi-Fi' and @value='1']") + # get_wifi_switch_element_text = get_wifi_switch_element.text + # print("switch state is : ", get_wifi_switch_element_text) + # try: + # if get_wifi_switch_element_text == "1" or get_wifi_switch_element_text == 1: + # get_wifi_switch_element = driver.find_element_by_xpath("//*[@label='Wi-Fi' and @value='1']") + # driver.implicitly_wait(1) + # get_wifi_switch_element.click() + # driver.implicitly_wait(1) + # i = 0 + # for i in range(5): + # try: + # get_wifi_switch_element = driver.find_element_by_xpath("//*[@label='Wi-Fi' and @value='0']") + # get_wifi_switch_element_text = get_wifi_switch_element.text + # except: + # print("switch is ON") + # + # if get_wifi_switch_element_text == "0" or get_wifi_switch_element_text == 0: + # print("WIFI Switch is OFF") + # break + # else: + # try: + # get_wifi_switch_element = driver.find_element_by_xpath( + # "//*[@label='Wi-Fi' and @value='1']") + # get_wifi_switch_element.click() + # get_wifi_switch_element_text = get_wifi_switch_element.text + # except: + # print("WIFi switch is OFF") + # + # else: + # print("Switch is Still OFF") + # except: + # pass + # except: + # print("get_wifi_switch_element is ON") # --------------------To Turn on WIFi Switch if already OFF-------------------------------- except Exception as e: @@ -1866,42 +1866,42 @@ def get_ip_address_eap_ios(request, WifiName, User, ttls_passwd, setup_perfectoM print("error on ssid element") # --------------------To Turn on WIFi Switch if already OFF-------------------------------- - try: - get_wifi_switch_element = driver.find_element_by_xpath("//*[@label='Wi-Fi' and @value='1']") - get_wifi_switch_element_text = get_wifi_switch_element.text - print("switch state is : ", get_wifi_switch_element_text) - try: - if get_wifi_switch_element_text == "1" or get_wifi_switch_element_text == 1: - get_wifi_switch_element = driver.find_element_by_xpath("//*[@label='Wi-Fi' and @value='1']") - driver.implicitly_wait(1) - get_wifi_switch_element.click() - driver.implicitly_wait(1) - i = 0 - for i in range(5): - try: - get_wifi_switch_element = driver.find_element_by_xpath("//*[@label='Wi-Fi' and @value='0']") - get_wifi_switch_element_text = get_wifi_switch_element.text - except: - print("switch is ON") - - if get_wifi_switch_element_text == "0" or get_wifi_switch_element_text == 0: - print("WIFI Switch is OFF") - break - else: - try: - get_wifi_switch_element = driver.find_element_by_xpath( - "//*[@label='Wi-Fi' and @value='1']") - get_wifi_switch_element.click() - get_wifi_switch_element_text = get_wifi_switch_element.text - except: - print("WIFi switch is OFF") - - else: - print("Switch is Still OFF") - except: - pass - except: - print("get_wifi_switch_element is ON") + # try: + # get_wifi_switch_element = driver.find_element_by_xpath("//*[@label='Wi-Fi' and @value='1']") + # get_wifi_switch_element_text = get_wifi_switch_element.text + # print("switch state is : ", get_wifi_switch_element_text) + # try: + # if get_wifi_switch_element_text == "1" or get_wifi_switch_element_text == 1: + # get_wifi_switch_element = driver.find_element_by_xpath("//*[@label='Wi-Fi' and @value='1']") + # driver.implicitly_wait(1) + # get_wifi_switch_element.click() + # driver.implicitly_wait(1) + # i = 0 + # for i in range(5): + # try: + # get_wifi_switch_element = driver.find_element_by_xpath("//*[@label='Wi-Fi' and @value='0']") + # get_wifi_switch_element_text = get_wifi_switch_element.text + # except: + # print("switch is ON") + # + # if get_wifi_switch_element_text == "0" or get_wifi_switch_element_text == 0: + # print("WIFI Switch is OFF") + # break + # else: + # try: + # get_wifi_switch_element = driver.find_element_by_xpath( + # "//*[@label='Wi-Fi' and @value='1']") + # get_wifi_switch_element.click() + # get_wifi_switch_element_text = get_wifi_switch_element.text + # except: + # print("WIFi switch is OFF") + # + # else: + # print("Switch is Still OFF") + # except: + # pass + # except: + # print("get_wifi_switch_element is ON") # --------------------To Turn on WIFi Switch if already OFF-------------------------------- except Exception as e: diff --git a/tests/configuration.py b/tests/configuration.py index e0b71bdde..7f0f0207e 100644 --- a/tests/configuration.py +++ b/tests/configuration.py @@ -18,15 +18,16 @@ ssh -C -L 8800:lf1:4002 -L 8801:lf1:5901 -L 8802:lf1:8080 -L 8803:lab-ctlr:22 \ ubuntu@3.130.51.163 +Run the below command to open tunnel to all labs: -ssh -C -L 8700:lf1:4002 -L 8701:lf1:5901 -L 8702:lf1:8080 -L 8703:lab-ctlr:22 -L 8704:lf1:22\ - -L 8710:lf2:4002 -L 8711:lf2:5901 -L 8712:lf2:8080 -L 8713:lab-ctlr:22 -L 8714:lf2:22\ - -L 8720:lf3:4002 -L 8721:lf3:5901 -L 8722:lf3:8080 -L 8723:lab-ctlr:22 -L 8724:lf3:22\ - -L 8730:lf4:4002 -L 8731:lf4:5901 -L 8732:lf4:8080 -L 8733:lab-ctlr:22 -L 8734:lf4:22\ - -L 8740:lf12:4002 -L 8741:lf12:5901 -L 8742:lf12:8080 -L 8743:lab-ctlr4:22 -L 8744:lf12:22\ - -L 8750:lf13:4002 -L 8751:lf13:5901 -L 8752:lf13:8080 -L 8753:lab-ctlr4:22 -L 8754:lf13:22\ - -L 8760:lf14:4002 -L 8761:lf14:5901 -L 8762:lf14:8080 -L 8763:lab-ctlr4:22 -L 8764:lf14:22\ - -L 8770:lf15:4002 -L 8771:lf15:5901 -L 8772:lf15:8080 -L 8773:lab-ctlr4:22 -L 8774:lf15:22\ +ssh -C -L 8700:lf1:4002 -L 8701:lf1:5901 -L 8702:lf1:8080 -L 8703:lab-ctlr:22 -L 8704:lf1:22 -L 3389:lf1:3389\ + -L 8710:lf2:4002 -L 8711:lf2:5901 -L 8712:lf2:8080 -L 8713:lab-ctlr:22 -L 8714:lf2:22 -L 3390:lf2:3389\ + -L 8720:lf3:4002 -L 8721:lf3:5901 -L 8722:lf3:8080 -L 8723:lab-ctlr:22 -L 8724:lf3:22 -L 3391:lf3:3389\ + -L 8730:lf4:4002 -L 8731:lf4:5901 -L 8732:lf4:8080 -L 8733:lab-ctlr:22 -L 8734:lf4:22 -L 3392:lf4:3389\ + -L 8740:lf12:4002 -L 8741:lf12:5901 -L 8742:lf12:8080 -L 8743:lab-ctlr4:22 -L 8744:lf12:22 -L 3393:lf12:3389\ + -L 8750:lf13:4002 -L 8751:lf13:5901 -L 8752:lf13:8080 -L 8753:lab-ctlr4:22 -L 8754:lf13:22 -L 3394:lf13:3389\ + -L 8760:lf14:4002 -L 8761:lf14:5901 -L 8762:lf14:8080 -L 8763:lab-ctlr4:22 -L 8764:lf14:22 -L 3395:lf14:3389\ + -L 8770:lf15:4002 -L 8771:lf15:5901 -L 8772:lf15:8080 -L 8773:lab-ctlr4:22 -L 8774:lf15:22 -L 3396:lf15:3389\ ubuntu@3.130.51.163 """ @@ -36,32 +37,30 @@ server = "" CONFIGURATION = { "basic-01": { "controller": { - 'url': "https://wlan-portal-svc-nola-02.cicd.lab.wlan.tip.build", # API base url for the controller - 'username': 'support@example.com', - 'password': 'support', - 'version': '1.1.0-SNAPSHOT', - 'commit_date': "2021-06-01" + 'url': 'https://sec-qa01.cicd.lab.wlan.tip.build:16001', # API base url for the controller + 'username': "tip@ucentral.com", + 'password': 'OpenWifi%123', }, 'access_point': [ { - 'model': 'ecw5410', + 'model': 'edgecore_ecw5410', 'mode': 'wifi5', 'serial': '3c2c99f44e77', 'jumphost': True, - 'ip': "10.28.3.100", + 'ip': "localhost", 'username': "lanforge", 'password': "pumpkin77", - 'port': 22, + 'port': 8703, 'jumphost_tty': '/dev/ttyAP1', - 'version': "https://tip.jfrog.io/artifactory/tip-wlan-ap-firmware/ecw5410/trunk/ecw5410-1.2.0-rc2.tar.gz" + 'version': "next-latest" } ], "traffic_generator": { "name": "lanforge", "details": { - "ip": "10.28.3.6", - "port": 8080, - "ssh_port": 22, + "ip": "localhost", + "port": 8702, + "ssh_port": 8704, "2.4G-Radio": ["1.1.wiphy4"], "5G-Radio": ["1.1.wiphy5"], "AX-Radio": ["1.1.wiphy0", "1.1.wiphy1", "1.1.wiphy2", "1.1.wiphy3"], @@ -73,35 +72,33 @@ CONFIGURATION = { "AX-Station-Name": "ax" } } - }, # checked deployed + }, # checked deployed 1.x "basic-02": { "controller": { - 'url': "https://wlan-portal-svc-nola-02.cicd.lab.wlan.tip.build", # API base url for the controller - 'username': 'support@example.com', - 'password': 'support', - 'version': "1.1.0-SNAPSHOT", - 'commit_date': "2021-06-01" + 'url': 'https://sec-qa01.cicd.lab.wlan.tip.build:16001', # API base url for the controller + 'username': "tip@ucentral.com", + 'password': 'OpenWifi%123', }, 'access_point': [ { - 'model': 'eap101', + 'model': 'hfcl_ion4', 'mode': 'wifi6', - 'serial': '34efb6af48db', + 'serial': '0006aee53b84', 'jumphost': True, - 'ip': "10.28.3.100", + 'ip': "localhost", 'username': "lanforge", 'password': "pumpkin77", - 'port': 22, + 'port': 8713, 'jumphost_tty': '/dev/ttyAP2', - 'version': "https://tip.jfrog.io/artifactory/tip-wlan-ap-firmware/eap101/trunk/eap101-1.2.0-rc2.tar.gz" + 'version': "next-latest" } ], "traffic_generator": { "name": "lanforge", "details": { - "ip": "10.28.3.8", - "port": 8080, - "ssh_port": 22, + "ip": "localhost", + "port": 8712, + "ssh_port": 8714, "2.4G-Radio": ["1.1.wiphy4"], "5G-Radio": ["1.1.wiphy5"], "AX-Radio": ["1.1.wiphy0", "1.1.wiphy1", "1.1.wiphy2", "1.1.wiphy3"], @@ -113,16 +110,16 @@ CONFIGURATION = { "AX-Station-Name": "ax" } } - }, # checked deployed + }, # checked deployed 1.x "basic-03": { "controller": { 'url': 'https://sec-qa01.cicd.lab.wlan.tip.build:16001', # API base url for the controller 'username': "tip@ucentral.com", - 'password': 'openwifi', + 'password': 'OpenWifi%123', }, 'access_point': [ { - 'model': 'ec420', + 'model': 'tp-link_ec420-g1', 'mode': 'wifi5', 'serial': '001122090801', 'jumphost': True, @@ -151,16 +148,55 @@ CONFIGURATION = { "AX-Station-Name": "ax" } } - }, - "basic-04": { + }, # checked 2.x + "basic-03a": { "controller": { - 'url': 'https://sec-ucentral-qa01.cicd.lab.wlan.tip.build:16001', # API base url for the controller + 'url': 'https://sec-qa01.cicd.lab.wlan.tip.build:16001', # API base url for the controller 'username': "tip@ucentral.com", - 'password': 'openwifi', + 'password': 'OpenWifi%123', }, 'access_point': [ { - 'model': 'ecw5211', + 'model': 'indio_um-305ac', + 'mode': 'wifi5', + 'serial': '706dec0a8a79', + 'jumphost': True, + 'ip': "localhost", + 'username': "lanforge", + 'password': "pumpkin77", + 'port': 8723, + 'jumphost_tty': '/dev/ttyAP6', + 'version': "release-latest" + } + ], + "traffic_generator": { + "name": "lanforge", + "details": { + "ip": "localhost", + "port": 8722, + "ssh_port": 8724, + "2.4G-Radio": ["1.1.wiphy4"], + "5G-Radio": ["1.1.wiphy5"], + "AX-Radio": ["1.1.wiphy0", "1.1.wiphy1", "1.1.wiphy2", "1.1.wiphy3"], + "upstream": "1.1.eth2", + "upstream_subnet": "10.28.2.1/24", + "uplink": "1.1.eth3", + "2.4G-Station-Name": "sta00", + "5G-Station-Name": "sta10", + "AX-Station-Name": "ax" + } + } + }, # checked 2.x + + "basic-04": { + "controller": { + 'url': 'https://sec-qa01.cicd.lab.wlan.tip.build:16001', # API base url for the controller + 'username': "tip@ucentral.com", + 'password': 'OpenWifi%123', + }, + 'access_point': [ + { + 'model': 'edgecore_ecw5211', 'mode': 'wifi5', 'serial': '68215fda456d', 'jumphost': True, @@ -169,7 +205,7 @@ CONFIGURATION = { 'password': "pumpkin77", 'port': 8733, 'jumphost_tty': "/dev/ttyAP5", - 'version': "release-latest" + 'version': "next-latest" } ], "traffic_generator": { @@ -179,7 +215,7 @@ CONFIGURATION = { "port": 8732, "ssh_port": 8734, "2.4G-Radio": ["1.1.wiphy4"], - "5G-Radio": [ "1.1.wiphy5"], + "5G-Radio": ["1.1.wiphy5"], "AX-Radio": ["1.1.wiphy0", "1.1.wiphy1", "1.1.wiphy2", "1.1.wiphy3"], "upstream": "1.1.eth2", "upstream_subnet": "10.28.2.1/24", @@ -189,33 +225,33 @@ CONFIGURATION = { "AX-Station-Name": "ax" } } - }, # checked uci + }, # checked 2.x "basic-05": { "controller": { - 'url': 'https://sec-ucentral-qa01.cicd.lab.wlan.tip.build:16001', # API base url for the controller + 'url': 'https://sec-qa01.cicd.lab.wlan.tip.build:16001', # API base url for the controller 'username': "tip@ucentral.com", - 'password': 'openwifi', + 'password': 'OpenWifi%123', }, 'access_point': [ { - 'model': 'cig_wf188', + 'model': 'cig_wf188n', 'mode': 'wifi6', 'serial': '0000c1018812', 'jumphost': True, 'ip': "localhost", 'username': "lanforge", 'password': "pumpkin77", - 'port': 8803, + 'port': 8743, 'jumphost_tty': '/dev/ttyAP1', - 'version': "release-latest" + 'version': "next-latest" } ], "traffic_generator": { "name": "lanforge", "details": { "ip": "localhost", - "port": 8802, - "ssh_port": 8804, + "port": 8742, + "ssh_port": 8744, "2.4G-Radio": ["1.1.wiphy0", "1.1.wiphy2"], "5G-Radio": ["1.1.wiphy1", "1.1.wiphy3"], "AX-Radio": ["1.1.wiphy4", "1.1.wiphy5", "1.1.wiphy6", "1.1.wiphy7"], @@ -227,33 +263,33 @@ CONFIGURATION = { "AX-Station-Name": "ax" } } - }, # checked uci + }, # checked 2.x "basic-06": { "controller": { - 'url': 'https://sec-ucentral-qa01.cicd.lab.wlan.tip.build:16001', # API base url for the controller + 'url': 'https://sec-qa01.cicd.lab.wlan.tip.build:16001', # API base url for the controller 'username': "tip@ucentral.com", - 'password': 'openwifi', + 'password': 'OpenWifi%123', }, 'access_point': [ { - 'model': 'eap102', + 'model': 'edgecore_eap102', 'mode': 'wifi6', 'serial': '903cb39d6918', 'jumphost': True, - 'ip': "10.28.3.103", # 10.28.3.103 + 'ip': "localhost", # 10.28.3.103 'username': "lanforge", 'password': "pumpkin77", - 'port': 22, # 22 + 'port': 8753, # 22 'jumphost_tty': '/dev/ttyAP2', - 'version': "latest" + 'version': "next-latest" } ], "traffic_generator": { "name": "lanforge", "details": { - "ip": "10.28.3.30", # 10.28.3.30 - "port": 8080, # 8080 - "ssh_port": 22, + "ip": "localhost", # 10.28.3.30 + "port": 8752, # 8080 + "ssh_port": 8754, "2.4G-Radio": ["1.1.wiphy0", "1.1.wiphy2"], "5G-Radio": ["1.1.wiphy1", "1.1.wiphy3"], "AX-Radio": ["1.1.wiphy4", "1.1.wiphy5", "1.1.wiphy6", "1.1.wiphy7"], @@ -265,37 +301,36 @@ CONFIGURATION = { "AX-Station-Name": "ax" } } - }, + }, # checked 2.x "basic-07": { "controller": { - 'url': 'https://sec-ucentral-qa01.cicd.lab.wlan.tip.build:16001', # API base url for the controller + 'url': 'https://sec-qa01.cicd.lab.wlan.tip.build:16001', # API base url for the controller 'username': "tip@ucentral.com", - 'password': 'openwifi', + 'password': 'OpenWifi%123', }, 'access_point': [ { - 'model': 'eap101', + 'model': 'edgecore_eap101', 'mode': 'wifi6', 'serial': '903cb36ae223', 'jumphost': True, - 'ip': "10.28.3.103", # 10.28.3.103 + 'ip': "localhost", # 10.28.3.103 'username': "lanforge", 'password': "pumpkin77", - 'port': 22, # 22 + 'port': 8763, # 22 'jumphost_tty': '/dev/ttyAP3', - 'version': "latest-next", - 'version_branch': "https://ucentral-ap-firmware.s3.amazonaws.com/20210908-cig_wf188-v2.1.0-rc3-bcd07e4-upgrade.bin" + 'version': "next-latest" } ], "traffic_generator": { "name": "lanforge", "details": { - "ip": "10.28.3.32", # 10.28.3.32 - "port": 8080, # 8080 - "ssh_port": 22, - "2.4G-Radio": ["wiphy4"], - "5G-Radio": ["wiphy5"], - "AX-Radio": ["wiphy0", "wiphy1", "wiphy2", "wiphy3"], + "ip": "localhost", # 10.28.3.32 + "port": 8762, # 8080 + "ssh_port": 8764, + "2.4G-Radio": ["1.1.wiphy0", "1.1.wiphy2"], + "5G-Radio": ["1.1.wiphy1", "1.1.wiphy3"], + "AX-Radio": ["1.1.wiphy4", "1.1.wiphy5", "1.1.wiphy6", "1.1.wiphy7"], "upstream": "1.1.eth2", "upstream_subnet": "10.28.2.1/24", "uplink": "1.1.eth3", @@ -304,33 +339,33 @@ CONFIGURATION = { "AX-Station-Name": "ax" } } - }, # checked uci + }, # checked 2.x "basic-08": { "controller": { - 'url': 'https://sec-ucentral-qa01.cicd.lab.wlan.tip.build:16001', # API base url for the controller + 'url': 'https://sec-qa01.cicd.lab.wlan.tip.build:16001', # API base url for the controller 'username': "tip@ucentral.com", - 'password': 'openwifi', + 'password': 'OpenWifi%123', }, 'access_point': [ { - 'model': 'wf194c', + 'model': 'cig_wf194c', 'mode': 'wifi6', 'serial': '089b4bb2f10c', 'jumphost': True, - 'ip': "10.28.3.103", # 10.28.3.103 + 'ip': "localhost", # 10.28.3.103 'username': "lanforge", 'password': "pumpkin77", - 'port': 22, # 22 + 'port': 8773, # 22 'jumphost_tty': '/dev/ttyAP5', - 'version': "https://tip.jfrog.io/artifactory/tip-wlan-ap-firmware/uCentral/cig_wf194c/20210729-cig_wf194c-v2.0.0-rc2-02244b8-upgrade.bin" + 'version': "next-650adaf" } ], "traffic_generator": { "name": "lanforge", "details": { - "ip": "10.28.3.34", # 10.28.3.34 - "port": 8080, # 8080 - "ssh_port": 22, + "ip": "localhost", # 10.28.3.34 + "port": 8772, # 8080 + "ssh_port": 8774, "2.4G-Radio": ["1.1.wiphy0", "1.1.wiphy2"], "5G-Radio": ["1.1.wiphy1", "1.1.wiphy3"], "AX-Radio": ["1.1.wiphy4", "1.1.wiphy5", "1.1.wiphy6", "1.1.wiphy7"], @@ -342,172 +377,46 @@ CONFIGURATION = { "AX-Station-Name": "ax" } } - }, # checked - "advanced-01": { - "controller": { - 'url':'https://sec-qa01.cicd.lab.wlan.tip.build:16001', # API base url for the controller - 'username': "tip@ucentral.com", - 'password': 'openwifi', - }, - 'access_point': [ - { - 'model': 'eap102', - 'mode': 'wifi6', - 'serial': '903cb3bd7335', - 'jumphost': True, - 'ip': "10.28.3.102", # 10.28.3.103 - 'username': "lanforge", - 'password': "pumpkin77", - 'port': 22, # 22 - 'jumphost_tty': '/dev/ttyAP3', - 'version': "https://tip.jfrog.io/artifactory/tip-wlan-ap-firmware/uCentral/cig_wf194c/20210729-cig_wf194c-v2.0.0-rc2-02244b8-upgrade.bin" - } - ], - "traffic_generator": { - "name": "lanforge", - "details": { - "ip": "10.28.3.24", - "port": 8080, # 8080 - "ssh_port": 22, - "2.4G-Radio": ["1.1.wiphy0", "1.1.wiphy2","1.1.wiphy4"], - "5G-Radio": ["1.1.wiphy1", "1.1.wiphy3", "1.1.wiphy5"], - "AX-Radio": [], - "upstream": "1.1.eth1", - "upstream_subnet": "10.28.2.1/24", - "uplink": "1.1.eth3", - "2.4G-Station-Name": "wlan0", - "5G-Station-Name": "wlan0", - "AX-Station-Name": "ax" - } - } - - }, - "advanced-02": { - "controller": { - 'url':'https://sec-qa01.cicd.lab.wlan.tip.build:16001', # API base url for the controller - 'username': "tip@ucentral.com", - 'password': 'openwifi', - }, - 'access_point': [ - { - 'model': 'eap102', - 'mode': 'wifi6', - 'serial': '903cb39d6958', - 'jumphost': True, - 'ip': "10.28.3.102", # 10.28.3.102 - 'username': "lanforge", - 'password': "pumpkin77", - 'port': 8803, # 22 - 'jumphost_tty': '/dev/ttyAP3', - 'version': "https://tip.jfrog.io/artifactory/tip-wlan-ap-firmware/uCentral/cig_wf194c/20210729-cig_wf194c-v2.0.0-rc2-02244b8-upgrade.bin" - } - ], - "traffic_generator": { - "name": "lanforge", - "details": { - "ip": "10.28.3.26", # 10.28.3.26 - "port": 8802, # 8080 - "ssh_port": 8804, - "2.4G-Radio": ["1.1.wiphy0", "1.1.wiphy2","1.1.wiphy4"], - "5G-Radio": ["1.1.wiphy1", "1.1.wiphy3", "1.1.wiphy5"], - "AX-Radio": [], - "upstream": "1.1.eth1", - "upstream_subnet": "10.28.2.1/24", - "uplink": "1.1.eth3", - "2.4G-Station-Name": "wlan0", - "5G-Station-Name": "wlan0", - "AX-Station-Name": "ax" - } - } - - }, + }, # checked 2.x "mesh": { "controller": { - 'url': 'https://sec-ucentral-qa01.cicd.lab.wlan.tip.build:16001', # API base url for the controller - 'username': "tip@ucentral.com", - 'password': 'openwifi', + 'url': "http://wlan-portal-svc-digicert.cicd.lab.wlan.tip.build", # API base url for the controller + 'username': 'support@example.com', + 'password': 'support', + 'version': '1.1.0-SNAPSHOT', + 'commit_date': "2021-06-01" }, 'access_point': [ { - 'type' : 'root', 'model': 'eap101', 'mode': 'wifi6', 'serial': '34efb6af4a7a', 'jumphost': True, - 'ip': "localhost", # 10\.28\.3\.101 + 'ip': "10.28.3.101", # 10.28.3.103 'username': "lanforge", 'password': "pumpkin77", - 'port': 8803, # 22 + 'port': 22, # 22 'jumphost_tty': '/dev/ttyAP2', - 'version': "latest" - }, - { - 'type': 'node-1', - 'model': 'eap101', - 'mode': 'wifi6', - 'serial': '34efb6af4903', - 'jumphost': True, - 'ip': "localhost", #10\.28\.3\.101 - 'username': "lanforge", - 'password': "pumpkin77", - 'port': 8803, # 22 - 'jumphost_tty': '/dev/ttyAP3', - 'version': "latest" - }, - { - 'type': 'node-2', - 'model': 'eap102', - 'mode': 'wifi6', - 'serial': '903cb39d692c', - 'jumphost': True, - 'ip': "localhost", # 10\.28\.3\.101 - 'username': "lanforge", - 'password': "pumpkin77", - 'port': 8803, # 22 - 'jumphost_tty': '/dev/ttyAP4', - 'version': "latest" + 'version': "next-650adaf" } ], "traffic_generator": { - "name": "lanforge-mesh", + "name": "lanforge", "details": { - "type": "mesh", - "ip": "localhost", # 10.28.3.14 - "port": 8802, # 8080 - "ssh_port": 8804, - "2.4G-Radio-mobile-sta": ["1.1.wiphy0", "1.1.wiphy2"], - "5G-Radio-mobile-sta": ["1.1.wiphy1", "1.1.wiphy3"], - "AX-Radio-mobile-sta": ["1.1.wiphy4", "1.1.wiphy5", "1.1.wiphy6", "1.1.wiphy7"], - "upstream-mobile-sta": "1.1.eth2", - "upstream_subnet-mobile-sta": "10.28.2.1/24", - "uplink-mobile-sta": "1.1.eth3", - "2.4G-Radio-root": ["1.2.wiphy0"], - "5G-Radio-root": ["1.2.wiphy1"], - "AX-Radio-root": [], - "upstream-root": "1.2.eth2", - "upstream_subnet-root": "10.28.2.1/24", - "uplink-root": "1.2.eth3", - "2.4G-Radio-node-1": ["1.3.wiphy0"], - "5G-Radio-node-1": ["1.3.wiphy1"], - "AX-Radio-node-1": [], - "upstream-node-1": "1.3.eth2", - "upstream_subnet-node-1": "10.28.2.1/24", - "uplink--node-1": "1.3.eth3", - "2.4G-Radio-node-2": ["1.4.wiphy0"], - "5G-Radio-node-2": ["1.4.wiphy1"], - "AX-Radio-node-2": [], - "upstream-node-2": "1.4.eth2", - "upstream_subnet-node-2": "10.28.2.1/24", - "uplink--node-2": "1.4.eth3", + "ip": "10.28.3.14", # 10.28.3.34 + "port": 8080, # 8080 + "ssh_port": 22, + "2.4G-Radio": ["wiphy0", "wiphy2"], + "5G-Radio": ["wiphy1", "wiphy3"], + "AX-Radio": ["wiphy4", "wiphy5", "wiphy6", "wiphy7"], + "upstream": "1.1.eth2", + "upstream_subnet": "10.28.2.1/24", + "uplink": "1.1.eth3", "2.4G-Station-Name": "wlan0", "5G-Station-Name": "wlan0", "AX-Station-Name": "ax" - }, - + } } - - - }, # checked "interop-01": { "controller": { @@ -528,48 +437,7 @@ CONFIGURATION = { 'password': "pumpkin77", 'port': 22, 'jumphost_tty': '/dev/ttyAP1', - 'version': "https://tip-tip-wlan-cloud-docker-repo.jfrog.io/artifactory/tip-wlan-ap-firmware/ecw5410/dev/ecw5410-2021-07-28-pending-0ec23e8.tar.gz" - } - ], - "traffic_generator": { - "name": "lanforge", - "details": { - "ip": "10.28.3.22", - "port": 8080, # 8080 - "ssh_port": 22, - "2.4G-Radio": ["1.1.wiphy0", "1.1.wiphy2"], - "5G-Radio": ["1.1.wiphy1", "1.1.wiphy3"], - "AX-Radio": ["1.1.wiphy4", "1.1.wiphy5", "1.1.wiphy6", "1.1.wiphy7"], - "upstream": "1.1.eth1", - "upstream_subnet": "10.28.2.1/24", - "uplink": "1.1.eth3", - "2.4G-Station-Name": "wlan0", - "5G-Station-Name": "wlan1", - "AX-Station-Name": "ax", - "securityToken": "eyJhbGciOiJIUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICI3NzkzZGM0Ni1jZmU4LTQ4ODMtYjhiOS02ZWFlZGU2OTc2MDkifQ.eyJqdGkiOiJjYjRjYjQzYi05Y2FiLTQxNzQtOTYxYi04MDEwNTZkNDM2MzgiLCJleHAiOjAsIm5iZiI6MCwiaWF0IjoxNjExNTk0NzcxLCJpc3MiOiJodHRwczovL2F1dGgyLnBlcmZlY3RvbW9iaWxlLmNvbS9hdXRoL3JlYWxtcy90aXAtcGVyZmVjdG9tb2JpbGUtY29tIiwiYXVkIjoiaHR0cHM6Ly9hdXRoMi5wZXJmZWN0b21vYmlsZS5jb20vYXV0aC9yZWFsbXMvdGlwLXBlcmZlY3RvbW9iaWxlLWNvbSIsInN1YiI6IjdiNTMwYWUwLTg4MTgtNDdiOS04M2YzLTdmYTBmYjBkZGI0ZSIsInR5cCI6Ik9mZmxpbmUiLCJhenAiOiJvZmZsaW5lLXRva2VuLWdlbmVyYXRvciIsIm5vbmNlIjoiZTRmOTY4NjYtZTE3NS00YzM2LWEyODMtZTQwMmI3M2U5NzhlIiwiYXV0aF90aW1lIjowLCJzZXNzaW9uX3N0YXRlIjoiYWNkNTQ3MTctNzJhZC00MGU3LWI0ZDctZjlkMTAyNDRkNWZlIiwicmVhbG1fYWNjZXNzIjp7InJvbGVzIjpbIm9mZmxpbmVfYWNjZXNzIiwidW1hX2F1dGhvcml6YXRpb24iXX0sInJlc291cmNlX2FjY2VzcyI6eyJyZXBvcnRpdW0iOnsicm9sZXMiOlsiYWRtaW5pc3RyYXRvciJdfSwiYWNjb3VudCI6eyJyb2xlcyI6WyJtYW5hZ2UtYWNjb3VudCIsIm1hbmFnZS1hY2NvdW50LWxpbmtzIiwidmlldy1wcm9maWxlIl19fSwic2NvcGUiOiJvcGVuaWQgcHJvZmlsZSBvZmZsaW5lX2FjY2VzcyBlbWFpbCJ9.SOL-wlZiQ4BoLLfaeIW8QoxJ6xzrgxBjwSiSzkLBPYw", - "perfectoURL": "tip" - } - } - }, - - "interop-02": { - "controller": { - 'url': 'https://sec-ucentral-qa01.cicd.lab.wlan.tip.build:16001', # API base url for the controller - 'username': "tip@ucentral.com", - 'password': 'openwifi', - }, - 'access_point': [ - { - 'model': 'eap101', - 'mode': 'wifi5', - 'serial': '903cb36ae4a3', - 'jumphost': True, - 'ip': "10.28.3.102", - 'username': "lanforge", - 'password': "pumpkin77", - 'port': 22, - 'jumphost_tty': '/dev/ttyAP4', - 'version': "https://tip.jfrog.io/artifactory/tip-wlan-ap-firmware/uCentral/edgecore_eap101/20210729-edgecore_eap101-v2.0.0-rc2-02244b8-upgrade.bin" + 'version': "next-650adaf" } ], "traffic_generator": { @@ -592,12 +460,51 @@ CONFIGURATION = { } } }, - "interop-03": { "controller": { 'url': 'https://sec-ucentral-qa01.cicd.lab.wlan.tip.build:16001', # API base url for the controller 'username': "tip@ucentral.com", - 'password': 'openwifi', + 'password': 'OpenWifi%123', + }, + 'access_point': [ + { + 'model': 'eap101', + 'mode': 'wifi5', + 'serial': '903cb36ae4a3', + 'jumphost': True, + 'ip': "10.28.3.102", + 'username': "lanforge", + 'password': "pumpkin77", + 'port': 22, + 'jumphost_tty': '/dev/ttyAP4', + 'version': "next-650adaf" + } + ], + "traffic_generator": { + "name": "lanforge", + "details": { + "ip": "10.28.3.22", + "port": 8080, # 8080 + "ssh_port": 22, + "2.4G-Radio": ["1.1.wiphy0", "1.1.wiphy2"], + "5G-Radio": ["1.1.wiphy1", "1.1.wiphy3"], + "AX-Radio": ["1.1.wiphy4", "1.1.wiphy5", "1.1.wiphy6", "1.1.wiphy7"], + "upstream": "1.1.eth1", + "upstream_subnet": "10.28.2.1/24", + "uplink": "1.1.eth3", + "2.4G-Station-Name": "wlan0", + "5G-Station-Name": "wlan1", + "AX-Station-Name": "ax", + "securityToken": "eyJhbGciOiJIUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICI3NzkzZGM0Ni1jZmU4LTQ4ODMtYjhiOS02ZWFlZGU2OTc2MDkifQ.eyJqdGkiOiJjYjRjYjQzYi05Y2FiLTQxNzQtOTYxYi04MDEwNTZkNDM2MzgiLCJleHAiOjAsIm5iZiI6MCwiaWF0IjoxNjExNTk0NzcxLCJpc3MiOiJodHRwczovL2F1dGgyLnBlcmZlY3RvbW9iaWxlLmNvbS9hdXRoL3JlYWxtcy90aXAtcGVyZmVjdG9tb2JpbGUtY29tIiwiYXVkIjoiaHR0cHM6Ly9hdXRoMi5wZXJmZWN0b21vYmlsZS5jb20vYXV0aC9yZWFsbXMvdGlwLXBlcmZlY3RvbW9iaWxlLWNvbSIsInN1YiI6IjdiNTMwYWUwLTg4MTgtNDdiOS04M2YzLTdmYTBmYjBkZGI0ZSIsInR5cCI6Ik9mZmxpbmUiLCJhenAiOiJvZmZsaW5lLXRva2VuLWdlbmVyYXRvciIsIm5vbmNlIjoiZTRmOTY4NjYtZTE3NS00YzM2LWEyODMtZTQwMmI3M2U5NzhlIiwiYXV0aF90aW1lIjowLCJzZXNzaW9uX3N0YXRlIjoiYWNkNTQ3MTctNzJhZC00MGU3LWI0ZDctZjlkMTAyNDRkNWZlIiwicmVhbG1fYWNjZXNzIjp7InJvbGVzIjpbIm9mZmxpbmVfYWNjZXNzIiwidW1hX2F1dGhvcml6YXRpb24iXX0sInJlc291cmNlX2FjY2VzcyI6eyJyZXBvcnRpdW0iOnsicm9sZXMiOlsiYWRtaW5pc3RyYXRvciJdfSwiYWNjb3VudCI6eyJyb2xlcyI6WyJtYW5hZ2UtYWNjb3VudCIsIm1hbmFnZS1hY2NvdW50LWxpbmtzIiwidmlldy1wcm9maWxlIl19fSwic2NvcGUiOiJvcGVuaWQgcHJvZmlsZSBvZmZsaW5lX2FjY2VzcyBlbWFpbCJ9.SOL-wlZiQ4BoLLfaeIW8QoxJ6xzrgxBjwSiSzkLBPYw", + "perfectoURL": "tip" + } + } + }, + "interop-02": { + "controller": { + 'url': 'https://sec-ucentral-qa01.cicd.lab.wlan.tip.build:16001', # API base url for the controller + 'username': "tip@ucentral.com", + 'password': 'OpenWifi%123', }, 'access_point': [ { @@ -610,7 +517,7 @@ CONFIGURATION = { 'password': "pumpkin77", 'port': 22, 'jumphost_tty': '/dev/ttyAP5', - 'version': "https://tip.jfrog.io/artifactory/tip-wlan-ap-firmware/uCentral/edgecore_eap101/20210729-edgecore_eap101-v2.0.0-rc2-02244b8-upgrade.bin" + 'version': "next-650adaf" } ], "traffic_generator": { @@ -633,25 +540,26 @@ CONFIGURATION = { } } }, - - "ext-01": { + "basic-ext-03-03": { "controller": { - 'url': 'https://sec-ucentral-qa01.cicd.lab.wlan.tip.build:16001', # API base url for the controller - 'username': "tip@ucentral.com", - 'password': 'openwifi', + 'url': "https://wlan-portal-svc-nola-ext-03.cicd.lab.wlan.tip.build", # API base url for the controller + 'username': 'support@example.com', + 'password': 'support', + 'version': "1.1.0-SNAPSHOT", + 'commit_date': "2021-04-27" }, 'access_point': [ { - 'model': 'eap102', - 'mode': 'wifi6', - 'serial': '903cb30bcf12', + 'model': 'ecw5410', + 'mode': 'wifi5', + 'serial': '903cb3944857', 'jumphost': True, 'ip': "192.168.200.80", 'username': "lanforge", 'password': "lanforge", 'port': 22, 'jumphost_tty': '/dev/ttyAP1', - 'version': "https://tip.jfrog.io/artifactory/tip-wlan-ap-firmware/ecw5410/trunk/ecw5410-1.1.0.tar.gz" + 'version': "next-650adaf" } ], "traffic_generator": { @@ -662,7 +570,7 @@ CONFIGURATION = { "ssh_port": 22, "2.4G-Radio": ["wiphy0"], "5G-Radio": ["wiphy1"], - "AX-Radio": [], + "AX-Radio": ["wiphy2"], "upstream": "1.1.eth1", "upstream_subnet": "192.168.200.1/24", "uplink": "1.1.eth2", @@ -674,9 +582,8 @@ CONFIGURATION = { } } - RADIUS_SERVER_DATA = { - "ip": "10.10.10.180", + "ip": "10.10.1.221", "port": 1812, "secret": "testing123", "user": "user", @@ -685,7 +592,25 @@ RADIUS_SERVER_DATA = { } RADIUS_ACCOUNTING_DATA = { - "ip": "10.10.10.180", + "ip": "10.10.1.221", + "port": 1813, + "secret": "testing123", + "user": "user", + "password": "password", + "pk_password": "whatever" +} + +RATE_LIMITING_RADIUS_SERVER_DATA = { + "ip": "18.189.85.200", + "port": 1812, + "secret": "testing123", + "user": "user", + "password": "password", + "pk_password": "whatever" +} + +RATE_LIMITING_RADIUS_ACCOUNTING_DATA = { + "ip": "18.189.85.200", "port": 1813, "secret": "testing123", "user": "user", diff --git a/tests/conftest.py b/tests/conftest.py index db23806db..1a4af6daa 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -47,8 +47,11 @@ import pytest from lanforge.lf_tests import RunTest from cv_test_manager import cv_test from configuration import CONFIGURATION +from configuration import open_flow from configuration import RADIUS_SERVER_DATA from configuration import RADIUS_ACCOUNTING_DATA +from configuration import RATE_LIMITING_RADIUS_SERVER_DATA +from configuration import RATE_LIMITING_RADIUS_ACCOUNTING_DATA from lanforge.scp_util import SCP_File from testrails.testrail_api import APIClient from testrails.reporting import Reporting @@ -224,6 +227,16 @@ def radius_accounting_info(): """yields the radius accounting information from lab info file""" yield RADIUS_ACCOUNTING_DATA +@pytest.fixture(scope="session") +def rate_radius_info(): + """yields the radius server information from lab info file""" + yield RATE_LIMITING_RADIUS_SERVER_DATA + +@pytest.fixture(scope="session") +def rate_radius_accounting_info(): + """yields the radius accounting information from lab info file""" + yield RATE_LIMITING_RADIUS_ACCOUNTING_DATA + @pytest.fixture(scope="session") def get_configuration(testbed, request): @@ -274,6 +287,10 @@ def get_uci_show(fixtures_ver, get_apnos, get_configuration): def skip_lf(request): yield request.config.getoption("--skip-lanforge") +@pytest.fixture(scope="session") +def get_openflow(): + yield open_flow + # Controller Fixture @pytest.fixture(scope="session") diff --git a/tests/e2e/basic/performance_tests/dataplane_throughput_test/wpa2_security/test_bridge_mode.py b/tests/e2e/basic/performance_tests/dataplane_throughput_test/wpa2_security/test_bridge_mode.py index 1b8208039..3ace2a857 100644 --- a/tests/e2e/basic/performance_tests/dataplane_throughput_test/wpa2_security/test_bridge_mode.py +++ b/tests/e2e/basic/performance_tests/dataplane_throughput_test/wpa2_security/test_bridge_mode.py @@ -36,13 +36,13 @@ class TestDataplaneThroughputBRIDGE(object): pytest -m "dataplane_throughput_test and BRIDGE" """ - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-3913", name="WIFI-3913") @pytest.mark.wpa2_personal @pytest.mark.twog def test_tcp_upd_wpa2_personal_bridge_2g_band_ac_station(self, get_vif_state, lf_tools, - lf_test, station_names_twog, create_lanforge_chamberview_dut, - get_configuration): + lf_test, station_names_twog, + create_lanforge_chamberview_dut, + get_configuration): """Dataplane THroughput BRIDGE Mode pytest -m "dataplane_throughput_test and BRIDGE and wpa2_personal and twog" """ @@ -70,13 +70,12 @@ class TestDataplaneThroughputBRIDGE(object): else: assert False - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-3914", name="WIFI-3914") @pytest.mark.wpa2_personal @pytest.mark.fiveg - @pytest.mark.nikita def test_tcp_upd_wpa2_personal_bridge_5g_band_ac_station(self, get_vif_state, lf_tools, - lf_test, station_names_fiveg, create_lanforge_chamberview_dut, get_configuration): + lf_test, station_names_fiveg, + create_lanforge_chamberview_dut, get_configuration): """Dataplane THroughput BRIDGE Mode pytest -m "dataplane_throughput_test and BRIDGE and wpa2_personal and fiveg" """ @@ -105,12 +104,11 @@ class TestDataplaneThroughputBRIDGE(object): else: assert False - @pytest.mark.wpa2_personal @pytest.mark.fiveg def test_tcp_upd_wpa2_personal_bridge_5g_band_ax_station(self, get_vif_state, lf_tools, - lf_test, station_names_ax, create_lanforge_chamberview_dut, - get_configuration): + lf_test, station_names_ax, create_lanforge_chamberview_dut, + get_configuration): """Dataplane THroughput BRIDGE Mode pytest -m "dataplane_throughput_test and BRIDGE and wpa2_personal and fiveg" """ @@ -139,12 +137,11 @@ class TestDataplaneThroughputBRIDGE(object): else: assert False - @pytest.mark.wpa2_personal @pytest.mark.twog def test_tcp_upd_wpa2_personal_bridge_2g_band_ax_station(self, get_vif_state, lf_tools, - lf_test, station_names_ax, create_lanforge_chamberview_dut, - get_configuration): + lf_test, station_names_ax, create_lanforge_chamberview_dut, + get_configuration): """Dataplane THroughput BRIDGE Mode pytest -m "dataplane_throughput_test and BRIDGE and wpa2_personal and twog" """ @@ -171,6 +168,3 @@ class TestDataplaneThroughputBRIDGE(object): assert station else: assert False - - - diff --git a/tests/e2e/basic/validation_of_operating_modes/bridge_mode/rate_limiting_with_radius/__init__.py b/tests/e2e/basic/validation_of_operating_modes/bridge_mode/rate_limiting_with_radius/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/basic/validation_of_operating_modes/bridge_mode/rate_limiting_with_radius/test_radius_limiting.py b/tests/e2e/basic/validation_of_operating_modes/bridge_mode/rate_limiting_with_radius/test_radius_limiting.py new file mode 100644 index 000000000..a4060f2c1 --- /dev/null +++ b/tests/e2e/basic/validation_of_operating_modes/bridge_mode/rate_limiting_with_radius/test_radius_limiting.py @@ -0,0 +1,557 @@ +""" +Rate LImiting with radius Bridge Mode Scenario +""" + +import allure +import pytest +from configuration import RATE_LIMITING_RADIUS_SERVER_DATA +from configuration import RATE_LIMITING_RADIUS_ACCOUNTING_DATA + +pytestmark = [pytest.mark.regression, pytest.mark.rate_limiting_with_radius, pytest.mark.bridge] + + +setup_params_general = { + "mode": "BRIDGE", + "ssid_modes": { + "wpa2_enterprise": [ + {"ssid_name": "ssid_wpa2_2g_br", + "appliedRadios": ["2G"], + "security_key": "something", + "rate-limit": { + "ingress-rate": 50, + "egress-rate": 50 + }, + "radius_auth_data": RATE_LIMITING_RADIUS_SERVER_DATA, + "radius_acc_data" : RATE_LIMITING_RADIUS_ACCOUNTING_DATA + + }, + {"ssid_name": "ssid_wpa2_5g_br", + "appliedRadios": ["5G"], + "security_key": "something", + "rate-limit": { + "ingress-rate": 50, + "egress-rate": 50 + }, + "radius_auth_data": RATE_LIMITING_RADIUS_SERVER_DATA, + "radius_acc_data" : RATE_LIMITING_RADIUS_ACCOUNTING_DATA + } + ] + }, + "rf": {}, + "radius": False +} + + +@allure.feature("Bridge MODE Rate Limiting with radius server") +@pytest.mark.parametrize( + 'setup_profiles', + [setup_params_general], + indirect=True, + scope="class" +) +@pytest.mark.usefixtures("setup_profiles") +class TestRateLimitingWithRadiusBridge(object): + + @pytest.mark.wpa2_enterprise + @pytest.mark.twog + @pytest.mark.twog_upload_per_ssid + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5849", name="WIFI-5849") + def test_radius_server_2g_upload_per_ssid(self, lf_test, lf_tools, rate_radius_info, rate_radius_accounting_info, station_names_twog): + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"][0] + ssid_name = profile_data["ssid_name"] + mode = "BRIDGE" + vlan = 1 + security = "wpa2" + band = "twog" + eap = "TTLS" + print("authentication", rate_radius_info) + print("accounting",rate_radius_accounting_info ) + ttls_passwd = rate_radius_info["password"] + identity = rate_radius_info['user'] + allure.attach(name="ssid-rates", body=str(profile_data["rate-limit"])) + passes = lf_test.EAP_Connect(ssid=ssid_name, security=security, + mode=mode, band=band, + eap=eap, ttls_passwd=ttls_passwd, identity=identity, + station_name=station_names_twog, ieee80211w=0, vlan_id=vlan, cleanup=False) + print(passes) + if passes: + raw_lines = [["dl_rate_sel: Total Download Rate:"], ["ul_rate_sel: Per-Total Download Rate:"]] + wct_obj = lf_test.wifi_capacity(instance_name="Test_Radius_2g_up_per_ssid", mode=mode, vlan_id=vlan, + download_rate="0bps", batch_size="1", + upload_rate="1Gbps", protocol="TCP-IPv4", duration="60000", raw_lines=raw_lines) + + report_name = wct_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] + + lf_tools.attach_report_graphs(report_name=report_name) + print("Test Completed... Cleaning up Stations") + assert True + + @pytest.mark.wpa2_enterprise + @pytest.mark.twog + @pytest.mark.twog_download_perssid_persta + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5850", name="WIFI-5850") + def test_radius_server_2g_download_perssid_persta(self, lf_test, lf_tools, rate_radius_info, rate_radius_accounting_info, + station_names_twog): + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"][0] + ssid_name = profile_data["ssid_name"] + mode = "BRIDGE" + vlan = 1 + security = "wpa2" + band = "twog" + eap = "TTLS" + print("authentication", rate_radius_info) + print("accounting", rate_radius_accounting_info) + ttls_passwd = rate_radius_info["password"] + identity = rate_radius_info['user'] + allure.attach(name="ssid-rates", body=str(profile_data["rate-limit"])) + passes = lf_test.EAP_Connect(ssid=ssid_name, security=security, + mode=mode, band=band, + eap=eap, ttls_passwd=ttls_passwd, identity=identity, + station_name=station_names_twog, ieee80211w=0, vlan_id=vlan, cleanup=False) + print(passes) + if passes: + raw_lines = [["dl_rate_sel: Per-Station Download Rate:"], ["ul_rate_sel: Per-Station Download Rate:"]] + wct_obj = lf_test.wifi_capacity(instance_name="Test_Radius_2g_down_perssid_persta", mode=mode, vlan_id=vlan, + download_rate="1Gbps", batch_size="1", + upload_rate="0bps", protocol="TCP-IPv4", duration="60000", raw_lines=raw_lines) + + report_name = wct_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] + + lf_tools.attach_report_graphs(report_name=report_name) + print("Test Completed... Cleaning up Stations") + assert True + + @pytest.mark.wpa2_enterprise + @pytest.mark.twog + @pytest.mark.twog_upload_persta_perclient + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5851", name="WIFI-5851") + def test_radius_server_2g_upload_persta_perclient_rate(self, lf_test, lf_tools, rate_radius_info, rate_radius_accounting_info, + station_names_twog): + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"][0] + ssid_name = profile_data["ssid_name"] + mode = "BRIDGE" + vlan = 1 + security = "wpa2" + band = "twog" + eap = "TTLS" + print("authentication", rate_radius_info) + print("accounting", rate_radius_accounting_info) + ttls_passwd = rate_radius_info["password"] + identity = rate_radius_info['user'] + allure.attach(name="ssid-rates", body=str(profile_data["rate-limit"])) + passes = lf_test.EAP_Connect(ssid=ssid_name, security=security, + mode=mode, band=band, + eap=eap, ttls_passwd=ttls_passwd, identity=identity, + station_name=station_names_twog, ieee80211w=0, vlan_id=vlan, cleanup=False) + print(passes) + if passes: + raw_lines = [["dl_rate_sel: Per-Station Download Rate:"], ["ul_rate_sel: Per-Station Download Rate:"]] + wct_obj = lf_test.wifi_capacity(instance_name="Test_Radius_2g_up_per_per_client", mode=mode, vlan_id=vlan, + download_rate="0bps", batch_size="1", + upload_rate="2.488Gbps", protocol="TCP-IPv4", duration="60000", raw_lines=raw_lines) + + report_name = wct_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] + + lf_tools.attach_report_graphs(report_name=report_name) + print("Test Completed... Cleaning up Stations") + assert True + + @pytest.mark.wpa2_enterprise + @pytest.mark.twog + @pytest.mark.twog_upload_download_persta_perclient + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5852", name="WIFI-5852") + def test_radius_server_2g_upload_download_persta_perclient_rate(self, lf_test, lf_tools, rate_radius_info, + rate_radius_accounting_info, + station_names_twog): + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"][0] + ssid_name = profile_data["ssid_name"] + mode = "BRIDGE" + vlan = 1 + security = "wpa2" + band = "twog" + eap = "TTLS" + print("authentication", rate_radius_info) + print("accounting", rate_radius_accounting_info) + ttls_passwd = rate_radius_info["password"] + identity = rate_radius_info['user'] + allure.attach(name="ssid-rates", body=str(profile_data["rate-limit"])) + passes = lf_test.EAP_Connect(ssid=ssid_name, security=security, + mode=mode, band=band, + eap=eap, ttls_passwd=ttls_passwd, identity=identity, + station_name=station_names_twog, ieee80211w=0, vlan_id=vlan, cleanup=False) + print(passes) + if passes: + raw_lines = [["dl_rate_sel: Per-Station Download Rate:"], ["ul_rate_sel: Per-Station Download Rate:"]] + wct_obj = lf_test.wifi_capacity(instance_name="Test_Radius_2g_up_down_per_per_client", mode=mode, vlan_id=vlan, + download_rate="1Gbps", batch_size="1", + upload_rate="1Gbps", protocol="TCP-IPv4", duration="60000", + raw_lines=raw_lines) + + report_name = wct_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] + + lf_tools.attach_report_graphs(report_name=report_name) + print("Test Completed... Cleaning up Stations") + assert True + + @pytest.mark.wpa2_enterprise + @pytest.mark.fiveg + @pytest.mark.fiveg_download_per_ssid + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5853", name="WIFI-5853") + def test_radius_server_fiveg_per_ssid_download(self, lf_test, lf_tools, rate_radius_info, rate_radius_accounting_info, + station_names_fiveg): + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"][1] + ssid_name = profile_data["ssid_name"] + mode = "BRIDGE" + vlan = 1 + security = "wpa2" + band = "fiveg" + eap = "TTLS" + print("authentication", rate_radius_info) + print("accounting", rate_radius_accounting_info) + ttls_passwd = rate_radius_info["password"] + identity = rate_radius_info['user'] + allure.attach(name="ssid-rates", body=str(profile_data["rate-limit"])) + passes = lf_test.EAP_Connect(ssid=ssid_name, security=security, + mode=mode, band=band, + eap=eap, ttls_passwd=ttls_passwd, identity=identity, + station_name=station_names_fiveg, ieee80211w=0, vlan_id=vlan, cleanup=False) + print(passes) + if passes: + raw_lines = [["dl_rate_sel: Total Download Rate:"], ["ul_rate_sel: Per-Total Download Rate:"]] + wct_obj = lf_test.wifi_capacity(instance_name="Test_Radius_5g_down_per_ssid", mode=mode, vlan_id=vlan, + download_rate="1Gbps", batch_size="1", + upload_rate="0bps", protocol="TCP-IPv4", duration="60000",raw_lines=raw_lines) + + report_name = wct_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] + + lf_tools.attach_report_graphs(report_name=report_name) + print("Test Completed... Cleaning up Stations") + assert True + + @pytest.mark.wpa2_enterprise + @pytest.mark.fiveg + @pytest.mark.fiveg_upload_per_ssid + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5854", name="WIFI-5854") + def test_radius_server_fiveg_per_ssid_upload(self, lf_test, lf_tools, rate_radius_info, rate_radius_accounting_info, + station_names_fiveg): + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"][1] + ssid_name = profile_data["ssid_name"] + mode = "BRIDGE" + vlan = 1 + security = "wpa2" + band = "fiveg" + eap = "TTLS" + print("authentication", rate_radius_info) + print("accounting", rate_radius_accounting_info) + ttls_passwd = rate_radius_info["password"] + identity = rate_radius_info['user'] + allure.attach(name="ssid-rates", body=str(profile_data["rate-limit"])) + passes = lf_test.EAP_Connect(ssid=ssid_name, security=security, + mode=mode, band=band, + eap=eap, ttls_passwd=ttls_passwd, identity=identity, + station_name=station_names_fiveg, ieee80211w=0, vlan_id=vlan, cleanup=False) + print(passes) + if passes: + raw_lines = [["dl_rate_sel: Total Download Rate:"], ["ul_rate_sel: Per-Station Download Rate:"]] + wct_obj = lf_test.wifi_capacity(instance_name="Test_Radius_5g_up_per_ssid", mode=mode, vlan_id=vlan, + download_rate="0bps", batch_size="1", + upload_rate="1Gbps", protocol="TCP-IPv4", duration="60000", raw_lines=raw_lines) + + report_name = wct_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] + + lf_tools.attach_report_graphs(report_name=report_name) + print("Test Completed... Cleaning up Stations") + assert True + + @pytest.mark.wpa2_enterprise + @pytest.mark.fiveg + @pytest.mark.fiveg_download_per_ssid_per_client + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5855", name="WIFI-5855") + def test_radius_server_fiveg_per_ssid_perclient_download(self, lf_test, lf_tools, rate_radius_info, rate_radius_accounting_info, + station_names_fiveg): + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"][1] + ssid_name = profile_data["ssid_name"] + mode = "BRIDGE" + vlan = 1 + security = "wpa2" + band = "fiveg" + eap = "TTLS" + print("authentication", rate_radius_info) + print("accounting", rate_radius_accounting_info) + ttls_passwd = rate_radius_info["password"] + identity = rate_radius_info['user'] + allure.attach(name="ssid-rates", body=str(profile_data["rate-limit"])) + passes = lf_test.EAP_Connect(ssid=ssid_name, security=security, + mode=mode, band=band, + eap=eap, ttls_passwd=ttls_passwd, identity=identity, + station_name=station_names_fiveg, ieee80211w=0, vlan_id=vlan, cleanup=False) + print(passes) + if passes: + raw_lines = [["dl_rate_sel: Per-Station Download Rate:"], ["ul_rate_sel: Per-Station Download Rate:"]] + wct_obj = lf_test.wifi_capacity(instance_name="Test_Radius_5g_down_per_ssid_perclient", mode=mode, vlan_id=vlan, + download_rate="1Gbps", batch_size="1", + upload_rate="0bps", protocol="TCP-IPv4", duration="60000", + raw_lines=raw_lines) + + report_name = wct_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] + + lf_tools.attach_report_graphs(report_name=report_name) + print("Test Completed... Cleaning up Stations") + assert True + + @pytest.mark.wpa2_enterprise + @pytest.mark.fiveg + @pytest.mark.fiveg_upstream_per_ssid_per_client + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5856", name="WIFI-5856") + def test_radius_server_fiveg_per_ssid_perclient_upstream(self, lf_test, lf_tools, rate_radius_info, + rate_radius_accounting_info, + station_names_fiveg): + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"][1] + ssid_name = profile_data["ssid_name"] + mode = "BRIDGE" + vlan = 1 + security = "wpa2" + band = "fiveg" + eap = "TTLS" + print("authentication", rate_radius_info) + print("accounting", rate_radius_accounting_info) + ttls_passwd = rate_radius_info["password"] + identity = rate_radius_info['user'] + allure.attach(name="ssid-rates", body=str(profile_data["rate-limit"])) + passes = lf_test.EAP_Connect(ssid=ssid_name, security=security, + mode=mode, band=band, + eap=eap, ttls_passwd=ttls_passwd, identity=identity, + station_name=station_names_fiveg, ieee80211w=0, vlan_id=vlan, cleanup=False) + print(passes) + if passes: + raw_lines = [["dl_rate_sel: Per-Station Download Rate:"], ["ul_rate_sel: Per-Station Download Rate:"]] + wct_obj = lf_test.wifi_capacity(instance_name="Test_Radius_5g_upstream_per_ssid_perclient", mode=mode, + vlan_id=vlan, + download_rate="0bps", batch_size="1", + upload_rate="1Gbps", protocol="TCP-IPv4", duration="60000", + raw_lines=raw_lines) + + report_name = wct_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] + + lf_tools.attach_report_graphs(report_name=report_name) + print("Test Completed... Cleaning up Stations") + assert True + + @pytest.mark.wpa2_enterprise + @pytest.mark.fiveg + @pytest.mark.fiveg_upstream__downstream_per_ssid_per_client + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5857", name="WIFI-5857") + def test_radius_server_fiveg_per_ssid_perclient_upstream_downstream(self, lf_test, lf_tools, rate_radius_info, + rate_radius_accounting_info, + station_names_fiveg): + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"][1] + ssid_name = profile_data["ssid_name"] + mode = "BRIDGE" + vlan = 1 + security = "wpa2" + band = "fiveg" + eap = "TTLS" + print("authentication", rate_radius_info) + print("accounting", rate_radius_accounting_info) + ttls_passwd = rate_radius_info["password"] + identity = rate_radius_info['user'] + allure.attach(name="ssid-rates", body=str(profile_data["rate-limit"])) + passes = lf_test.EAP_Connect(ssid=ssid_name, security=security, + mode=mode, band=band, + eap=eap, ttls_passwd=ttls_passwd, identity=identity, + station_name=station_names_fiveg, ieee80211w=0, vlan_id=vlan, cleanup=False) + print(passes) + if passes: + raw_lines = [["dl_rate_sel: Per-Station Download Rate:"], ["ul_rate_sel: Per-Station Download Rate:"]] + wct_obj = lf_test.wifi_capacity(instance_name="Test_Radius_5g_upstream_downstream_per_ssid_perclient", mode=mode, + vlan_id=vlan, + download_rate="1Gbps", batch_size="1", + upload_rate="1Gbps", protocol="TCP-IPv4", duration="60000", + raw_lines=raw_lines) + + report_name = wct_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] + + lf_tools.attach_report_graphs(report_name=report_name) + print("Test Completed... Cleaning up Stations") + assert True + + @pytest.mark.wpa2_enterprise + @pytest.mark.twog + @pytest.mark.twog_per_ssid + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5858", name="WIFI-5858") + def test_radius_server_2g_per_ssid(self, lf_test, lf_tools, rate_radius_info, rate_radius_accounting_info, + station_names_twog): + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"][0] + ssid_name = profile_data["ssid_name"] + mode = "BRIDGE" + vlan = 1 + security = "wpa2" + band = "twog" + eap = "TTLS" + print("authentication", rate_radius_info) + print("accounting", rate_radius_accounting_info) + ttls_passwd = rate_radius_info["password"] + identity = rate_radius_info['user'] + allure.attach(name="ssid-rates", body=str(profile_data["rate-limit"])) + passes = lf_test.EAP_Connect(ssid=ssid_name, security=security, + mode=mode, band=band, + eap=eap, ttls_passwd=ttls_passwd, identity=identity, + station_name=station_names_twog, ieee80211w=0, vlan_id=vlan, cleanup=False) + print(passes) + if passes: + raw_lines = [["dl_rate_sel: Total Download Rate:"], ["ul_rate_sel: Total Download Rate:"]] + wct_obj = lf_test.wifi_capacity(instance_name="Test_Radius_2g_per_ssid", mode=mode, vlan_id=vlan, + download_rate="0bps", batch_size="1", + upload_rate="1Gbps", protocol="TCP and UDP IPv4", duration="60000", + raw_lines=raw_lines) + + report_name = wct_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] + + lf_tools.attach_report_graphs(report_name=report_name) + print("Test Completed... Cleaning up Stations") + assert True + + @pytest.mark.wpa2_enterprise + @pytest.mark.fiveg + @pytest.mark.fiveg_per_ssid + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5860", name="WIFI-5860") + def test_radius_server_fiveg_per_ssid(self, lf_test, lf_tools, rate_radius_info, rate_radius_accounting_info, + station_names_fiveg): + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"][1] + ssid_name = profile_data["ssid_name"] + mode = "BRIDGE" + vlan = 1 + security = "wpa2" + band = "fiveg" + eap = "TTLS" + print("authentication", rate_radius_info) + print("accounting", rate_radius_accounting_info) + ttls_passwd = rate_radius_info["password"] + identity = rate_radius_info['user'] + allure.attach(name="ssid-rates", body=str(profile_data["rate-limit"])) + passes = lf_test.EAP_Connect(ssid=ssid_name, security=security, + mode=mode, band=band, + eap=eap, ttls_passwd=ttls_passwd, identity=identity, + station_name=station_names_fiveg, ieee80211w=0, vlan_id=vlan, cleanup=False) + print(passes) + if passes: + raw_lines = [["dl_rate_sel: Total Download Rate:"], ["ul_rate_sel: Per-Station Upload Rate:"]] + wct_obj = lf_test.wifi_capacity(instance_name="Test_Radius_5g_per_ssid", mode=mode, vlan_id=vlan, + download_rate="1Gbps", batch_size="1", + upload_rate="0bps", protocol="TCP-IPv4", duration="60000", + raw_lines=raw_lines) + + report_name = wct_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] + + lf_tools.attach_report_graphs(report_name=report_name) + print("Test Completed... Cleaning up Stations") + assert True + + @pytest.mark.wpa2_enterprise + @pytest.mark.twog + @pytest.mark.twog_per_ssid_per_client + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5862", name="WIFI-5862") + def test_radius_server_2g_per_ssid_per_client(self, lf_test, lf_tools, rate_radius_info, rate_radius_accounting_info, + station_names_twog): + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"][0] + ssid_name = profile_data["ssid_name"] + mode = "BRIDGE" + vlan = 1 + security = "wpa2" + band = "twog" + eap = "TTLS" + print("authentication", rate_radius_info) + print("accounting", rate_radius_accounting_info) + ttls_passwd = rate_radius_info["password"] + identity = rate_radius_info['user'] + allure.attach(name="ssid-rates", body=str(profile_data["rate-limit"])) + passes = lf_test.EAP_Connect(ssid=ssid_name, security=security, + mode=mode, band=band, + eap=eap, ttls_passwd=ttls_passwd, identity=identity, + station_name=station_names_twog, ieee80211w=0, vlan_id=vlan, cleanup=False) + print(passes) + if passes: + raw_lines = [["dl_rate_sel: Per-Station Download Rate:"], ["ul_rate_sel: Per-Station Upload Rate:"]] + wct_obj = lf_test.wifi_capacity(instance_name="Test_Radius_2g_per_ssid_per_client", mode=mode, vlan_id=vlan, + download_rate="1Gbps", batch_size="1", + upload_rate="1Gbps", protocol="TCP and UDP IPv4", duration="60000", + raw_lines=raw_lines) + + report_name = wct_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] + + lf_tools.attach_report_graphs(report_name=report_name) + print("Test Completed... Cleaning up Stations") + assert True + + @pytest.mark.wpa2_enterprise + @pytest.mark.fiveg + @pytest.mark.fiveg_per_ssid_per_client + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5864", name="WIFI-5864") + def test_radius_server_fiveg_per_ssid_per_client(self, lf_test, lf_tools, rate_radius_info, rate_radius_accounting_info, + station_names_fiveg): + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"][1] + ssid_name = profile_data["ssid_name"] + mode = "BRIDGE" + vlan = 1 + security = "wpa2" + band = "fiveg" + eap = "TTLS" + print("authentication", rate_radius_info) + print("accounting", rate_radius_accounting_info) + ttls_passwd = rate_radius_info["password"] + identity = rate_radius_info['user'] + allure.attach(name="ssid-rates", body=str(profile_data["rate-limit"])) + passes = lf_test.EAP_Connect(ssid=ssid_name, security=security, + mode=mode, band=band, + eap=eap, ttls_passwd=ttls_passwd, identity=identity, + station_name=station_names_fiveg, ieee80211w=0, vlan_id=vlan, cleanup=False) + print(passes) + if passes: + raw_lines = [["dl_rate_sel: Per-Station Download Rate:"], ["ul_rate_sel: Per-Station Upload Rate:"]] + wct_obj = lf_test.wifi_capacity(instance_name="Test_Radius_5g_per_ssid_per_client", mode=mode, vlan_id=vlan, + download_rate="1Gbps", batch_size="1", + upload_rate="0bps", protocol="TCP and UDP IPv4", duration="60000", + raw_lines=raw_lines) + + report_name = wct_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] + + lf_tools.attach_report_graphs(report_name=report_name) + print("Test Completed... Cleaning up Stations") + assert True + + @pytest.mark.wpa2_enterprise + @pytest.mark.twog + @pytest.mark.twog_per_ssid_down + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5868", name="WIFI-5868") + def test_radius_server_2g_per_ssid_downstream(self, lf_test, lf_tools, rate_radius_info, + rate_radius_accounting_info, + station_names_twog): + profile_data = setup_params_general["ssid_modes"]["wpa2_enterprise"][0] + ssid_name = profile_data["ssid_name"] + mode = "BRIDGE" + vlan = 1 + security = "wpa2" + band = "twog" + eap = "TTLS" + print("authentication", rate_radius_info) + print("accounting", rate_radius_accounting_info) + ttls_passwd = rate_radius_info["password"] + identity = rate_radius_info['user'] + allure.attach(name="ssid-rates", body=str(profile_data["rate-limit"])) + passes = lf_test.EAP_Connect(ssid=ssid_name, security=security, + mode=mode, band=band, + eap=eap, ttls_passwd=ttls_passwd, identity=identity, + station_name=station_names_twog, ieee80211w=0, vlan_id=vlan, cleanup=False) + print(passes) + if passes: + raw_lines = [["dl_rate_sel: Total Download Rate:"], ["ul_rate_sel: Total Upload Rate:"]] + wct_obj = lf_test.wifi_capacity(instance_name="Test_Radius_2g", mode=mode, vlan_id=vlan, + download_rate="1Gbps", batch_size="1", + upload_rate="0bps", protocol="TCP and UDP IPv4", duration="60000", + raw_lines=raw_lines) + + report_name = wct_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] + + lf_tools.attach_report_graphs(report_name=report_name) + print("Test Completed... Cleaning up Stations") + assert True diff --git a/tests/e2e/interOp/conftest.py b/tests/e2e/interOp/conftest.py index 34e04e5c7..ceda118bb 100644 --- a/tests/e2e/interOp/conftest.py +++ b/tests/e2e/interOp/conftest.py @@ -196,7 +196,7 @@ def setup_vlan(): @pytest.fixture(scope="class") -def setup_profiles(request, setup_controller, testbed, get_equipment_ref, fixtures_ver, skip_lf, +def setup_profiles(request, setup_controller, testbed, get_equipment_ref, fixtures_ver, skip_lf, get_openflow, instantiate_profile, get_markers, create_lanforge_chamberview_dut, lf_tools, get_security_flags, get_configuration, radius_info, get_apnos, radius_accounting_info): @@ -229,7 +229,7 @@ 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) + radius_accounting_info, skip_lf=skip_lf, open_flow=get_openflow) yield return_var diff --git a/tests/e2e/interOp/validation_of_operating_modes/bridge_mode/client_connect_test/android/test_enterprise_ttls.py b/tests/e2e/interOp/validation_of_operating_modes/bridge_mode/client_connect_test/android/test_enterprise_ttls.py index b83686d69..899301b14 100644 --- a/tests/e2e/interOp/validation_of_operating_modes/bridge_mode/client_connect_test/android/test_enterprise_ttls.py +++ b/tests/e2e/interOp/validation_of_operating_modes/bridge_mode/client_connect_test/android/test_enterprise_ttls.py @@ -40,9 +40,9 @@ setup_params_enterprise = { } for sec_modes in setup_params_enterprise['ssid_modes'].keys(): for i in range(len(setup_params_enterprise['ssid_modes'][sec_modes])): - N = 6 - rand_string = ''.join(random.choices(string.ascii_uppercase + - string.digits, k=N)) + 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") diff --git a/tests/e2e/interOp/validation_of_operating_modes/bridge_mode/client_connect_test/android/test_general_security_modes.py b/tests/e2e/interOp/validation_of_operating_modes/bridge_mode/client_connect_test/android/test_general_security_modes.py index 7d1895e4c..783b69266 100644 --- a/tests/e2e/interOp/validation_of_operating_modes/bridge_mode/client_connect_test/android/test_general_security_modes.py +++ b/tests/e2e/interOp/validation_of_operating_modes/bridge_mode/client_connect_test/android/test_general_security_modes.py @@ -40,9 +40,9 @@ setup_params_general = { for sec_modes in setup_params_general['ssid_modes'].keys(): for i in range(len(setup_params_general['ssid_modes'][sec_modes])): - N = 6 - rand_string = ''.join(random.choices(string.ascii_uppercase + - string.digits, k=N)) + 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") @@ -307,9 +307,9 @@ setup_params_general_two = { 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 = 6 - rand_string = ''.join(random.choices(string.ascii_uppercase + - string.digits, k=N)) + 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 @allure.suite(suite_name="interop sanity") diff --git a/tests/e2e/interOp/validation_of_operating_modes/bridge_mode/client_connect_test/iOS/test_enterprise_ttls.py b/tests/e2e/interOp/validation_of_operating_modes/bridge_mode/client_connect_test/iOS/test_enterprise_ttls.py index 3fa7662a3..c5ee46f25 100644 --- a/tests/e2e/interOp/validation_of_operating_modes/bridge_mode/client_connect_test/iOS/test_enterprise_ttls.py +++ b/tests/e2e/interOp/validation_of_operating_modes/bridge_mode/client_connect_test/iOS/test_enterprise_ttls.py @@ -44,9 +44,9 @@ setup_params_enterprise = { for sec_modes in setup_params_enterprise['ssid_modes'].keys(): for i in range(len(setup_params_enterprise['ssid_modes'][sec_modes])): - N = 6 - rand_string = ''.join(random.choices(string.ascii_uppercase + - string.digits, k=N)) + 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") diff --git a/tests/e2e/interOp/validation_of_operating_modes/bridge_mode/client_connect_test/iOS/test_general_security_modes.py b/tests/e2e/interOp/validation_of_operating_modes/bridge_mode/client_connect_test/iOS/test_general_security_modes.py index 493909210..9832b763a 100644 --- a/tests/e2e/interOp/validation_of_operating_modes/bridge_mode/client_connect_test/iOS/test_general_security_modes.py +++ b/tests/e2e/interOp/validation_of_operating_modes/bridge_mode/client_connect_test/iOS/test_general_security_modes.py @@ -42,9 +42,9 @@ setup_params_general = { } for sec_modes in setup_params_general['ssid_modes'].keys(): for i in range(len(setup_params_general['ssid_modes'][sec_modes])): - N = 6 - rand_string = ''.join(random.choices(string.ascii_uppercase + - string.digits, k=N)) + 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") @@ -298,9 +298,9 @@ setup_params_general_two = { } 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 = 6 - rand_string = ''.join(random.choices(string.ascii_uppercase + - string.digits, k=N)) + 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 @allure.suite(suite_name="interop sanity") diff --git a/tests/e2e/interOp/validation_of_operating_modes/nat_mode/client_connect_test/android/test_enterprise_ttls.py b/tests/e2e/interOp/validation_of_operating_modes/nat_mode/client_connect_test/android/test_enterprise_ttls.py index e2a76f04a..da5d637f3 100644 --- a/tests/e2e/interOp/validation_of_operating_modes/nat_mode/client_connect_test/android/test_enterprise_ttls.py +++ b/tests/e2e/interOp/validation_of_operating_modes/nat_mode/client_connect_test/android/test_enterprise_ttls.py @@ -40,9 +40,9 @@ setup_params_enterprise = { } for sec_modes in setup_params_enterprise['ssid_modes'].keys(): for i in range(len(setup_params_enterprise['ssid_modes'][sec_modes])): - N = 6 - rand_string = ''.join(random.choices(string.ascii_uppercase + - string.digits, k=N)) + 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") diff --git a/tests/e2e/interOp/validation_of_operating_modes/nat_mode/client_connect_test/android/test_general_security_modes.py b/tests/e2e/interOp/validation_of_operating_modes/nat_mode/client_connect_test/android/test_general_security_modes.py index c002fdb73..1a43de880 100644 --- a/tests/e2e/interOp/validation_of_operating_modes/nat_mode/client_connect_test/android/test_general_security_modes.py +++ b/tests/e2e/interOp/validation_of_operating_modes/nat_mode/client_connect_test/android/test_general_security_modes.py @@ -39,9 +39,9 @@ setup_params_general = { } for sec_modes in setup_params_general['ssid_modes'].keys(): for i in range(len(setup_params_general['ssid_modes'][sec_modes])): - N = 6 - rand_string = ''.join(random.choices(string.ascii_uppercase + - string.digits, k=N)) + 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 @@ -303,9 +303,9 @@ setup_params_general_two = { 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 = 6 - rand_string = ''.join(random.choices(string.ascii_uppercase + - string.digits, k=N)) + 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 @allure.suite(suite_name="interop sanity") diff --git a/tests/e2e/interOp/validation_of_operating_modes/nat_mode/client_connect_test/iOS/test_enterprise_ttls.py b/tests/e2e/interOp/validation_of_operating_modes/nat_mode/client_connect_test/iOS/test_enterprise_ttls.py index 65a19a2cb..3c926e960 100644 --- a/tests/e2e/interOp/validation_of_operating_modes/nat_mode/client_connect_test/iOS/test_enterprise_ttls.py +++ b/tests/e2e/interOp/validation_of_operating_modes/nat_mode/client_connect_test/iOS/test_enterprise_ttls.py @@ -43,9 +43,9 @@ setup_params_enterprise = { } for sec_modes in setup_params_enterprise['ssid_modes'].keys(): for i in range(len(setup_params_enterprise['ssid_modes'][sec_modes])): - N = 6 - rand_string = ''.join(random.choices(string.ascii_uppercase + - string.digits, k=N)) + 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") diff --git a/tests/e2e/interOp/validation_of_operating_modes/nat_mode/client_connect_test/iOS/test_general_security_modes.py b/tests/e2e/interOp/validation_of_operating_modes/nat_mode/client_connect_test/iOS/test_general_security_modes.py index 7f5c04577..05e13c89a 100644 --- a/tests/e2e/interOp/validation_of_operating_modes/nat_mode/client_connect_test/iOS/test_general_security_modes.py +++ b/tests/e2e/interOp/validation_of_operating_modes/nat_mode/client_connect_test/iOS/test_general_security_modes.py @@ -43,9 +43,10 @@ setup_params_general = { for sec_modes in setup_params_general['ssid_modes'].keys(): for i in range(len(setup_params_general['ssid_modes'][sec_modes])): - N = 6 - rand_string = ''.join(random.choices(string.ascii_uppercase + - string.digits, k=N)) + 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") @@ -300,9 +301,9 @@ setup_params_general_two = { 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 = 6 - rand_string = ''.join(random.choices(string.ascii_uppercase + - string.digits, k=N)) + 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 @allure.suite(suite_name="interop sanity") diff --git a/tests/e2e/interOp/validation_of_operating_modes/vlan_mode/client_connect_test/android/test_enterprise_ttls.py b/tests/e2e/interOp/validation_of_operating_modes/vlan_mode/client_connect_test/android/test_enterprise_ttls.py index 9bd90aa40..61ae0c96c 100644 --- a/tests/e2e/interOp/validation_of_operating_modes/vlan_mode/client_connect_test/android/test_enterprise_ttls.py +++ b/tests/e2e/interOp/validation_of_operating_modes/vlan_mode/client_connect_test/android/test_enterprise_ttls.py @@ -40,9 +40,9 @@ setup_params_enterprise = { } for sec_modes in setup_params_enterprise['ssid_modes'].keys(): for i in range(len(setup_params_enterprise['ssid_modes'][sec_modes])): - N = 6 - rand_string = ''.join(random.choices(string.ascii_uppercase + - string.digits, k=N)) + 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") diff --git a/tests/e2e/interOp/validation_of_operating_modes/vlan_mode/client_connect_test/android/test_general_security_modes.py b/tests/e2e/interOp/validation_of_operating_modes/vlan_mode/client_connect_test/android/test_general_security_modes.py index 50fcab425..0c41620f1 100644 --- a/tests/e2e/interOp/validation_of_operating_modes/vlan_mode/client_connect_test/android/test_general_security_modes.py +++ b/tests/e2e/interOp/validation_of_operating_modes/vlan_mode/client_connect_test/android/test_general_security_modes.py @@ -39,9 +39,9 @@ setup_params_general = { } for sec_modes in setup_params_general['ssid_modes'].keys(): for i in range(len(setup_params_general['ssid_modes'][sec_modes])): - N = 6 - rand_string = ''.join(random.choices(string.ascii_uppercase + - string.digits, k=N)) + 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") @@ -291,9 +291,9 @@ setup_params_general_two = { } 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 = 6 - rand_string = ''.join(random.choices(string.ascii_uppercase + - string.digits, k=N)) + 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 @allure.suite(suite_name="interop sanity") diff --git a/tests/e2e/interOp/validation_of_operating_modes/vlan_mode/client_connect_test/iOS/test_enterprise_ttls.py b/tests/e2e/interOp/validation_of_operating_modes/vlan_mode/client_connect_test/iOS/test_enterprise_ttls.py index 100613af7..39c5778de 100644 --- a/tests/e2e/interOp/validation_of_operating_modes/vlan_mode/client_connect_test/iOS/test_enterprise_ttls.py +++ b/tests/e2e/interOp/validation_of_operating_modes/vlan_mode/client_connect_test/iOS/test_enterprise_ttls.py @@ -43,9 +43,9 @@ setup_params_enterprise = { } for sec_modes in setup_params_enterprise['ssid_modes'].keys(): for i in range(len(setup_params_enterprise['ssid_modes'][sec_modes])): - N = 6 - rand_string = ''.join(random.choices(string.ascii_uppercase + - string.digits, k=N)) + 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") diff --git a/tests/e2e/interOp/validation_of_operating_modes/vlan_mode/client_connect_test/iOS/test_general_security_mode.py b/tests/e2e/interOp/validation_of_operating_modes/vlan_mode/client_connect_test/iOS/test_general_security_mode.py index ad468e8e2..2d4dc2944 100644 --- a/tests/e2e/interOp/validation_of_operating_modes/vlan_mode/client_connect_test/iOS/test_general_security_mode.py +++ b/tests/e2e/interOp/validation_of_operating_modes/vlan_mode/client_connect_test/iOS/test_general_security_mode.py @@ -41,9 +41,9 @@ setup_params_general = { } for sec_modes in setup_params_general['ssid_modes'].keys(): for i in range(len(setup_params_general['ssid_modes'][sec_modes])): - N = 6 - rand_string = ''.join(random.choices(string.ascii_uppercase + - string.digits, k=N)) + 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") @@ -288,9 +288,9 @@ setup_params_general_two = { } 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 = 6 - rand_string = ''.join(random.choices(string.ascii_uppercase + - string.digits, k=N)) + 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 @allure.suite(suite_name="interop sanity") diff --git a/tests/fixtures_2x.py b/tests/fixtures_2x.py index 2d58ffaa7..deb5bcd98 100644 --- a/tests/fixtures_2x.py +++ b/tests/fixtures_2x.py @@ -358,14 +358,16 @@ class Fixtures_2x: def setup_profiles(self, request, param, setup_controller, testbed, get_equipment_ref, instantiate_profile, get_markers, create_lanforge_chamberview_dut, lf_tools, get_security_flags, get_configuration, radius_info, get_apnos, - radius_accounting_info, skip_lf=False): + radius_accounting_info, skip_lf=False, open_flow=None): instantiate_profile_obj = instantiate_profile(sdk_client=setup_controller) print(1, instantiate_profile_obj.sdk_client) vlan_id, mode = 0, 0 parameter = dict(param) + print("parameter", parameter) test_cases = {} profile_data = {} + var = "" if parameter['mode'] not in ["BRIDGE", "NAT", "VLAN"]: print("Invalid Mode: ", parameter['mode']) @@ -392,6 +394,7 @@ class Fixtures_2x: data = parameter["ssid_modes"][i][j] profile_data["ssid"][i].append(data) lf_dut_data = [] + for mode in profile_data['ssid']: if mode == "open": for j in profile_data["ssid"][mode]: @@ -425,6 +428,7 @@ class Fixtures_2x: test_cases["wpa_2g"] = False if mode == "wpa2_personal": for j in profile_data["ssid"][mode]: + if mode in get_markers.keys() and get_markers[mode]: try: if j["appliedRadios"].__contains__("2G"): @@ -486,6 +490,13 @@ class Fixtures_2x: # EAP SSID Modes if mode == "wpa2_enterprise": for j in profile_data["ssid"][mode]: + if "radius_auth_data" in j: + print("yes") + var = True + else: + print("no") + var = False + if mode in get_markers.keys() and get_markers[mode]: try: if j["appliedRadios"].__contains__("2G"): @@ -494,12 +505,20 @@ class Fixtures_2x: lf_dut_data.append(j) j["appliedRadios"] = list(set(j["appliedRadios"])) j['security'] = 'wpa2' - RADIUS_SERVER_DATA = radius_info - RADIUS_ACCOUNTING_DATA = radius_accounting_info - creates_profile = instantiate_profile_obj.add_ssid(ssid_data=j, radius=True, - radius_auth_data=RADIUS_SERVER_DATA, - radius_accounting_data=RADIUS_ACCOUNTING_DATA) - test_cases["wpa_2g"] = True + if var : + RADIUS_SERVER_DATA = j["radius_auth_data"] + RADIUS_ACCOUNTING_DATA = j['radius_acc_data'] + creates_profile = instantiate_profile_obj.add_ssid(ssid_data=j, radius=True, + radius_auth_data=RADIUS_SERVER_DATA, + radius_accounting_data=RADIUS_ACCOUNTING_DATA) + test_cases["wpa_2g"] = True + else: + RADIUS_SERVER_DATA = radius_info + RADIUS_ACCOUNTING_DATA = radius_accounting_info + creates_profile = instantiate_profile_obj.add_ssid(ssid_data=j, radius=True, + radius_auth_data=RADIUS_SERVER_DATA, + radius_accounting_data=RADIUS_ACCOUNTING_DATA) + test_cases["wpa_2g"] = True except Exception as e: print(e) test_cases["wpa2_personal"] = False @@ -544,8 +563,8 @@ class Fixtures_2x: try: if parameter['express-wifi']: - instantiate_profile_obj.set_express_wifi() - except: + instantiate_profile_obj.set_express_wifi(open_flow=open_flow) + except Exception as e: pass try: diff --git a/tests/test_connectivity.py b/tests/test_connectivity.py index 826458340..6a8766150 100644 --- a/tests/test_connectivity.py +++ b/tests/test_connectivity.py @@ -142,12 +142,22 @@ class TestResources(object): allure.attach(name="Exoected SDK: ", body=str(expected_sdk)) print("SDK On AP: ", str(get_uci_show.split("=")[1])) allure.attach(name="SDK Pointed by AP: ", body=str(get_uci_show.split("=")[1])) + for ap in get_configuration["access_point"]: + out = setup_controller.get_device_by_serial_number(serial_number=ap["serial"]) + if "ErrorCode" in out.keys(): + print(out) + allure.attach(name="Error Device not found in Gateway: ", body=str(out)) + pytest.exit("Error Device not found in Gateway:") + else: + print(out) + allure.attach(name="Device is available in Gateway: ", body=str(out)) if expected_sdk not in get_uci_show: pytest.exit("AP has invalid Redirector") if test_ap_connection_status[0] == 0: pytest.exit("AP in Disconnected State") assert False not in data + @pytest.mark.traffic_generator_connectivity @allure.testcase(name="test_traffic_generator_connectivity", url="") def test_traffic_generator_connectivity(self, traffic_generator_connectivity):