mirror of
				https://github.com/Telecominfraproject/wlan-lanforge-scripts.git
				synced 2025-11-03 20:27:54 +00:00 
			
		
		
		
	sta_connect2.py: divides up code into setup(), start(), stop(), clean() methods
This commit is contained in:
		@@ -115,7 +115,7 @@ class StaConnect2(LFCliBase):
 | 
				
			|||||||
        super().clear_test_results()
 | 
					        super().clear_test_results()
 | 
				
			||||||
        #super(StaConnect, self).clear_test_results().test_results.clear()
 | 
					        #super(StaConnect, self).clear_test_results().test_results.clear()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def run(self):
 | 
					    def setup(self):
 | 
				
			||||||
        self.clear_test_results()
 | 
					        self.clear_test_results()
 | 
				
			||||||
        self.check_connect()
 | 
					        self.check_connect()
 | 
				
			||||||
        eth1IP = self.json_get(self.get_upstream_url())
 | 
					        eth1IP = self.json_get(self.get_upstream_url())
 | 
				
			||||||
@@ -170,86 +170,6 @@ class StaConnect2(LFCliBase):
 | 
				
			|||||||
        #     set_port_data["port"] = sta_name
 | 
					        #     set_port_data["port"] = sta_name
 | 
				
			||||||
        #     print(" %s," % sta_name, end="")
 | 
					        #     print(" %s," % sta_name, end="")
 | 
				
			||||||
        #     self.json_post("/cli-json/set_port", set_port_data)
 | 
					        #     self.json_post("/cli-json/set_port", set_port_data)
 | 
				
			||||||
        # print("\nBringing ports up...")
 | 
					 | 
				
			||||||
        # data = {"shelf": 1,
 | 
					 | 
				
			||||||
        #         "resource": self.resource,
 | 
					 | 
				
			||||||
        #         "port": "ALL",
 | 
					 | 
				
			||||||
        #         "probe_flags": 1}
 | 
					 | 
				
			||||||
        # self.json_post("/cli-json/nc_show_ports", data)
 | 
					 | 
				
			||||||
        # LFUtils.waitUntilPortsAdminUp(self.resource, self.lfclient_url, self.station_names)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        # station_info = self.jsonGet(self.mgr_url, "%s?fields=port,ip,ap" % (self.getStaUrl()))
 | 
					 | 
				
			||||||
        duration = 0
 | 
					 | 
				
			||||||
        maxTime = 300
 | 
					 | 
				
			||||||
        ip = "0.0.0.0"
 | 
					 | 
				
			||||||
        ap = ""
 | 
					 | 
				
			||||||
        print("Waiting for %s stations to associate to AP: " % len(self.station_names), end="")
 | 
					 | 
				
			||||||
        connected_stations = {}
 | 
					 | 
				
			||||||
        # while (len(connected_stations.keys()) < len(self.station_names)) and (duration < maxTime):
 | 
					 | 
				
			||||||
        #     duration += 3
 | 
					 | 
				
			||||||
        #     time.sleep(3)
 | 
					 | 
				
			||||||
        #     print(".", end="")
 | 
					 | 
				
			||||||
        #     for sta_name in self.station_names:
 | 
					 | 
				
			||||||
        #         sta_url = self.get_station_url(sta_name)
 | 
					 | 
				
			||||||
        #         station_info = self.json_get(sta_url + "?fields=port,ip,ap")
 | 
					 | 
				
			||||||
        #
 | 
					 | 
				
			||||||
        #         # LFUtils.debug_printer.pprint(station_info)
 | 
					 | 
				
			||||||
        #         if (station_info is not None) and ("interface" in station_info):
 | 
					 | 
				
			||||||
        #             if "ip" in station_info["interface"]:
 | 
					 | 
				
			||||||
        #                 ip = station_info["interface"]["ip"]
 | 
					 | 
				
			||||||
        #             if "ap" in station_info["interface"]:
 | 
					 | 
				
			||||||
        #                 ap = station_info["interface"]["ap"]
 | 
					 | 
				
			||||||
        #
 | 
					 | 
				
			||||||
        #         if (ap == "Not-Associated") or (ap == ""):
 | 
					 | 
				
			||||||
        #             if self.debugOn:
 | 
					 | 
				
			||||||
        #                 print(" -%s," % sta_name, end="")
 | 
					 | 
				
			||||||
        #         else:
 | 
					 | 
				
			||||||
        #             if ip == "0.0.0.0":
 | 
					 | 
				
			||||||
        #                 if self.debugOn:
 | 
					 | 
				
			||||||
        #                     print(" %s (0.0.0.0)" % sta_name, end="")
 | 
					 | 
				
			||||||
        #             else:
 | 
					 | 
				
			||||||
        #                 connected_stations[sta_name] = sta_url
 | 
					 | 
				
			||||||
        #     data = {
 | 
					 | 
				
			||||||
        #         "shelf":1,
 | 
					 | 
				
			||||||
        #         "resource": self.resource,
 | 
					 | 
				
			||||||
        #         "port": "ALL",
 | 
					 | 
				
			||||||
        #         "probe_flags": 1
 | 
					 | 
				
			||||||
        #     }
 | 
					 | 
				
			||||||
        #     self.json_post("/cli-json/nc_show_ports", data)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        # make a copy of the connected stations for test records
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        for sta_name in self.station_names:
 | 
					 | 
				
			||||||
            sta_url = self.get_station_url(sta_name)
 | 
					 | 
				
			||||||
            station_info = self.json_get(sta_url) # + "?fields=port,ip,ap")
 | 
					 | 
				
			||||||
            self.resulting_stations[sta_url] = station_info
 | 
					 | 
				
			||||||
            ap = station_info["interface"]["ap"]
 | 
					 | 
				
			||||||
            ip = station_info["interface"]["ip"]
 | 
					 | 
				
			||||||
            if (ap != "") and (ap != "Not-Associated"):
 | 
					 | 
				
			||||||
                print(" %s +AP %s, " % (sta_name, ap), end="")
 | 
					 | 
				
			||||||
                if self.dut_bssid != "":
 | 
					 | 
				
			||||||
                    if self.dut_bssid.lower() == ap.lower():
 | 
					 | 
				
			||||||
                        self._pass(sta_name+" connected to BSSID: " + ap)
 | 
					 | 
				
			||||||
                        # self.test_results.append("PASSED: )
 | 
					 | 
				
			||||||
                        # print("PASSED: Connected to BSSID: "+ap)
 | 
					 | 
				
			||||||
                    else:
 | 
					 | 
				
			||||||
                        self._fail("%s connected to wrong BSSID, requested: %s  Actual: %s" % (sta_name, self.dut_bssid, ap))
 | 
					 | 
				
			||||||
            else:
 | 
					 | 
				
			||||||
                self._fail(sta_name+" did not connect to AP")
 | 
					 | 
				
			||||||
                return False
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            if ip == "0.0.0.0":
 | 
					 | 
				
			||||||
                self._fail("%s did not get an ip. Ending test" % sta_name)
 | 
					 | 
				
			||||||
            else:
 | 
					 | 
				
			||||||
                self._pass("%s connected to AP: %s  With IP: %s" % (sta_name, ap, ip))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        if self.passes() == False:
 | 
					 | 
				
			||||||
            if self.cleanup_on_exit:
 | 
					 | 
				
			||||||
                print("Cleaning up...")
 | 
					 | 
				
			||||||
                self.remove_stations()
 | 
					 | 
				
			||||||
            return False
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        # create endpoints and cxs
 | 
					        # create endpoints and cxs
 | 
				
			||||||
        # Create UDP endpoints
 | 
					        # Create UDP endpoints
 | 
				
			||||||
        cx_names = {}
 | 
					        cx_names = {}
 | 
				
			||||||
