def test_fingerprint(self): filename = pkg_resources.resource_filename(__name__, 'test_authorized_keys') # @UndefinedVariable keys = authorizedkeys.read(filename) self.assertEqual(5, len(keys)) # Check first key self.assertEqual('7b:25:d6:13:a2:c2:ae:c3:cd:5e:c6:b4:e9:78:9b:00', keys[0].fingerprint) self.assertIsInstance(keys[0].fingerprint, str)
def test_remove(self): # Copy file tempfilename = tempfile.mktemp() filename = pkg_resources.resource_filename(__name__, 'test_authorized_keys') # @UndefinedVariable shutil.copyfile(filename, tempfilename) try: # Remove key from file authorizedkeys.remove(tempfilename, 5) # Read the file again. keys = authorizedkeys.read(tempfilename) self.assertEqual(4, len(keys)) # Check data self.assertEqual('root@thymara', keys[0].comment) self.assertEqual('root@mercor', keys[1].comment) self.assertEqual('root@ranculos', keys[2].comment) self.assertEqual('', keys[3].comment) finally: os.remove(tempfilename)
def test_read(self): filename = pkg_resources.resource_filename(__name__, 'test_authorized_keys') # @UndefinedVariable keys = authorizedkeys.read(filename) self.assertEqual(5, len(keys)) # Check first key self.assertEqual(1, keys[0].lineno) self.assertEqual('ssh-rsa', keys[0].keytype) self.assertTrue(keys[0].key.startswith('AAAAB3NzaC1yc2EAAAADAQABAAABAQDFqrQ')) self.assertEqual('root@thymara', keys[0].comment) # Check second key self.assertEqual(2, keys[1].lineno) self.assertEqual('ssh-rsa', keys[1].keytype) self.assertTrue(keys[1].key.startswith('AAAAB3NzaC1yc2EAAAADAQABAAABAQDf')) self.assertEqual('root@mercor', keys[1].comment) self.assertEqual({'command': 'mycommand arg'}, keys[1].options) # Check thrid key self.assertEqual(5, keys[2].lineno) self.assertEqual('ssh-rsa', keys[2].keytype) self.assertTrue(keys[2].key.startswith('AAAAB3NzaC1yc2EAAAADAQABAAUGK')) self.assertEqual('root@kalo', keys[2].comment) self.assertEqual({'no-user-rc': False}, keys[2].options) # Check fourth key self.assertEqual(6, keys[3].lineno) self.assertEqual('ssh-rsa', keys[3].keytype) self.assertEqual('AAAAB3NzaC1yc2EAAAADAQSTlX', keys[3].key) self.assertEqual('root@ranculos', keys[3].comment) self.assertEqual({'command': 'mycommand arg'}, keys[3].options) # Check fifth key self.assertEqual(7, keys[4].lineno) self.assertEqual('ssh-rsa', keys[4].keytype) self.assertEqual('AAAAB3NzaC1yc2EAAAADAQABAAUGK', keys[4].key) self.assertEqual('', keys[4].comment) self.assertEqual({'tunnel': 'n', 'no-X11-forwarding': False}, keys[4].options)
def test_add(self): # Create a key key = authorizedkeys.KeySplit(lineno=False, options=False, keytype='ssh-rsa', key='AAAAA', comment='bobo@computer') # Copy file tempfilename = tempfile.mktemp() filename = pkg_resources.resource_filename(__name__, 'test_authorized_keys') # @UndefinedVariable shutil.copyfile(filename, tempfilename) try: # Remove key from file authorizedkeys.add(tempfilename, key) # Read the file again. keys = authorizedkeys.read(tempfilename) self.assertEqual(6, len(keys)) # Check data self.assertEqual('ssh-rsa', keys[5].keytype) self.assertEqual('AAAAA', keys[5].key) self.assertEqual('bobo@computer', keys[5].comment) finally: os.remove(tempfilename)