From 0d97234ce50ccef4e528c53dc97f6546cef5c986 Mon Sep 17 00:00:00 2001 From: Nikita Yadav Date: Sat, 6 Nov 2021 09:33:41 +0530 Subject: [PATCH] duplicating testcase in nat mode --- .../wpa2_personal/test_nat_mode.py | 147 ++++++++++-------- 1 file changed, 86 insertions(+), 61 deletions(-) diff --git a/tests/e2e/advanced/rate_vs_range/wpa2_personal/test_nat_mode.py b/tests/e2e/advanced/rate_vs_range/wpa2_personal/test_nat_mode.py index f7ab95d09..97ab84644 100644 --- a/tests/e2e/advanced/rate_vs_range/wpa2_personal/test_nat_mode.py +++ b/tests/e2e/advanced/rate_vs_range/wpa2_personal/test_nat_mode.py @@ -1,7 +1,8 @@ """ Advanced Test: Rate v/s Range test under various combinations: NAT Mode - pytest -m "throughput_benchmark_test and nat" -s -vvv --skip-testrail --testbed=basic-01 + pytest -m "ratevsrange and NAT " -s -vvv --skip-testrail --testbed=basic-01 --alluredir=../allure_reports + --> allure serve ../allure_reports/ """ @@ -10,31 +11,26 @@ import time import pytest import allure +import os.path +import csv +import pandas as pd -pytestmark = [pytest.mark.ratevsrange, pytest.mark.nat ,pytest.mark.usefixtures("setup_test_run")] +pytestmark = [pytest.mark.advance, pytest.mark.ratevsrange, pytest.mark.nat] setup_params_general = { "mode": "NAT", "ssid_modes": { - "open": [{"ssid_name": "ssid_open_2g", "appliedRadios": ["is2dot4GHz"]}, - {"ssid_name": "ssid_open_5g", "appliedRadios": ["is5GHzU", "is5GHz", "is5GHzL"]}], - "wpa": [{"ssid_name": "ssid_wpa_2g", "appliedRadios": ["is2dot4GHz"], "security_key": "something"}, - {"ssid_name": "ssid_wpa_5g", "appliedRadios": ["is5GHzU", "is5GHz", "is5GHzL"], - "security_key": "something"}], "wpa2_personal": [ - {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["is2dot4GHz"], "security_key": "something"}, - {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["is5GHzU", "is5GHz", "is5GHzL"], - "security_key": "something"}]}, - "rf": { - "is5GHz": {"channelBandwidth": "is20MHz"}, - "is5GHzL": {"channelBandwidth": "is20MHz"}, - "is5GHzU": {"channelBandwidth": "is20MHz"} + {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something"}, + {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"} + ] }, + "rf": {}, "radius": False } -@allure.feature("BRIDGE MODE CLIENT CONNECTIVITY") +@allure.feature("NAT MODE CLIENT CONNECTIVITY") @pytest.mark.parametrize( 'setup_profiles', [setup_params_general], @@ -48,12 +44,12 @@ class TestRatevsRangeNat(object): @pytest.mark.wpa2_personal @pytest.mark.twog @pytest.mark.client11b - def test_client_wpa2_personal_2g_11b(self, get_vif_state, - lf_test, station_names_twog, create_lanforge_chamberview_dut, + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-2495", name="WIFI-2495") + def test_client_wpa2_personal_2g_11b(self, lf_test, station_names_twog, create_lanforge_chamberview_dut, get_configuration, lf_tools): """ - pytest -m "ratevsrange and nat and 11bclient" -s -vvv --skip-testrail --testbed=advanced-02 + pytest -m "ratevsrange and client11b" -s -vvv --skip-testrail --testbed=advanced-02 jira- wifi-2495 """ profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][0] @@ -64,9 +60,7 @@ class TestRatevsRangeNat(object): band = "twog" vlan = 1 dut_name = create_lanforge_chamberview_dut - if ssid_name not in get_vif_state: - allure.attach(name="retest,vif state ssid not available:", body=str(get_vif_state)) - pytest.xfail("SSID NOT AVAILABLE IN VIF STATE") + station = lf_test.Client_Connect(ssid=ssid_name, security=security, passkey=security_key, mode=mode, band=band, station_name=station_names_twog, vlan_id=vlan) @@ -78,10 +72,13 @@ class TestRatevsRangeNat(object): if station: time.sleep(3) rvr_o = lf_test.ratevsrange(station_name=station_names_twog, mode=mode, - instance_name="NAT_RVR_11B", + instance_name="NAT_RVR_11B_TWO_G", vlan_id=vlan, dut_name=dut_name, raw_lines=val) report_name = rvr_o.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] + print("report name ", report_name) entries = os.listdir("../reports/" + report_name + '/') + print("entries",entries) + lf_tools.attach_report_graphs(report_name=report_name, pdf_name="Rate vs Range Test") pdf = False for i in entries: if ".pdf" in i: @@ -89,11 +86,20 @@ class TestRatevsRangeNat(object): if pdf: allure.attach.file(source="../reports/" + report_name + "/" + pdf, name=get_configuration["access_point"][0]["model"] + "ratevsrange") + + print("Test Completed... Cleaning up Stations") lf_test.Client_disconnect(station_name=station_names_twog) + kpi_val = lf_tools.read_kpi_file(column_name=None, dir_name=report_name) print(str(kpi_val)) - allure.attach(name="Kpi Data", body=str(kpi_val)) + if str(kpi_val) == "empty": + print("kpi is empty, station did not got ip, Test failed") + allure.attach(name="Kpi Data", body="station did not got ip Test failed.") + assert False + else: + print("Test passed successfully") + allure.attach(name="Kpi Data", body=str(kpi_val)) assert station else: assert False @@ -101,12 +107,13 @@ class TestRatevsRangeNat(object): @pytest.mark.wpa2_personal @pytest.mark.twog @pytest.mark.client11g - def test_client_wpa2_personal_2g_11g(self, get_vif_state, + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-2496", name="WIFI-2496") + def test_client_wpa2_personal_2g_11g(self, lf_test, station_names_twog, create_lanforge_chamberview_dut, get_configuration, lf_tools): """ - pytest -m "ratevsrange and nat and client11g" -s -vvv --skip-testrail --testbed=advanced-02 + pytest -m "ratevsrange and NAT and client11g" -s -vvv --skip-testrail --testbed=advanced-02 jira- wifi-2496 """ profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][0] @@ -117,25 +124,22 @@ class TestRatevsRangeNat(object): band = "twog" vlan = 1 dut_name = create_lanforge_chamberview_dut - if ssid_name not in get_vif_state: - allure.attach(name="retest,vif state ssid not available:", body=str(get_vif_state)) - pytest.xfail("SSID NOT AVAILABLE IN VIF STATE") station = lf_test.Client_Connect(ssid=ssid_name, security=security, passkey=security_key, mode=mode, band=band, station_name=station_names_twog, vlan_id=vlan) print("station", station) - val = [['modes: 802.11G'], ['pkts: MTU'], ['directions: DUT Transmit'], ['traffic_types:TCP'], + val = [['modes: 802.11g'], ['pkts: MTU'], ['directions: DUT Transmit'], ['traffic_types:TCP'], ['bandw_options: AUTO'], ['spatial_streams: AUTO'], ['attenuator: 1.1.3034'], ['attenuator2: 1.1.3059'], ['attenuations: 0..+50..950'], ['attenuations2: 0..+50..950']] - if station: time.sleep(3) rvr_o = lf_test.ratevsrange(station_name=station_names_twog, mode=mode, - instance_name="NAT_RVR_11G", + instance_name="NAT_RVR_11G_TWO_G", vlan_id=vlan, dut_name=dut_name, raw_lines=val) report_name = rvr_o.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] entries = os.listdir("../reports/" + report_name + '/') + lf_tools.attach_report_graphs(report_name=report_name, pdf_name="Rate vs Range Test") pdf = False for i in entries: if ".pdf" in i: @@ -145,9 +149,17 @@ class TestRatevsRangeNat(object): name=get_configuration["access_point"][0]["model"] + "ratevsrange") print("Test Completed... Cleaning up Stations") lf_test.Client_disconnect(station_name=station_names_twog) + script_dir = os.path.dirname(__file__) # Script directory + print(script_dir) kpi_val = lf_tools.read_kpi_file(column_name=None, dir_name=report_name) print(str(kpi_val)) - allure.attach(name="Kpi Data", body=str(kpi_val)) + if str(kpi_val) == "empty": + print("kpi is empty, station did not got ip, Test failed") + allure.attach(name="Kpi Data", body="station did not got ip Test failed.") + assert False + else: + print("Test passed successfully") + allure.attach(name="Kpi Data", body=str(kpi_val)) assert station else: assert False @@ -155,12 +167,13 @@ class TestRatevsRangeNat(object): @pytest.mark.wpa2_personal @pytest.mark.fiveg @pytest.mark.client11a - def test_client_wpa2_personal_5g_11a(self, get_vif_state, + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-2497", name="WIFI-2497") + def test_client_wpa2_personal_5g_11a(self, lf_test, station_names_fiveg, create_lanforge_chamberview_dut, - get_configuration, lf_tools): + get_configuration,lf_tools): """ - pytest -m "ratevsrange and nat and client11a" -s -vvv --skip-testrail --testbed=advanced-02 + pytest -m "ratevsrange and NAT and client11a" -s -vvv --skip-testrail --testbed=advanced-02 jira- wifi-2497 """ profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][1] @@ -171,9 +184,6 @@ class TestRatevsRangeNat(object): band = "fiveg" vlan = 1 dut_name = create_lanforge_chamberview_dut - if ssid_name not in get_vif_state: - allure.attach(name="retest,vif state ssid not available:", body=str(get_vif_state)) - pytest.xfail("SSID NOT AVAILABLE IN VIF STATE") station = lf_test.Client_Connect(ssid=ssid_name, security=security, passkey=security_key, mode=mode, band=band, station_name=station_names_fiveg, vlan_id=vlan) @@ -182,14 +192,14 @@ class TestRatevsRangeNat(object): val = [['modes: 802.11a'], ['pkts: MTU'], ['directions: DUT Transmit'], ['traffic_types:TCP'], ['bandw_options: AUTO'], ['spatial_streams: AUTO'], ['attenuator: 1.1.3034'], ['attenuator2: 1.1.3059'], ['attenuations: 0..+50..950'], ['attenuations2: 0..+50..950']] - if station: time.sleep(3) rvr_o = lf_test.ratevsrange(station_name=station_names_fiveg, mode=mode, - instance_name="NAT_RVR_11A", + instance_name="NAT_RVR_11A_FIVE_G", vlan_id=vlan, dut_name=dut_name, raw_lines=val) report_name = rvr_o.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] entries = os.listdir("../reports/" + report_name + '/') + lf_tools.attach_report_graphs(report_name=report_name, pdf_name="Rate vs Range Test") pdf = False for i in entries: if ".pdf" in i: @@ -199,9 +209,15 @@ class TestRatevsRangeNat(object): name=get_configuration["access_point"][0]["model"] + "ratevsrange") print("Test Completed... Cleaning up Stations") lf_test.Client_disconnect(station_name=station_names_fiveg) - kpi_val = lf_tools.read_kpi_file(column_name=None, dir_name=report_name) + kpi_val = lf_tools.read_kpi_file(column_name=['numeric-score'], dir_name=report_name) print(str(kpi_val)) - allure.attach(name="Kpi Data", body=str(kpi_val)) + if str(kpi_val) == "empty": + print("kpi is empty, station did not got ip, Test failed") + allure.attach(name="Kpi Data", body="station did not got ip Test failed.") + assert False + else: + print("Test passed successfully") + allure.attach(name="Kpi Data", body=str(kpi_val)) assert station else: assert False @@ -209,12 +225,13 @@ class TestRatevsRangeNat(object): @pytest.mark.wpa2_personal @pytest.mark.fiveg @pytest.mark.client11an - def test_client_wpa2_personal_5g_11an(self, get_vif_state, + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-2498", name="WIFI-2498") + def test_client_wpa2_personal_5g_11an(self, lf_test, station_names_fiveg, create_lanforge_chamberview_dut, - get_configuration,lf_tools): + get_configuration, lf_tools): """ - pytest -m "ratevsrange and nat and client11an" -s -vvv --skip-testrail --testbed=advanced-02 + pytest -m "ratevsrange and NAT and client11an" -s -vvv --skip-testrail --testbed=advanced-02 jira- wifi-2498 """ profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][1] @@ -225,9 +242,7 @@ class TestRatevsRangeNat(object): band = "fiveg" vlan = 1 dut_name = create_lanforge_chamberview_dut - if ssid_name not in get_vif_state: - allure.attach(name="retest,vif state ssid not available:", body=str(get_vif_state)) - pytest.xfail("SSID NOT AVAILABLE IN VIF STATE") + station = lf_test.Client_Connect(ssid=ssid_name, security=security, passkey=security_key, mode=mode, band=band, station_name=station_names_fiveg, vlan_id=vlan) @@ -236,14 +251,14 @@ class TestRatevsRangeNat(object): val = [['modes: 802.11an'], ['pkts: MTU'], ['directions: DUT Transmit'], ['traffic_types:TCP'], ['bandw_options: AUTO'], ['spatial_streams: AUTO'], ['attenuator: 1.1.3034'], ['attenuator2: 1.1.3059'], ['attenuations: 0..+50..950'], ['attenuations2: 0..+50..950']] - if station: time.sleep(3) rvr_o = lf_test.ratevsrange(station_name=station_names_fiveg, mode=mode, - instance_name="NAT_RVR_11AN", + instance_name="NAT_RVR_11AN_FIVE_G", vlan_id=vlan, dut_name=dut_name, raw_lines=val) report_name = rvr_o.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] entries = os.listdir("../reports/" + report_name + '/') + lf_tools.attach_report_graphs(report_name=report_name, pdf_name="Rate vs Range Test") pdf = False for i in entries: if ".pdf" in i: @@ -255,7 +270,13 @@ class TestRatevsRangeNat(object): lf_test.Client_disconnect(station_name=station_names_fiveg) kpi_val = lf_tools.read_kpi_file(column_name=None, dir_name=report_name) print(str(kpi_val)) - allure.attach(name="Kpi Data", body=str(kpi_val)) + if str(kpi_val) == "empty": + print("kpi is empty, station did not got ip, Test failed") + allure.attach(name="Kpi Data", body="station did not got ip Test failed.") + assert False + else: + print("Test passed successfully") + allure.attach(name="Kpi Data", body=str(kpi_val)) assert station else: assert False @@ -264,12 +285,12 @@ class TestRatevsRangeNat(object): @pytest.mark.wpa2_personal @pytest.mark.fiveg @pytest.mark.client11ac - def test_client_wpa2_personal_5g_11ac(self, get_vif_state, - lf_test, station_names_fiveg, create_lanforge_chamberview_dut, + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-2499", name="WIFI-2499") + def test_client_wpa2_personal_5g_11ac(self, lf_test, station_names_fiveg, create_lanforge_chamberview_dut, get_configuration, lf_tools): """ - pytest -m "ratevsrange and nat and client11ac" -s -vvv --skip-testrail --testbed=advanced-02 + pytest -m "ratevsrange and NAT and client11ac" -s -vvv --skip-testrail --testbed=advanced-02 jira- wifi-2499 """ profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][1] @@ -280,25 +301,23 @@ class TestRatevsRangeNat(object): band = "fiveg" vlan = 1 dut_name = create_lanforge_chamberview_dut - if ssid_name not in get_vif_state: - allure.attach(name="retest,vif state ssid not available:", body=str(get_vif_state)) - pytest.xfail("SSID NOT AVAILABLE IN VIF STATE") + station = lf_test.Client_Connect(ssid=ssid_name, security=security, passkey=security_key, mode=mode, band=band, station_name=station_names_fiveg, vlan_id=vlan) print("station", station) val = [['modes: 802.11an-AC'], ['pkts: MTU'], ['directions: DUT Transmit'], ['traffic_types:TCP'], - ['bandw_options: AUTO'], ['spatial_streams: AUTO'], ['attenuator: 1.1.3034'], ['attenuator2: 1.1.3059'], - ['attenuations: 0..+50..950'], ['attenuations2: 0..+50..950']] + ['bandw_options: AUTO'], ['spatial_streams: AUTO'], ['attenuator: 1.1.3034'] ,['attenuator2: 1.1.3059'], ['attenuations: 0..+50..950'],['attenuations2: 0..+50..950']] if station: time.sleep(3) rvr_o = lf_test.ratevsrange(station_name=station_names_fiveg, mode=mode, - instance_name="NAT_RVR_11AC", + instance_name="NAT_RVR_11AC_FIVE_G", vlan_id=vlan, dut_name=dut_name, raw_lines=val) report_name = rvr_o.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] entries = os.listdir("../reports/" + report_name + '/') + lf_tools.attach_report_graphs(report_name=report_name, pdf_name="Rate vs Range Test") pdf = False for i in entries: if ".pdf" in i: @@ -310,7 +329,13 @@ class TestRatevsRangeNat(object): lf_test.Client_disconnect(station_name=station_names_fiveg) kpi_val = lf_tools.read_kpi_file(column_name=None, dir_name=report_name) print(str(kpi_val)) - allure.attach(name="Kpi Data", body=str(kpi_val)) + if str(kpi_val) == "empty": + print("kpi is empty, station did not got ip, Test failed") + allure.attach(name="Kpi Data", body="station did not got ip Test failed.") + assert False + else: + print("Test passed successfully") + allure.attach(name="Kpi Data", body=str(kpi_val)) assert station else: assert False