From 291356479d44c7e7a9ba3df7a18a71b21d9af19f Mon Sep 17 00:00:00 2001 From: shivamcandela Date: Tue, 29 Jun 2021 12:07:31 +0530 Subject: [PATCH] uci vlan library Signed-off-by: shivamcandela --- libs/apnos/apnos.py | 45 +++++++-------- libs/controller/ucentral_ctlr.py | 46 ++++++++------- .../test_general_security_modes.py | 12 ++-- .../test_general_security_modes.py | 57 ++++++++++--------- .../test_general_security_modes.py | 12 ++-- 5 files changed, 88 insertions(+), 84 deletions(-) diff --git a/libs/apnos/apnos.py b/libs/apnos/apnos.py index 916285488..ec845eccf 100644 --- a/libs/apnos/apnos.py +++ b/libs/apnos/apnos.py @@ -256,29 +256,26 @@ class APNOS: allure.attach(name="get_redirector ", body=redirector) return redirector - def run_generic_command(self, cmd=""): - allure.attach(name="run_generic_command ", body=cmd) + def run_generic_cmd(self): try: client = self.ssh_cli_connect() - cmd = cmd + cmd = "ubus call ucentral status" if self.mode: cmd = f"cd ~/cicd-git/ && ./openwrt_ctl.py {self.owrt_args} -t {self.tty} --action " \ f"cmd --value \"{cmd}\" " stdin, stdout, stderr = client.exec_command(cmd) - input = stdin.read().decode('utf-8').splitlines() - output = stdout.read().decode('utf-8').splitlines() - error = stderr.read().decode('utf-8').splitlines() + output = stdout.read() + output = output.decode('utf-8').splitlines() + allure.attach(name="get_serial_number output ", body=str(stderr)) + print(output) + # serial = output[1].replace(" ", "").split("|")[1] client.close() except Exception as e: print(e) - allure.attach(name="run_generic_command - Exception ", body=str(e)) - input = "Error" - output = "Error" - error = "Error" - allure.attach(name="run_generic_command ", body=input) - allure.attach(name="run_generic_command ", body=str(output)) - allure.attach(name="run_generic_command ", body=error) - return [input, output, error] + allure.attach(name="get_serial_number - Exception ", body=str(e)) + serial = "Error" + allure.attach(name="get_serial_number ", body=str(serial)) + return serial if __name__ == '__main__': @@ -292,17 +289,17 @@ if __name__ == '__main__': } abc = { - 'model': 'r160', - 'mode': 'wifi5', - 'serial': 'c4411ef53f23', + 'model': 'eap102', + 'mode': 'wifi6', + 'serial': '903cb39d6918', 'jumphost': True, - 'ip': "192.168.100.164", # localhost + 'ip': "localhost", # 10.28.3.103 'username': "lanforge", - 'password': "lanforge", - 'port': 22, # 22, - 'jumphost_tty': '/dev/ttyUSB0', - 'version': "https://tip.jfrog.io/artifactory/tip-wlan-ap-firmware/ecw5410/trunk/ecw5410-1.1.0.tar.gz" + 'password': "pumpkin77", + 'port': 8863, # 22 + 'jumphost_tty': '/dev/ttyAP2', + 'version': "https://tip.jfrog.io/artifactory/tip-wlan-ap-firmware/uCentral/edgecore_eap102/20210625-edgecore_eap102-uCentral-trunk-4225122-upgrade.bin" } var = APNOS(credentials=abc) - # r = var.run_generic_command(cmd="ubus call wifi iface") - # print(r) \ No newline at end of file + r = var.run_generic_cmd() + print(r) \ No newline at end of file diff --git a/libs/controller/ucentral_ctlr.py b/libs/controller/ucentral_ctlr.py index 15ac701c4..05bc0ac32 100644 --- a/libs/controller/ucentral_ctlr.py +++ b/libs/controller/ucentral_ctlr.py @@ -204,6 +204,7 @@ class UProfileUtility: elif mode == "VLAN": del self.base_profile_config['interfaces'][1] self.base_profile_config['interfaces'][0]['ssids'] = [] + self.base_profile_config['interfaces'] = [] else: print("Invalid Mode") return 0 @@ -222,7 +223,6 @@ class UProfileUtility: elif self.mode == "BRIDGE": self.base_profile_config['interfaces'][0]['ssids'].append(ssid_info) elif self.mode == "VLAN": - self.base_profile_config['interfaces'] = [] vid = ssid_data["vlan"] self.vlan_section = { "name": "WAN100", @@ -243,21 +243,23 @@ class UProfileUtility: } vlan_section = self.vlan_section if vid in self.vlan_ids: + print("sss", self.vlan_ids) for i in self.base_profile_config['interfaces']: if i["name"] == "WANv%s" % (vid): i["ssids"].append(ssid_info) else: + print(self.vlan_ids) self.vlan_ids.append(vid) vlan_section['name'] = "WANv%s" % (vid) vlan_section['vlan']['id'] = int(vid) vlan_section["ssids"] = [] - self.base_profile_config['interfaces'].append(vlan_section) vlan_section["ssids"].append(ssid_info) - # print(vlan_section) + self.base_profile_config['interfaces'].append(vlan_section) + print(vlan_section) vsection = 0 # Add to the ssid section # print(self.base_profile_config) - self.base_profile_config['interfaces'][vsection]['vlan'] = {'id': int(vid)} + # self.base_profile_config['interfaces'][vsection]['vlan'] = {'id': int(vid)} # self.base_profile_config['interfaces'][vsection]['ssids'].append(ssid_info) else: print("invalid mode") @@ -269,11 +271,11 @@ class UProfileUtility: payload['serialNumber'] = serial_number payload['UUID'] = 0 print(payload) - # uri = self.sdk_client.build_uri("device/" + serial_number + "/configure") - # basic_cfg_str = json.dumps(payload) - # resp = requests.post(uri, data=basic_cfg_str, headers=self.sdk_client.make_headers(), verify=False) - # self.sdk_client.check_response("POST", resp, self.sdk_client.make_headers(), basic_cfg_str, uri) - # print(resp) + uri = self.sdk_client.build_uri("device/" + serial_number + "/configure") + basic_cfg_str = json.dumps(payload) + resp = requests.post(uri, data=basic_cfg_str, headers=self.sdk_client.make_headers(), verify=False) + self.sdk_client.check_response("POST", resp, self.sdk_client.make_headers(), basic_cfg_str, uri) + print(resp) # UCENTRAL_BASE_CFG = { @@ -424,19 +426,19 @@ controller = { # "rf": {}, # "radius": False # } -obj = UController(controller_data=controller) -# # # print(obj.get_devices()) -# # # print(obj.get_device_uuid(serial_number="903cb3944873")) -# # # obj.get_device_uuid(serial_number="c4411ef53f23") -profile_client = UProfileUtility(sdk_client=obj) -profile_client.set_radio_config() -profile_client.set_mode(mode="VLAN") -ssid_data = {"ssid_name": "ssid_wpa_test_3_vlan", "vlan": 100, "appliedRadios": ["2G", "5G"], "security_key": "something", "security": "none"} -profile_client.add_ssid(ssid_data=ssid_data) -ssid_data = {"ssid_name": "ssid_wpa_test_4_vlan", "vlan": 200, "appliedRadios": ["2G", "5G"], "security_key": "something", "security": "none"} -profile_client.add_ssid(ssid_data=ssid_data) -# print(profile_client.base_profile_config) -profile_client.push_config(serial_number="903cb39d6918") +# obj = UController(controller_data=controller) +# # # # # print(obj.get_devices()) +# # # # # print(obj.get_device_uuid(serial_number="903cb3944873")) +# # # # # obj.get_device_uuid(serial_number="c4411ef53f23") +# profile_client = UProfileUtility(sdk_client=obj) +# profile_client.set_radio_config() +# profile_client.set_mode(mode="VLAN") +# ssid_data = {"ssid_name": "ssid_wpa_test_3_vlan", "vlan": 100, "appliedRadios": ["2G", "5G"], "security_key": "something", "security": "none"} +# profile_client.add_ssid(ssid_data=ssid_data) +# ssid_data = {"ssid_name": "ssid_wpa_test_4_vlan", "vlan": 100, "appliedRadios": ["2G", "5G"], "security_key": "something", "security": "none"} +# profile_client.add_ssid(ssid_data=ssid_data) +# # # print(profile_client.base_profile_config) +# profile_client.push_config(serial_number="903cb39d6918") # print(profile_client.base_profile_config) # equipments = obj.get_devices() # print(equipments) diff --git a/tests/e2e/basic/validation_of_operating_modes/bridge_mode/client_connectivity/test_general_security_modes.py b/tests/e2e/basic/validation_of_operating_modes/bridge_mode/client_connectivity/test_general_security_modes.py index 72bf08547..b86034172 100644 --- a/tests/e2e/basic/validation_of_operating_modes/bridge_mode/client_connectivity/test_general_security_modes.py +++ b/tests/e2e/basic/validation_of_operating_modes/bridge_mode/client_connectivity/test_general_security_modes.py @@ -14,15 +14,15 @@ pytestmark = [pytest.mark.client_connectivity, pytest.mark.bridge, pytest.mark.g setup_params_general = { "mode": "BRIDGE", "ssid_modes": { - "open": [{"ssid_name": "ssid_open_2g", "appliedRadios": ["is2dot4GHz"], "security_key": "something", }, - {"ssid_name": "ssid_open_5g", "appliedRadios": ["is5GHzU", "is5GHz", "is5GHzL"], + "open": [{"ssid_name": "ssid_open_2g_br", "appliedRadios": ["is2dot4GHz"], "security_key": "something", }, + {"ssid_name": "ssid_open_5g_br", "appliedRadios": ["is5GHzU", "is5GHz", "is5GHzL"], "security_key": "something", }], - "wpa": [{"ssid_name": "ssid_wpa_2g", "appliedRadios": ["is2dot4GHz"], "security_key": "something"}, - {"ssid_name": "ssid_wpa_5g", "appliedRadios": ["is5GHzU", "is5GHz", "is5GHzL"], + "wpa": [{"ssid_name": "ssid_wpa_2g_br", "appliedRadios": ["is2dot4GHz"], "security_key": "something"}, + {"ssid_name": "ssid_wpa_5g_br", "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"], + {"ssid_name": "ssid_wpa2_2g_br", "appliedRadios": ["is2dot4GHz"], "security_key": "something"}, + {"ssid_name": "ssid_wpa2_5g_br", "appliedRadios": ["is5GHzU", "is5GHz", "is5GHzL"], "security_key": "something"}]}, "rf": {}, "radius": False diff --git a/tests/e2e/basic/validation_of_operating_modes/nat_mode/client_connectivity/test_general_security_modes.py b/tests/e2e/basic/validation_of_operating_modes/nat_mode/client_connectivity/test_general_security_modes.py index 656e7813a..4f720c5e5 100644 --- a/tests/e2e/basic/validation_of_operating_modes/nat_mode/client_connectivity/test_general_security_modes.py +++ b/tests/e2e/basic/validation_of_operating_modes/nat_mode/client_connectivity/test_general_security_modes.py @@ -13,20 +13,21 @@ pytestmark = [pytest.mark.client_connectivity, pytest.mark.nat, pytest.mark.gene setup_params_general = { "mode": "NAT", "ssid_modes": { - "open": [{"ssid_name": "ssid_open_2g", "appliedRadios": ["is2dot4GHz"], "security_key": "something"}, - {"ssid_name": "ssid_open_5g", "appliedRadios": ["is5GHzU", "is5GHz", "is5GHzL"], + "open": [{"ssid_name": "ssid_open_2g_nat", "appliedRadios": ["is2dot4GHz"], "security_key": "something"}, + {"ssid_name": "ssid_open_5g_nat", "appliedRadios": ["is5GHzU", "is5GHz", "is5GHzL"], "security_key": "something"}], - "wpa": [{"ssid_name": "ssid_wpa_2g", "appliedRadios": ["is2dot4GHz"], "security_key": "something"}, - {"ssid_name": "ssid_wpa_5g", "appliedRadios": ["is5GHzU", "is5GHz", "is5GHzL"], + "wpa": [{"ssid_name": "ssid_wpa_2g_nat", "appliedRadios": ["is2dot4GHz"], "security_key": "something"}, + {"ssid_name": "ssid_wpa_5g_nat", "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"], + {"ssid_name": "ssid_wpa2_2g_nat", "appliedRadios": ["is2dot4GHz"], "security_key": "something"}, + {"ssid_name": "ssid_wpa2_5g_nat", "appliedRadios": ["is5GHzU", "is5GHz", "is5GHzL"], "security_key": "something"}]}, "rf": {}, "radius": False } + @pytest.mark.uc_sanity @pytest.mark.suiteA @pytest.mark.sanity_ucentral @@ -46,7 +47,8 @@ class TestNATModeConnectivitySuiteA(object): @pytest.mark.open @pytest.mark.twog @allure.story('open 2.4 GHZ Band') - def test_open_ssid_2g(self, get_vif_state,setup_profiles, get_lanforge_data, lf_test, update_report, station_names_twog, + def test_open_ssid_2g(self, get_vif_state, setup_profiles, get_lanforge_data, lf_test, update_report, + station_names_twog, test_cases): """Client Connectivity open ssid 2.4G pytest -m "client_connectivity and nat and general and open and twog" @@ -81,7 +83,8 @@ class TestNATModeConnectivitySuiteA(object): @pytest.mark.open @pytest.mark.fiveg @allure.story('open 5 GHZ Band') - def test_open_ssid_5g(self, get_vif_state,get_lanforge_data, lf_test, test_cases, station_names_fiveg, update_report): + def test_open_ssid_5g(self, get_vif_state, get_lanforge_data, lf_test, test_cases, station_names_fiveg, + update_report): """Client Connectivity open ssid 5G pytest -m "client_connectivity and bridge and general and open and fiveg" """ @@ -116,7 +119,7 @@ class TestNATModeConnectivitySuiteA(object): @pytest.mark.wpa @pytest.mark.twog @allure.story('wpa 2.4 GHZ Band') - def test_wpa_ssid_2g(self, get_vif_state,get_lanforge_data, update_report, + def test_wpa_ssid_2g(self, get_vif_state, get_lanforge_data, update_report, lf_test, test_cases, station_names_twog): """Client Connectivity wpa ssid 2.4G pytest -m "client_connectivity and bridge and general and wpa and twog" @@ -152,7 +155,8 @@ class TestNATModeConnectivitySuiteA(object): @pytest.mark.wpa @pytest.mark.fiveg @allure.story('wpa 5 GHZ Band') - def test_wpa_ssid_5g(self, get_vif_state,lf_test, update_report, test_cases, station_names_fiveg, get_lanforge_data): + def test_wpa_ssid_5g(self, get_vif_state, lf_test, update_report, test_cases, station_names_fiveg, + get_lanforge_data): """Client Connectivity wpa ssid 5G pytest -m "client_connectivity and bridge and general and wpa and fiveg" """ @@ -187,7 +191,7 @@ class TestNATModeConnectivitySuiteA(object): @pytest.mark.wpa2_personal @pytest.mark.twog @allure.story('wpa2_personal 2.4 GHZ Band') - def test_wpa2_personal_ssid_2g(self, get_vif_state,get_lanforge_data, lf_test, update_report, test_cases, + def test_wpa2_personal_ssid_2g(self, get_vif_state, get_lanforge_data, lf_test, update_report, test_cases, station_names_twog): """Client Connectivity wpa2_personal ssid 2.4G pytest -m "client_connectivity and bridge and general and wpa2_personal and twog" @@ -223,7 +227,8 @@ class TestNATModeConnectivitySuiteA(object): @pytest.mark.wpa2_personal @pytest.mark.fiveg @allure.story('wpa2_personal 5 GHZ Band') - def test_wpa2_personal_ssid_5g(self, get_vif_state,get_lanforge_data, update_report, test_cases, station_names_fiveg, + def test_wpa2_personal_ssid_5g(self, get_vif_state, get_lanforge_data, update_report, test_cases, + station_names_fiveg, lf_test): """Client Connectivity wpa2_personal ssid 5G pytest -m "client_connectivity and bridge and general and wpa2_personal and fiveg" @@ -294,7 +299,8 @@ class TestBridgeModeConnectivitySuiteB(object): @pytest.mark.wpa3_personal @pytest.mark.twog @allure.story('open 2.4 GHZ Band') - def test_wpa3_personal_ssid_2g(self, get_vif_state,station_names_twog, setup_profiles, get_lanforge_data, lf_test, update_report, + def test_wpa3_personal_ssid_2g(self, get_vif_state, station_names_twog, setup_profiles, get_lanforge_data, lf_test, + update_report, test_cases): """Client Connectivity open ssid 2.4G pytest -m "client_connectivity and bridge and general and wpa3_personal and twog" @@ -328,7 +334,8 @@ class TestBridgeModeConnectivitySuiteB(object): @pytest.mark.wpa3_personal @pytest.mark.fiveg @allure.story('open 5 GHZ Band') - def test_wpa3_personal_ssid_5g(self, get_vif_state,station_names_fiveg, get_lanforge_data, lf_test, test_cases, update_report): + def test_wpa3_personal_ssid_5g(self, get_vif_state, station_names_fiveg, get_lanforge_data, lf_test, test_cases, + update_report): """Client Connectivity open ssid 2.4G pytest -m "client_connectivity and bridge and general and wpa3_personal and fiveg" """ @@ -361,7 +368,8 @@ class TestBridgeModeConnectivitySuiteB(object): @pytest.mark.wpa3_personal_mixed @pytest.mark.twog @allure.story('open 2.4 GHZ Band') - def test_wpa3_personal_mixed_ssid_2g(self, get_vif_state,station_names_twog, setup_profiles, get_lanforge_data, lf_test, + def test_wpa3_personal_mixed_ssid_2g(self, get_vif_state, station_names_twog, setup_profiles, get_lanforge_data, + lf_test, update_report, test_cases): """Client Connectivity open ssid 2.4G @@ -396,7 +404,8 @@ class TestBridgeModeConnectivitySuiteB(object): @pytest.mark.wpa3_personal_mixed @pytest.mark.fiveg @allure.story('open 5 GHZ Band') - def test_wpa3_personal_mixed_ssid_5g(self, get_vif_state,station_names_fiveg, get_lanforge_data, lf_test, test_cases, + def test_wpa3_personal_mixed_ssid_5g(self, get_vif_state, station_names_fiveg, get_lanforge_data, lf_test, + test_cases, update_report): """Client Connectivity open ssid 2.4G pytest -m "client_connectivity and bridge and general and wpa3_personal_mixed and fiveg" @@ -430,7 +439,8 @@ class TestBridgeModeConnectivitySuiteB(object): @pytest.mark.wpa_wpa2_personal_mixed @pytest.mark.twog @allure.story('wpa wpa2 personal mixed 2.4 GHZ Band') - def test_wpa_wpa2_personal_ssid_2g(self, get_vif_state,station_names_twog, setup_profiles, get_lanforge_data, lf_test, + def test_wpa_wpa2_personal_ssid_2g(self, get_vif_state, station_names_twog, setup_profiles, get_lanforge_data, + lf_test, update_report, test_cases): """Client Connectivity open ssid 2.4G @@ -466,7 +476,7 @@ class TestBridgeModeConnectivitySuiteB(object): @pytest.mark.wpa_wpa2_personal_mixed @pytest.mark.fiveg @allure.story('wpa wpa2 personal mixed 5 GHZ Band') - def test_wpa_wpa2_personal_ssid_5g(self, get_vif_state,station_names_fiveg, get_lanforge_data, lf_test, test_cases, + def test_wpa_wpa2_personal_ssid_5g(self, get_vif_state, station_names_fiveg, get_lanforge_data, lf_test, test_cases, update_report): """Client Connectivity open ssid 2.4G pytest -m "client_connectivity and bridge and general and wpa_wpa2_personal_mixed and fiveg" @@ -580,17 +590,12 @@ class TestBridgeModeConnectivitySuiteB(object): # assert passes - - - - - - setup_params_general = { "mode": "NAT", "ssid_modes": { "open": [{"ssid_name": "ssid_open_2g", "appliedRadios": ["is2dot4GHz"], "security_key": "something"}, - {"ssid_name": "ssid_open_5g", "appliedRadios": ["is5GHzU", "is5GHz", "is5GHzL"], "security_key": "something"}], + {"ssid_name": "ssid_open_5g", "appliedRadios": ["is5GHzU", "is5GHz", "is5GHzL"], + "security_key": "something"}], "wpa": [{"ssid_name": "ssid_wpa_2g", "appliedRadios": ["is2dot4GHz"], "security_key": "something"}, {"ssid_name": "ssid_wpa_5g", "appliedRadios": ["is5GHzU", "is5GHz", "is5GHzL"], "security_key": "something"}], @@ -642,4 +647,4 @@ class TestSomthing(object): @pytest.mark.wpa2_personal @pytest.mark.fiveg def test_wpa2_personal_5g(self): - assert True \ No newline at end of file + assert True diff --git a/tests/e2e/basic/validation_of_operating_modes/vlan_mode/client_connectivity/test_general_security_modes.py b/tests/e2e/basic/validation_of_operating_modes/vlan_mode/client_connectivity/test_general_security_modes.py index 0f1e879d7..cf54c8b83 100644 --- a/tests/e2e/basic/validation_of_operating_modes/vlan_mode/client_connectivity/test_general_security_modes.py +++ b/tests/e2e/basic/validation_of_operating_modes/vlan_mode/client_connectivity/test_general_security_modes.py @@ -14,14 +14,14 @@ pytestmark = [pytest.mark.client_connectivity, pytest.mark.vlan, pytest.mark.gen setup_params_general = { "mode": "VLAN", "ssid_modes": { - "open": [{"ssid_name": "ssid_open_2g", "appliedRadios": ["is2dot4GHz"], "security_key": "something", "vlan": 100}, - {"ssid_name": "ssid_open_5g", "appliedRadios": ["is5GHzU", "is5GHz", "is5GHzL"], "security_key": "something", "vlan": 100}], - "wpa": [{"ssid_name": "ssid_wpa_2g", "appliedRadios": ["is2dot4GHz"], "security_key": "something", "vlan": 100}, - {"ssid_name": "ssid_wpa_5g", "appliedRadios": ["is5GHzU", "is5GHz", "is5GHzL"], + "open": [{"ssid_name": "ssid_open_2g_vlan", "appliedRadios": ["is2dot4GHz"], "security_key": "something", "vlan": 100}, + {"ssid_name": "ssid_open_5g_vlan", "appliedRadios": ["is5GHzU", "is5GHz", "is5GHzL"], "security_key": "something", "vlan": 100}], + "wpa": [{"ssid_name": "ssid_wpa_2g_vlan", "appliedRadios": ["is2dot4GHz"], "security_key": "something", "vlan": 100}, + {"ssid_name": "ssid_wpa_5g_vlan", "appliedRadios": ["is5GHzU", "is5GHz", "is5GHzL"], "security_key": "something", "vlan": 100}], "wpa2_personal": [ - {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["is2dot4GHz"], "security_key": "something", "vlan": 100}, - {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["is5GHzU", "is5GHz", "is5GHzL"], + {"ssid_name": "ssid_wpa2_2g_vlan", "appliedRadios": ["is2dot4GHz"], "security_key": "something", "vlan": 100}, + {"ssid_name": "ssid_wpa2_5g_vlan", "appliedRadios": ["is5GHzU", "is5GHz", "is5GHzL"], "security_key": "something", "vlan": 100}]}, "rf": {}, "radius": False