@@ -350,6 +270,89 @@ class StaConnect2(LFCliBase):
 | 
				
			|||||||
        #     }
 | 
					        #     }
 | 
				
			||||||
        #     self.json_post("/cli-json/set_cx_report_timer", data)
 | 
					        #     self.json_post("/cli-json/set_cx_report_timer", data)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def start(self):
 | 
				
			||||||
 | 
					        # print("\nBringing ports up...")
 | 
				
			||||||
 | 
					        # data = {"shelf": 1,
 | 
				
			||||||
 | 
					        #         "resource": self.resource,
 | 
				
			||||||
 | 
					        #         "port": "ALL",
 | 
				
			||||||
 | 
					        #         "probe_flags": 1}
 | 
				
			||||||
 | 
					        # self.json_post("/cli-json/nc_show_ports", data)
 | 
				
			||||||
 | 
					        # LFUtils.waitUntilPortsAdminUp(self.resource, self.lfclient_url, self.station_names)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # station_info = self.jsonGet(self.mgr_url, "%s?fields=port,ip,ap" % (self.getStaUrl()))
 | 
				
			||||||
 | 
					        duration = 0
 | 
				
			||||||
 | 
					        maxTime = 300
 | 
				
			||||||
 | 
					        ip = "0.0.0.0"
 | 
				
			||||||
 | 
					        ap = ""
 | 
				
			||||||
 | 
					        print("Waiting for %s stations to associate to AP: " % len(self.station_names), end="")
 | 
				
			||||||
 | 
					        connected_stations = {}
 | 
				
			||||||
 | 
					        # while (len(connected_stations.keys()) < len(self.station_names)) and (duration < maxTime):
 | 
				
			||||||
 | 
					        #     duration += 3
 | 
				
			||||||
 | 
					        #     time.sleep(3)
 | 
				
			||||||
 | 
					        #     print(".", end="")
 | 
				
			||||||
 | 
					        #     for sta_name in self.station_names:
 | 
				
			||||||
 | 
					        #         sta_url = self.get_station_url(sta_name)
 | 
				
			||||||
 | 
					        #         station_info = self.json_get(sta_url + "?fields=port,ip,ap")
 | 
				
			||||||
 | 
					        #
 | 
				
			||||||
 | 
					        #         # LFUtils.debug_printer.pprint(station_info)
 | 
				
			||||||
 | 
					        #         if (station_info is not None) and ("interface" in station_info):
 | 
				
			||||||
 | 
					        #             if "ip" in station_info["interface"]:
 | 
				
			||||||
 | 
					        #                 ip = station_info["interface"]["ip"]
 | 
				
			||||||
 | 
					        #             if "ap" in station_info["interface"]:
 | 
				
			||||||
 | 
					        #                 ap = station_info["interface"]["ap"]
 | 
				
			||||||
 | 
					        #
 | 
				
			||||||
 | 
					        #         if (ap == "Not-Associated") or (ap == ""):
 | 
				
			||||||
 | 
					        #             if self.debugOn:
 | 
				
			||||||
 | 
					        #                 print(" -%s," % sta_name, end="")
 | 
				
			||||||
 | 
					        #         else:
 | 
				
			||||||
 | 
					        #             if ip == "0.0.0.0":
 | 
				
			||||||
 | 
					        #                 if self.debugOn:
 | 
				
			||||||
 | 
					        #                     print(" %s (0.0.0.0)" % sta_name, end="")
 | 
				
			||||||
 | 
					        #             else:
 | 
				
			||||||
 | 
					        #                 connected_stations[sta_name] = sta_url
 | 
				
			||||||
 | 
					        #     data = {
 | 
				
			||||||
 | 
					        #         "shelf":1,
 | 
				
			||||||
 | 
					        #         "resource": self.resource,
 | 
				
			||||||
 | 
					        #         "port": "ALL",
 | 
				
			||||||
 | 
					        #         "probe_flags": 1
 | 
				
			||||||
 | 
					        #     }
 | 
				
			||||||
 | 
					        #     self.json_post("/cli-json/nc_show_ports", data)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # make a copy of the connected stations for test records
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        for sta_name in self.station_names:
 | 
				
			||||||
 | 
					            sta_url = self.get_station_url(sta_name)
 | 
				
			||||||
 | 
					            station_info = self.json_get(sta_url) # + "?fields=port,ip,ap")
 | 
				
			||||||
 | 
					            self.resulting_stations[sta_url] = station_info
 | 
				
			||||||
 | 
					            ap = station_info["interface"]["ap"]
 | 
				
			||||||
 | 
					            ip = station_info["interface"]["ip"]
 | 
				
			||||||
 | 
					            if (ap != "") and (ap != "Not-Associated"):
 | 
				
			||||||
 | 
					                print(" %s +AP %s, " % (sta_name, ap), end="")
 | 
				
			||||||
 | 
					                if self.dut_bssid != "":
 | 
				
			||||||
 | 
					                    if self.dut_bssid.lower() == ap.lower():
 | 
				
			||||||
 | 
					                        self._pass(sta_name+" connected to BSSID: " + ap)
 | 
				
			||||||
 | 
					                        # self.test_results.append("PASSED: )
 | 
				
			||||||
 | 
					                        # print("PASSED: Connected to BSSID: "+ap)
 | 
				
			||||||
 | 
					                    else:
 | 
				
			||||||
 | 
					                        self._fail("%s connected to wrong BSSID, requested: %s  Actual: %s" % (sta_name, self.dut_bssid, ap))
 | 
				
			||||||
 | 
					            else:
 | 
				
			||||||
 | 
					                self._fail(sta_name+" did not connect to AP")
 | 
				
			||||||
 | 
					                return False
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            if ip == "0.0.0.0":
 | 
				
			||||||
 | 
					                self._fail("%s did not get an ip. Ending test" % sta_name)
 | 
				
			||||||
 | 
					            else:
 | 
				
			||||||
 | 
					                self._pass("%s connected to AP: %s  With IP: %s" % (sta_name, ap, ip))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if self.passes() == False:
 | 
				
			||||||
 | 
					            if self.cleanup_on_exit:
 | 
				
			||||||
 | 
					                print("Cleaning up...")
 | 
				
			||||||
 | 
					                self.remove_stations()
 | 
				
			||||||
 | 
					            return False
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        # start cx traffic
 | 
					        # start cx traffic
 | 
				
			||||||
        print("\nStarting CX Traffic")
 | 
					        print("\nStarting CX Traffic")
 | 
				
			||||||
        # for cx_name in cx_names.keys():
 | 
					        # for cx_name in cx_names.keys():
 | 
				
			||||||
