def testUpdateMocaDict(self): techui = diagui.main.TechUI(None) techui.root = dm_root.DeviceModelRoot(None, 'fakecpe', None) interface_list = techui.root.Device.MoCA.InterfaceList snr = {} bitloading = {} corrected_cw = {} uncorrected_cw = {} nbas = {} for unused_i, inter in interface_list.iteritems(): for unused_j, dev in inter.AssociatedDeviceList.iteritems(): snr[dev.MACAddress] = dev.X_CATAWAMPUS_ORG_RxSNR_dB bitloading[dev.MACAddress] = dev.X_CATAWAMPUS_ORG_RxBitloading nbas[dev.MACAddress] = dev.X_CATAWAMPUS_ORG_RxNBAS corrected = (dev.X_CATAWAMPUS_ORG_RxPrimaryCwCorrected + dev.X_CATAWAMPUS_ORG_RxSecondaryCwCorrected) uncorrected = (dev.X_CATAWAMPUS_ORG_RxPrimaryCwUncorrected + dev.X_CATAWAMPUS_ORG_RxSecondaryCwUncorrected) no_errors = (dev.X_CATAWAMPUS_ORG_RxPrimaryCwNoErrors + dev.X_CATAWAMPUS_ORG_RxSecondaryCwNoErrors) total = corrected + uncorrected + no_errors if total > 0: corrected_cw[dev.MACAddress] = corrected / total uncorrected_cw[dev.MACAddress] = uncorrected / total else: corrected_cw[dev.MACAddress] = 0 uncorrected_cw[dev.MACAddress] = 0 techui.UpdateMocaDict() self.assertEqual(snr, techui.data['moca_signal_strength']) self.assertEqual(bitloading, techui.data['moca_bitloading']) self.assertEqual(corrected_cw, techui.data['moca_corrected_codewords']) self.assertEqual(uncorrected_cw, techui.data['moca_uncorrected_codewords']) self.assertEqual(nbas, techui.data['moca_nbas'])
def testNoSignals(self): techui = diagui.main.TechUI(None) wlan0 = dm.fakewifi.FakeWifiWlanConfiguration() wlan1 = object() techui.root = dm_root.DeviceModelRoot(None, 'fakecpe', None) lans = techui.root.InternetGatewayDevice.LANDeviceList lans['1'].WLANConfigurationList = { '1': wlan0, '2': wlan1, } wlan0.signals = {'11:22:33:44:55:66': -66} techui.UpdateWifiDict() self.assertEquals(techui.data['wifi_signal_strength'], {'11:22:33:44:55:66': -66})
def getCpe(self): dm_root.PLATFORMDIR = '../platform' root = dm_root.DeviceModelRoot(self.io_loop, 'fakecpe') cpe = api.CPE(root) dldir = tempfile.mkdtemp() self.removedirs.append(dldir) cfdir = tempfile.mkdtemp() self.removedirs.append(cfdir) cpe.download_manager.SetDirectories(config_dir=cfdir, download_dir=dldir) cpe_machine = http.Listen(ip=None, port=0, ping_path='/ping/http_test', acs=None, cpe=cpe, cpe_listener=False, platform_config=MockPlatformConfig(), ioloop=self.io_loop) return cpe_machine
def testAddManagementServer(self): root = dm_root.DeviceModelRoot(loop=None, platform=None) mgmt = MockManagement() root.add_management_server(mgmt) # should do nothing. root.Device = MockTr181() root.InternetGatewayDevice = MockTr98() root.Export(objects=['Device', 'InternetGatewayDevice']) self.assertFalse(isinstance(root.InternetGatewayDevice.ManagementServer, BASE98.ManagementServer)) self.assertFalse(isinstance(root.Device.ManagementServer, BASE181.ManagementServer)) root.add_management_server(mgmt) # should do nothing. self.assertTrue(isinstance(root.InternetGatewayDevice.ManagementServer, BASE98.ManagementServer)) self.assertTrue(isinstance(root.Device.ManagementServer, BASE181.ManagementServer))
def testAddManagementServer(self): root = dm_root.DeviceModelRoot(loop=None, platform=None, ext_dir='ext_test') mgmt = MockManagement() root.add_management_server(mgmt) # should do nothing. root.device = MockDevice() root.Device = MockTr181() root.InternetGatewayDevice = MockTr98() root.Export(objects=['Device', 'InternetGatewayDevice']) root.add_cwmp_extensions() self.assertFalse( isinstance(root.InternetGatewayDevice.ManagementServer, BASE98.ManagementServer)) self.assertFalse( isinstance(root.Device.ManagementServer, BASE181.ManagementServer)) root.add_management_server(mgmt) # should actually work now print type(root.InternetGatewayDevice.ManagementServer) self.assertTrue( isinstance(root.InternetGatewayDevice.ManagementServer, BASE98.ManagementServer)) print type(root.Device.ManagementServer) self.assertTrue( isinstance(root.Device.ManagementServer, BASE181.ManagementServer)) self.assertEqual(root.TestBaseExt, True) self.assertEqual(root.TestSubExt, 97) # auto-rounded to int # Make sure aliasing is working as expected root.X_CATAWAMPUS_ORG_CATAWAMPUS.Experiments.Requested = 'test1' self.assertEqual( root.X_CATAWAMPUS_ORG_CATAWAMPUS.Experiments.Requested, 'test1') self.assertEqual(root.Device.X_CATAWAMPUS_ORG.Experiments.Requested, 'test1') self.assertTrue( os.path.exists( os.path.join(tr.experiment.ACTIVEDIR, 'test1.requested')))
def testExperiments(self): # Test that isostream experiments don't raise exceptions when set; # this is a regression test for b/26829780. # # TODO(willangley): I see this as analogous to tr.handle.ValidateExports. # It's currently one-off for dm.isostream, but my hope is that we can # graduate this to something that lives in tr.experiment in a later CL, and # make this available to tests for all modules that declare experiments. root = dm_root.DeviceModelRoot(loop=None, platform=None, ext_dir='ext_test') mgmt = MockManagement() root.device = MockDevice() root.Device = MockTr181() root.InternetGatewayDevice = MockTr98() root.Export(objects=['Device', 'InternetGatewayDevice']) root.add_cwmp_extensions() root.add_management_server(mgmt) # Make sure we've only imported the isostream module once. self.assertEqual(type(root.Device.X_CATAWAMPUS_ORG.Isostream), dm.isostream.Isostream) avail = root.X_CATAWAMPUS_ORG_CATAWAMPUS.Experiments.Available isostream_experiments = [ ex for ex in avail.split(',') if 'Isostream' in ex ] try: old_is_storage_box = dm.isostream.IS_STORAGE_BOX[0] for cmd in ['true', 'false']: dm.isostream.IS_STORAGE_BOX[0] = cmd for exp in isostream_experiments: root.X_CATAWAMPUS_ORG_CATAWAMPUS.Experiments.Requested = exp finally: dm.isostream.IS_STORAGE_BOX[0] = old_is_storage_box
def testValidateExports(self): r = dm_root.DeviceModelRoot(None, None, None) tr.handle.ValidateExports(r)