Exemple #1
0
 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 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)
Exemple #4
0
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()
Exemple #5
0
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)
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)