示例#1
0
 def test_loop_and_filtering(self):
     self.set_responses([
         [ self.make_host('panda-001'), self.make_host('panda-002', want_imaging_server=False) ],
         [ self.make_host('panda-003'), self.make_host('panda-004', want_relay_info=False) ],
         [ self.make_host('panda-005'), self.make_host('panda-006', want_mac_address=False) ],
     ])
     hosts = inventorysync.get_devices('https://inv', 'filter', 'me', 'pass', None, verbose=True)
     self.assertEqual(hosts, [
         {'inventory_id': 90, 'relay_info': 'relay7', 'name': 'panda-001',
          'imaging_server': 'img9', 'mac_address': '6a3d0c52ae9b',
          'fqdn': 'panda-001.vlan.dc.mozilla.com', 'hardware_type': 'PandaBoard',
          'hardware_model': 'ES'},
         # panda-002 was skipped
         {'inventory_id': 52, 'relay_info': 'relay4', 'name': 'panda-003',
          'imaging_server': 'img9', 'mac_address': 'aec31326594a',
          'fqdn': 'panda-003.vlan.dc.mozilla.com', 'hardware_type': 'PandaBoard',
          'hardware_model': 'ES'},
         # panda-004 was skipped
         {'inventory_id': 6, 'relay_info': 'relay9', 'name': 'panda-005',
          'imaging_server': 'img3', 'mac_address': 'c19b00f9644b',
          'fqdn': 'panda-005.vlan.dc.mozilla.com', 'hardware_type': 'PandaBoard',
          'hardware_model': 'ES'}
         # panda-006 was skipped
     ])
     self.assertEqual(self.requests_get.call_args_list, [
         mock.call('https://inv/en-US/tasty/v3/system/?limit=100&filter', auth=('me', 'pass')),
         mock.call('https://inv/path1', auth=('me', 'pass')),
         mock.call('https://inv/path2', auth=('me', 'pass')),
     ])
示例#2
0
 def test_loop_and_filtering(self):
     self.set_inventory_response([
         self.make_host('panda-001'),
         self.make_host('panda-002', want_imaging_server=False),
         self.make_host('panda-003'),
         self.make_host('panda-004', want_relay_info=False),
         self.make_host('panda-005'),
         self.make_host('panda-006', want_mac_address=False),
     ])
     hosts = inventorysync.get_devices('https://inv', 'filter', 'me', 'pass', None, verbose=True)
     self.assertEqual(sorted(hosts), sorted([
         {'inventory_id': 90, 'relay_info': 'relay7', 'name': 'panda-001',
          'imaging_server': 'img9', 'mac_address': '6a3d0c52ae9b',
          'fqdn': 'panda-001.vlan.dc.mozilla.com', 'hardware_type': 'PandaBoard',
          'hardware_model': 'ES'},
         # panda-002 was skipped
         {'inventory_id': 52, 'relay_info': 'relay4', 'name': 'panda-003',
          'imaging_server': 'img9', 'mac_address': 'aec31326594a',
          'fqdn': 'panda-003.vlan.dc.mozilla.com', 'hardware_type': 'PandaBoard',
          'hardware_model': 'ES'},
         # panda-004 was skipped
         {'inventory_id': 6, 'relay_info': 'relay9', 'name': 'panda-005',
          'imaging_server': 'img3', 'mac_address': 'c19b00f9644b',
          'fqdn': 'panda-005.vlan.dc.mozilla.com', 'hardware_type': 'PandaBoard',
          'hardware_model': 'ES'}
         # panda-006 was skipped
     ]))
     self.assertEqual(self.requests_get.call_args_list, [
         mock.call('https://inv/en-US/bulk_action/export/?q=filter', auth=('me', 'pass')),
         mock.call('https://inv/en-US/core/api/v1_core/systemstatus/1/', auth=('me', 'pass')),
         mock.call('https://inv/en-US/core/api/v1_core/servermodel/529/', auth=('me', 'pass'))
     ])
示例#3
0
 def test_loop_and_filtering(self):
     self.set_inventory_response([
         self.make_host('panda-001'),
         self.make_host('panda-002', want_imaging_server=False),
         self.make_host('panda-003'),
         self.make_host('panda-004', want_relay_info=False),
         self.make_host('panda-005'),
         self.make_host('panda-006', want_mac_address=False),
     ])
     hosts = inventorysync.get_devices('https://inv',
                                       'filter',
                                       'me',
                                       'pass',
                                       None,
                                       verbose=True)
     self.assertEqual(
         sorted(hosts),
         sorted([
             {
                 'inventory_id': 90,
                 'relay_info': 'relay7',
                 'name': 'panda-001',
                 'imaging_server': 'img9',
                 'mac_address': '6a3d0c52ae9b',
                 'fqdn': 'panda-001.vlan.dc.mozilla.com',
                 'hardware_type': 'PandaBoard',
                 'hardware_model': 'ES'
             },
             # panda-002 was skipped
             {
                 'inventory_id': 52,
                 'relay_info': 'relay4',
                 'name': 'panda-003',
                 'imaging_server': 'img9',
                 'mac_address': 'aec31326594a',
                 'fqdn': 'panda-003.vlan.dc.mozilla.com',
                 'hardware_type': 'PandaBoard',
                 'hardware_model': 'ES'
             },
             # panda-004 was skipped
             {
                 'inventory_id': 6,
                 'relay_info': 'relay9',
                 'name': 'panda-005',
                 'imaging_server': 'img3',
                 'mac_address': 'c19b00f9644b',
                 'fqdn': 'panda-005.vlan.dc.mozilla.com',
                 'hardware_type': 'PandaBoard',
                 'hardware_model': 'ES'
             }
             # panda-006 was skipped
         ]))
     self.assertEqual(self.requests_get.call_args_list, [
         mock.call('https://inv/en-US/bulk_action/export/?q=filter',
                   auth=('me', 'pass')),
         mock.call('https://inv/en-US/core/api/v1_core/systemstatus/1/',
                   auth=('me', 'pass')),
         mock.call('https://inv/en-US/core/api/v1_core/servermodel/529/',
                   auth=('me', 'pass'))
     ])
