def testWithClientSet(self): mock_client = _MockClient(ifaces=['foo', 'bar']) with mock.patch.object(magics_impl._state, 'client', mock_client): df = magics_impl.grr_ifconfig_impl() self.assertEqual(df.shape, (2, 1)) self.assertEqual(list(df['ifname']), ['foo', 'bar'])
def grr_ifconfig(line: Text) -> pd.DataFrame: """Lists network interfaces of the selected client. Args: line: A string representing arguments passed to the magic command. Returns: Sequence of interfaces. Raises: NoClientSelectedError: Client is not selected to perform this operation. """ del line # Unused. return magics_impl.grr_ifconfig_impl()
def testPrettyMacAddress(self): mock_client = _MockClient() mock_client.add_iface('foo', mac=b'\xaa\x12\x42\xff\xa5\xd0') mock_client.add_iface('bar') with mock.patch.object(magics_impl._state, 'client', mock_client): df = magics_impl.grr_ifconfig_impl() self.assertEqual(df.shape, (2, 3)) self.assertEqual(list(df['ifname']), ['foo', 'bar']) self.assertTrue(pd.isna(df['mac_address'][1])) self.assertTrue(pd.isna(df['mac_address.pretty'][1])) self.assertEqual(df['mac_address'][0], b'\xaa\x12\x42\xff\xa5\xd0') self.assertEqual(df['mac_address.pretty'][0], 'aa:12:42:ff:a5:d0')
def testPrettyIpAddress(self): mock_client = _MockClient() ipv4 = ipaddress.IPv4Address('42.0.255.32') ipv6 = ipaddress.IPv6Address('2001:db8::1000') mock_client.add_iface('foo', [ipv4.packed, ipv6.packed]) mock_client.add_iface('bar', []) with mock.patch.object(magics_impl._state, 'client', mock_client): df = magics_impl.grr_ifconfig_impl() self.assertEqual(df.shape, (2, 2)) self.assertEqual(list(df['ifname']), ['foo', 'bar']) self.assertTrue(pd.isna(df['addresses'][1])) addresses = df['addresses'][0] self.assertEqual(list(addresses['packed_bytes']), [ipv4.packed, ipv6.packed]) self.assertEqual(list(addresses['packed_bytes.pretty']), [str(ipv4), str(ipv6)])
def testNoClientSelected(self): with self.assertRaises(magics_impl.NoClientSelectedError): magics_impl.grr_ifconfig_impl()