@@ -370,8 +373,7 @@ class StaConnect2(LFCliBase):
 | 
				
			|||||||
        #     }
 | 
					        #     }
 | 
				
			||||||
        #     self.json_post("/cli-json/show_cxe", data)
 | 
					        #     self.json_post("/cli-json/show_cxe", data)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        time.sleep(self.runtime_secs)
 | 
					    def stop(self):
 | 
				
			||||||
 | 
					 | 
				
			||||||
        # stop cx traffic
 | 
					        # stop cx traffic
 | 
				
			||||||
        print("Stopping CX Traffic")
 | 
					        print("Stopping CX Traffic")
 | 
				
			||||||
        # for cx_name in cx_names.keys():
 | 
					        # for cx_name in cx_names.keys():
 | 
				
			||||||
@@ -428,6 +430,7 @@ class StaConnect2(LFCliBase):
 | 
				
			|||||||
        # self.test_results.append("FAILED message will fail")
 | 
					        # self.test_results.append("FAILED message will fail")
 | 
				
			||||||
        # print("\n")
 | 
					        # print("\n")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def cleanup(self):
 | 
				
			||||||
        # remove all endpoints and cxs
 | 
					        # remove all endpoints and cxs
 | 
				
			||||||
        if self.cleanup_on_exit:
 | 
					        if self.cleanup_on_exit:
 | 
				
			||||||
            for sta_name in self.station_names:
 | 
					            for sta_name in self.station_names:
 | 
				
			||||||