示例#4
0
 def test_re_filter(self):
     self.set_inventory_response([
         self.make_host('panda-001'),
         self.make_host('panda-002'),
     ])
     hosts = inventorysync.get_devices('https://inv', 'filter', 'me',
                                       'pass', '.*9')
     self.assertEqual(
         hosts,
         [
             # panda-001 was skipped, since 'img9' matches '.*9'
             {
                 'inventory_id': 97,
                 'relay_info': 'relay9',
                 'name': 'panda-002',
                 'imaging_server': 'img1',
                 'mac_address': '86a1c8ce6ea2',
                 'fqdn': 'panda-002.vlan.dc.mozilla.com',
                 'hardware_type': 'PandaBoard',
                 'hardware_model': 'ES'
             },
         ])
     self.assertEqual(self.requests_get.call_args_list, [
         mock.call('https://inv/en-US/bulk_action/export/?q=filter',
                   auth=('me', 'pass')),
         mock.call('https://inv/en-US/core/api/v1_core/systemstatus/1/',
                   auth=('me', 'pass')),
         mock.call('https://inv/en-US/core/api/v1_core/servermodel/529/',
                   auth=('me', 'pass')),
     ])
示例#5
0
 def test_re_filter(self, get):
     self.set_responses([
         [ self.make_host('panda-001'), self.make_host('panda-002') ],
     ])
     hosts = inventorysync.get_devices('https://inv', 'filter', 'me', 'pass', '.*9')
     self.assertEqual(hosts, [
         # panda-001 was skipped, since 'img9' matches '.*9'
         {'inventory_id': 97, 'relay_info': 'relay9', 'name': 'panda-002',
          'imaging_server': 'img1', 'mac_address': '86a1c8ce6ea2',
          'fqdn': 'panda-002.vlan.dc.mozilla.com'},
     ])
     self.assertEqual(requests.get.call_args_list, [
         mock.call('https://inv/en-US/tasty/v3/system/?limit=100&filter', auth=('me', 'pass')),
     ])
示例#6
0
 def test_one_response(self):
     self.set_responses([
         [ self.make_host('panda-001'), self.make_host('panda-002') ],
     ])
     hosts = inventorysync.get_devices('https://inv', 'filter', 'me', 'pass', None)
     self.assertEqual(hosts, [
         {'inventory_id': 90, 'relay_info': 'relay7', 'name': 'panda-001',
          'imaging_server': 'img9', 'mac_address': '6a3d0c52ae9b',
          'fqdn': 'panda-001.vlan.dc.mozilla.com', 'hardware_type': 'PandaBoard',
          'hardware_model': 'ES'},
         {'inventory_id': 97, 'relay_info': 'relay9', 'name': 'panda-002',
          'imaging_server': 'img1', 'mac_address': '86a1c8ce6ea2',
          'fqdn': 'panda-002.vlan.dc.mozilla.com', 'hardware_type': 'PandaBoard',
          'hardware_model': 'ES'},
     ])
     self.assertEqual(self.requests_get.call_args_list, [
         mock.call('https://inv/en-US/tasty/v3/system/?limit=100&filter', auth=('me', 'pass')),
     ])
示例#7
0
 def test_re_filter(self):
     self.set_inventory_response([
         self.make_host('panda-001'),
         self.make_host('panda-002'),
     ])
     hosts = inventorysync.get_devices('https://inv', 'filter', 'me', 'pass', '.*9')
     self.assertEqual(hosts, [
         # panda-001 was skipped, since 'img9' matches '.*9'
         {'inventory_id': 97, 'relay_info': 'relay9', 'name': 'panda-002',
          'imaging_server': 'img1', 'mac_address': '86a1c8ce6ea2',
          'fqdn': 'panda-002.vlan.dc.mozilla.com', 'hardware_type': 'PandaBoard',
          'hardware_model': 'ES'},
     ])
     self.assertEqual(self.requests_get.call_args_list, [
         mock.call('https://inv/en-US/bulk_action/export/?q=filter', auth=('me', 'pass')),
         mock.call('https://inv/en-US/core/api/v1_core/systemstatus/1/', auth=('me', 'pass')),
         mock.call('https://inv/en-US/core/api/v1_core/servermodel/529/', auth=('me', 'pass')),
     ])
示例#8
0
 def test_get_devices_requests_error(self):
     self.set_responses([[]], status_code=500)
     self.assertRaises(RuntimeError, lambda :
         inventorysync.get_devices('https://inv', 'filter', 'me', 'pass', None))
示例#9
0
 def test_get_devices_requests_error(self):
     self.set_inventory_response([], status_code=500)
     self.assertRaises(
         RuntimeError, lambda: inventorysync.get_devices(
             'https://inv', 'filter', 'me', 'pass', None))