def setUp(self): super(TestBmmPxe, self).setUp() config.set('server', 'ipaddress', '1.2.3.4') add_server("server1") add_device("device1", server="server1", relayinfo="relay-1:bank1:relay1", mac_address='aabbccddeeff') add_pxe_config('img1', contents='IMG1 ip=%IPADDRESS%')
def test_set_pxe(self): config.set('server', 'ipaddress', '1.2.3.4') cfg_dir = os.path.join(self.tempdir, 'tftp', 'pxelinux.cfg') cfg_filename = os.path.join(cfg_dir, '01-aa-bb-cc-dd-ee-ff') self.assertFalse(os.path.exists(cfg_dir)) pxe.set_pxe('aabbccddeeff', 'IMG1 ip=%IPADDRESS%') self.assertEqual(open(cfg_filename).read(), 'IMG1 ip=1.2.3.4')
def setUp(self): super(Tests, self).setUp() config.set('server', 'fqdn', 'server') self.add_server('server') img_id = self.add_image('img1') self.dev_id = self.add_device('dev1', environment='abc', next_image_id=img_id) self.add_relay_board('relay1', server='server')
def test_sync_with_res(self, merge_devices, get_devices, get_relay_boards, merge_relay_boards): config.set('inventory', 'url', 'http://foo/') config.set('inventory', 'filter', 'hostname__startswith=panda-') config.set('inventory', 'username', 'u') config.set('inventory', 'password', 'p') config.set('inventory', 'ignore_devices_on_servers_re', 're') self.dump_devices.return_value = 'dumped devices' get_devices.return_value = 'gotten devices' merge_devices.return_value = [ ('insert', dict(insert=1)), ('delete', 10, dict(delete=2)), ('update', 11, dict(update=3)), ] get_relay_boards.return_value = 'gotten relay_boards' self.dump_relays.return_value = 'dumped relays' merge_relay_boards.return_value = [ ('insert', dict(insert=1)), ('delete', 10, dict(delete=2)), ('update', 11, dict(update=3)), ] inventorysync.sync(self.db) self.dump_devices.assert_called_with() get_devices.assert_called_with('http://foo/', 'hostname__startswith=panda-', 'u', 'p', 're', verbose=False) merge_devices.assert_called_with('dumped devices', 'gotten devices') self.insert_device.assert_called_with(dict(insert=1)) self.delete_device.assert_called_with(10) self.update_device.assert_called_with(11, dict(update=3)) get_relay_boards.assert_called_with(get_devices.return_value) self.dump_relays.assert_called_with() merge_relay_boards.assert_called_with(self.dump_relays.return_value, get_relay_boards.return_value) self.insert_relay_board.assert_called_with(dict(insert=1)) self.delete_relay_board.assert_called_with(10) self.update_relay_board.assert_called_with(11, dict(update=3))
def setUp(self): super(Tests, self).setUp() config.set('server', 'fqdn', 'server') self.add_server('server') self.add_image('img1', boot_config_keys='[]') self.add_image('img2', boot_config_keys='["aa", "bb"]') self.dev_id = self.add_device('dev1', environment='abc') mozpool.lifeguard.driver = mock.Mock()
def setUpMixin(self): # the driver looks up its server id in the constructor config.set('server', 'fqdn', 'server') self.add_server('server') self.driver = self.driver_class(self.db) # yuck, I hate this. Anyway, set both to be sure. import mozpool.lifeguard import mozpool.mozpool mozpool.lifeguard.driver = self.driver mozpool.mozpool.driver = self.driver
def setUp(self): super(RedirectTests, self).setUp() config.set('server', 'fqdn', 'thisserver') self.add_server('thisserver') self.add_server('otherserver') self.add_device('dev1', server='thisserver') self.add_device('dev2', server='otherserver') self.add_image('b2g') self.add_request(server='thisserver', no_assign=True) # id=1 self.add_request(server='otherserver', no_assign=True) # id=2 self.add_relay_board(relay_board='relay1', server='thisserver') self.add_relay_board(relay_board='relay2', server='otherserver') handlers.Handler.db = self.db loaded_urls = templeton.handlers.load_urls([ '/device/([^/]+)/test/?', 'DevTestHandler', '/request/([^/]+)/test/?', 'ReqTestHandler', '/relay/([^/]+)/test/?', 'RelayTestHandler', ]) webapp = web.application(loaded_urls, globals()) self.app = TestApp(webapp.wsgifunc())
def test_sync_with_res(self, merge_devices, get_devices, delete_device, update_device, insert_device, dump_devices): config.reset() config.set('inventory', 'url', 'http://foo/') config.set('inventory', 'filter', 'hostname__startswith=panda-') config.set('inventory', 'username', 'u') config.set('inventory', 'password', 'p') config.set('inventory', 'ignore_devices_on_servers_re', 're') dump_devices.return_value = 'dumped devices' get_devices.return_value = 'gotten devices' merge_devices.return_value = [ ('insert', dict(insert=1)), ('delete', 10, dict(delete=2)), ('update', 11, dict(update=3)), ] inventorysync.sync() dump_devices.assert_called_with() get_devices.assert_called_with('http://foo/', 'hostname__startswith=panda-', 'u', 'p', 're', verbose=False) merge_devices.assert_called_with('dumped devices', 'gotten devices') insert_device.assert_called_with(dict(insert=1)) delete_device.assert_called_with(10) update_device.assert_called_with(11, dict(update=3))
def setUp(self): self.tempdir = tempfile.mkdtemp() self.dbfile = os.path.join(self.tempdir, "sqlite.db") tftp_root = os.path.join(self.tempdir, "tftp") os.mkdir(tftp_root) image_store = os.path.join(self.tempdir, "images") os.mkdir(image_store) # set up the config with defaults config.reset() config.set('database', 'engine', 'sqlite:///' + self.dbfile) config.set('server', 'fqdn', 'server1') config.set('paths', 'tftp_root', tftp_root) config.set('paths', 'image_store', image_store) # set up the db setup_db(self.dbfile) self.app = TestApp(server.get_app().wsgifunc())
def call_main(): from mozpool.web import server # configure an invalid DB - startup should succeed anyway config.reset() config.set('database', 'engine', 'sqlite://////') server.main(run=False)
def test_get_set(self): config.reset() config.set('abc', 'def', 'ghi') self.assertEqual(config.get('abc', 'def'), 'ghi') self.assertEqual(config.get('abc', 'XXX'), None) self.assertEqual(config.get('XXX', 'XXX'), None)
def setUpMixin(self): config.reset() config.set('server', 'fqdn', 'my_fqdn')
def setUpMixin(self): self.tempdir = tempfile.mkdtemp() tftp_root = os.path.join(self.tempdir, "tftp") os.mkdir(tftp_root) config.set('paths', 'tftp_root', tftp_root)
def setUp(self): super(Tests, self).setUp() self.db_url = 'sqlite:///%s/tmp.sqlite' % self.tempdir config.set('database', 'engine', self.db_url)