@@ -496,26 +499,20 @@ Example:
 | 
				
			|||||||
    if args.dut_ssid is not None:
 | 
					    if args.dut_ssid is not None:
 | 
				
			||||||
        staConnect.dut_ssid = args.dut_ssid
 | 
					        staConnect.dut_ssid = args.dut_ssid
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    staConnect.run()
 | 
					    staConnect.setup()
 | 
				
			||||||
 | 
					    staConnect.start()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    time.sleep(self.runtime_secs)
 | 
				
			||||||
 | 
					    staConnect.stop()
 | 
				
			||||||
    run_results = staConnect.get_result_list()
 | 
					    run_results = staConnect.get_result_list()
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    is_passing = staConnect.passes()
 | 
					    is_passing = staConnect.passes()
 | 
				
			||||||
    if is_passing == False:
 | 
					    if is_passing == False:
 | 
				
			||||||
        print("FAIL:  Some tests failed")
 | 
					        print("FAIL:  Some tests failed")
 | 
				
			||||||
    else:
 | 
					    else:
 | 
				
			||||||
        print("PASS:  All tests pass")
 | 
					        print("PASS:  All tests pass")
 | 
				
			||||||
 | 
					 | 
				
			||||||
    print(staConnect.get_all_message())
 | 
					    print(staConnect.get_all_message())
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    is_passing = staConnect.passes()
 | 
					    staConnect.cleanup()
 | 
				
			||||||
    if is_passing == False:
 | 
					 | 
				
			||||||
        print("FAIL:  Some tests failed")
 | 
					 | 
				
			||||||
    else:
 | 
					 | 
				
			||||||
        print("PASS:  All tests pass")
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    print(staConnect.get_all_message())
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
					# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user