def setupRestWithTwoDevices(self): from test_model import createDevice restServer = RestServer(self.conf) session = restServer.dao.Session() device1 = createDevice(session, "test1") device2 = createDevice(session, "test2") restServer.initRest() return TestApp(restServer.app)
def testGenerateSingleDhcpConf(self): from jnpr.openclos.l3Clos import util flexmock(util, isPlatformUbuntu = True) createDevice(self.session, 'dev1') createDevice(self.session, 'dev2') dhcpConf = self.ztpServer.generateSingleDhcpConf() self.assertFalse('{{' in dhcpConf) self.assertFalse('}}' in dhcpConf) self.assertEquals(3, dhcpConf.count('host-name')) # 1 global + 2 device
def testGenerateSingleDhcpConf(self): from jnpr.openclos.l3Clos import util flexmock(util, isPlatformUbuntu=True) createDevice(self.session, 'dev1') createDevice(self.session, 'dev2') dhcpConf = self.ztpServer.generateSingleDhcpConf() self.assertFalse('{{' in dhcpConf) self.assertFalse('}}' in dhcpConf) self.assertEquals(3, dhcpConf.count('host-name')) # 1 global + 2 device
def testUpdateDeviceL2StatusWithException(self): from test_model import createDevice with self._dao.getReadSession() as session: leaf = createDevice(session, 'leaf') dataCollector = L2DataCollector(leaf.id, {}, InMemoryDao) dataCollector.manualInit() dataCollector._session = session dataCollector.updateDeviceL2Status(None, error = DeviceRpcFailed("", cause=ValueError("test error"))) self.assertEqual("error", leaf.l2Status) self.assertEqual("test error", leaf.l2StatusReason)
def testUpdateDeviceL2StatusWithErrorMessage(self): from test_model import createDevice with self._dao.getReadSession() as session: leaf = createDevice(session, 'leaf') dataCollector = L2DataCollector(leaf.id, {}, InMemoryDao) dataCollector.manualInit() dataCollector._session = session dataCollector.updateDeviceL2Status("error", "test reason") self.assertEqual("error", leaf.l2Status) self.assertEqual("test reason", leaf.l2StatusReason)
def testUpdateDeviceL2StatusProcessing(self): from test_model import createDevice with self._dao.getReadSession() as session: leaf = createDevice(session, 'leaf') dataCollector = L2DataCollector(leaf.id, {}, InMemoryDao) dataCollector.manualInit() dataCollector._session = session dataCollector.updateDeviceL2Status("processing") self.assertEqual(leaf.l2Status, "processing") self.assertIsNone(leaf.l2StatusReason)
def testGetConnectedInterconnectIFDsFilterFakeOnes(self): from test_model import createDevice with self.__dao.getReadWriteSession() as session: device = createDevice(session, "test") fakeSession = flexmock(session) fakeSession.should_receive('query.filter.filter.filter.order_by.all').\ and_return([InterfaceDefinition("et-0/1/0", None, 'uplink'), InterfaceDefinition("et-0/1/1", None, 'uplink'), InterfaceDefinition("uplink-2", None, 'uplink'), InterfaceDefinition("uplink-3", None, 'uplink')]) filteredIfds = self.__dao.getConnectedInterconnectIFDsFilterFakeOnes(fakeSession, device) self.assertEqual(2, len(filteredIfds))
def testUpdateDeviceL2StatusWithException(self): from test_model import createDevice with self._dao.getReadSession() as session: leaf = createDevice(session, 'leaf') dataCollector = L3DataCollector(leaf.id, {}, InMemoryDao) dataCollector.manualInit() dataCollector._session = session dataCollector.updateDeviceL3Status( None, error=DeviceRpcFailed("", cause=ValueError("test error"))) self.assertEqual("error", leaf.l3Status) self.assertEqual("test error", leaf.l3StatusReason)
def testCascadeDeletePodDevice(self): from test_model import createDevice with self.__dao.getReadWriteSession() as session: device = createDevice(session, "test") self.assertEqual(1, len(self.__dao.getAll(session, Pod))) self.assertEqual(1, len(self.__dao.getAll(session, Device))) self.__dao.deleteObject(session, device.pod) with self.__dao.getReadSession() as session: self.assertEqual(0, len(self.__dao.getAll(session, Pod))) self.assertEqual(0, len(self.__dao.getAll(session, Device)))
def testCascadeDeletePodDevice(self): from test_model import createDevice #self.conf['debugSql'] = True dao = Dao(self.conf) session = dao.Session() device = createDevice(session, "test") self.assertEqual(1, len(dao.getAll(Pod))) self.assertEqual(1, len(dao.getAll(Device))) dao.deleteObject(device.pod) self.assertEqual(0, len(dao.getAll(Pod))) self.assertEqual(0, len(dao.getAll(Device)))
def testGetAllocatedConnectedUplinkIfds(self): from test_model import createDevice with self._dao.getReadSession() as session: leaf = createDevice(session, 'leaf') dataCollector = L2DataCollector(leaf.id, {}, InMemoryDao) dataCollector.manualInit() dataCollector._session = session flexmock(session).should_receive('query.filter.filter.filter.order_by.all').\ and_return([InterfaceDefinition("et-0/0/48", None, 'uplink'), InterfaceDefinition("et-0/0/49", None, 'uplink'), InterfaceDefinition("et-0/0/50", None, 'uplink')]) ifds = dataCollector.getAllocatedConnectedUplinkIfds() self.assertIsNotNone(ifds['et-0/0/48']) self.assertTrue(isinstance(ifds['et-0/0/48'], InterfaceDefinition)) self.assertIsNotNone(ifds['et-0/0/49']) self.assertIsNotNone(ifds['et-0/0/50'])
def testCreateObjects(self): from test_model import createDevice with self.__dao.getReadWriteSession() as session: device = createDevice(session, "test") ifd1 = InterfaceDefinition('ifd1', device, 'downlink') ifd2 = InterfaceDefinition('ifd2', device, 'downlink') ifd3 = InterfaceDefinition('ifd3', device, 'downlink') ifd4 = InterfaceDefinition('ifd4', device, 'downlink') self.__dao.createObjects(session, [ifd1, ifd2, ifd3, ifd4]) with self.__dao.getReadSession() as session: self.assertEqual(4, len(self.__dao.getAll(session, InterfaceDefinition))) self.assertEqual(1, len(self.__dao.getObjectsByName(session, InterfaceDefinition, 'ifd1'))) self.assertEqual(1, len(self.__dao.getObjectsByName(session, InterfaceDefinition, 'ifd2')))
def testCreateObjects(self): from test_model import createDevice #self.conf['debugSql'] = True dao = Dao(self.conf) session = dao.Session() device = createDevice(session, "test") ifd1 = InterfaceDefinition('ifd1', device, 'downlink') ifd2 = InterfaceDefinition('ifd2', device, 'downlink') ifd3 = InterfaceDefinition('ifd1', device, 'downlink') ifd4 = InterfaceDefinition('ifd2', device, 'downlink') dao.createObjects([ifd1, ifd2, ifd3, ifd4]) self.assertEqual(4, len(dao.getAll(InterfaceDefinition))) self.assertEqual(2, len(dao.getObjectsByName(InterfaceDefinition, 'ifd1'))) self.assertEqual(2, len(dao.getObjectsByName(InterfaceDefinition, 'ifd2')))
def testCreateObjects(self): from test_model import createDevice #self.conf['debugSql'] = True dao = Dao(self.conf) session = dao.Session() device = createDevice(session, "test") ifd1 = InterfaceDefinition('ifd1', device, 'downlink') ifd2 = InterfaceDefinition('ifd2', device, 'downlink') ifd3 = InterfaceDefinition('ifd1', device, 'downlink') ifd4 = InterfaceDefinition('ifd2', device, 'downlink') dao.createObjects([ifd1, ifd2, ifd3, ifd4]) self.assertEqual(4, len(dao.getAll(InterfaceDefinition))) self.assertEqual( 2, len(dao.getObjectsByName(InterfaceDefinition, 'ifd1'))) self.assertEqual( 2, len(dao.getObjectsByName(InterfaceDefinition, 'ifd2')))
def setupRestWithTwoDevices(self, session): from test_model import createDevice self.device1 = createDevice(session, "test1") self.device2 = createDevice(session, "test2")