def setUp(self): """Setup.""" self.ap_list_file = 'test_aplist.xml' self.here = os.path.dirname(os.path.abspath(__file__)) path = os.path.join(self.here, self.ap_list_file) self.ap_list = test_utils.read_file(path) self.obj = APList(self.ap_list)
def main(): """Sample main.""" ################################################# # Settings ###################################### ################################################# airwaveServerUrls = [ 'https://amp-comp-01.net.ku.edu', 'https://amp-comp-02.net.ku.edu', 'https://amp-ellx-01.net.ku.edu' ] username = '' password = '' nodes = {} # Login to each airwave server and build a list for url in airwaveServerUrls: airwave = AirWaveAPIClient(username=username, password=password, url=url) #print("Logging into " + url + " with username '" + username + "'...") airwave.login() # collect APs -- only with two letter code "WA" #print("Obtaining AP information...") res = airwave.ap_list() p = re.compile('^\w+\-WA', re.IGNORECASE) if res.status_code == 200: xml = res.text ap_list = APList(xml) for ap_node in ap_list: #pprint(ap_node) if p.match(ap_node['name']): radio_macs = [] for ap_radio in ap_node['radio']: if isinstance(ap_radio, OrderedDict): radio_macs.append(str(ap_radio['radio_mac'])) nodes[ap_node['name']] = { 'lan_ip': ap_node['lan_ip'], 'mac_radios': radio_macs } # logout airwave.logout() for key in sorted(nodes.keys()): line = key if nodes[key]['lan_ip']: line += ',' + nodes[key]['lan_ip'] else: line += ',' if nodes[key]['mac_radios']: for radio in nodes[key]['mac_radios']: line += ',' + radio else: line += ',' print(line)
def main(): """Sample main.""" ################################################# # Settings ###################################### ################################################# username = '******' password = '******' url = 'https://192.168.1.1' ################################################# # Login ######################################### ################################################# airwave = AirWaveAPIClient(username=username, password=password, url=url) airwave.login() ################################################# # APList ######################################## ################################################# res = airwave.ap_list() if res.status_code == 200: xml = res.text ap_list = APList(xml) for ap_node in ap_list: pprint(ap_node) ################################################# # APDetail ###################################### ################################################# for ap_node in ap_list: res = airwave.ap_detail(ap_node['@id']) if res.status_code == 200: xml = res.text ap_detail = APDetail(xml) pprint(ap_detail) ################################################# # Logout ######################################## ################################################# airwave.logout()
class APListUnitTests(unittest.TestCase): """Class APListUnitTests. Unit test for APList. """ def setUp(self): """Setup.""" self.ap_list_file = 'test_aplist.xml' self.here = os.path.dirname(os.path.abspath(__file__)) path = os.path.join(self.here, self.ap_list_file) self.ap_list = test_utils.read_file(path) self.obj = APList(self.ap_list) def tearDown(self): """Tear down.""" def test_init(self): """Test init.""" self.assertNotEqual(self.obj, None) def test_search(self): """Test search.""" # ap_id integer search ap_id = 1 ap_node = self.obj.search(ap_id) self.assertEqual(ap_node['@id'], '1') ap_id = 2 ap_node = self.obj.search(ap_id) self.assertEqual(ap_node['@id'], '2') ap_id = 3 ap_node = self.obj.search(ap_id) self.assertEqual(ap_node['@id'], '3') ap_id = 4 ap_node = self.obj.search(ap_id) self.assertEqual(ap_node['@id'], '4') ap_id = 5 ap_node = self.obj.search(ap_id) self.assertEqual(ap_node, None) # ap_name string search ap_name = 'AP001' ap_node = self.obj.search(ap_name) self.assertEqual(ap_node['name'], ap_name) ap_name = 'AP002' ap_node = self.obj.search(ap_name) self.assertEqual(ap_node['name'], ap_name) ap_name = 'AP003' ap_node = self.obj.search(ap_name) self.assertEqual(ap_node['name'], ap_name) ap_name = 'AP004' ap_node = self.obj.search(ap_name) self.assertEqual(ap_node['name'], ap_name) ap_name = 'AP005' ap_node = self.obj.search(ap_name) self.assertEqual(ap_node, None)