def test_packet_logging(self): """Test packet logging""" asyncssh.set_log_level('DEBUG') asyncssh.set_debug_level(3) with self.assertLogs(level='DEBUG') as log: logger.packet(0, bytes(range(0x10, 0x30)), 'CONTROL') self.assertEqual(log.records[0].msg, '[pktid=0] CONTROL\n' + ' 00000000: 10 11 12 13 14 15 16 17 18 ' + '19 1a 1b 1c 1d 1e 1f ................\n' + ' 00000010: 20 21 22 23 24 25 26 27 28 ' + '29 2a 2b 2c 2d 2e 2f !"#$%%&\'()*+,-./')
def test_debug_levels(self): """Test log debug levels""" asyncssh.set_log_level('DEBUG') for debug_level in range(1, 4): with self.subTest(debug_level=debug_level): asyncssh.set_debug_level(debug_level) with self.assertLogs(level='DEBUG') as log: logger.debug1('DEBUG') logger.debug2('DEBUG') logger.packet(None, b'', 'DEBUG') self.assertEqual(len(log.records), debug_level) for record in log.records: self.assertEqual(record.msg, record.levelname)