def testClearKeyring(self): '''Test removing keyring and adding keys to it''' keyringPath = CryptoClient._getKeyringPath() # Delete the entire keyring shutil.rmtree(keyringPath, ignore_errors=True) os.makedirs(keyringPath) self.assertEqual(len(CryptoClient.getPrivateKeys()), 0, "Keyring should be empty") # Add a public key from file self.assertIsNotNone(self._importKeyFromFile("key1_public"), "Import of public key should work") self.assertEqual(len(CryptoClient.getPrivateKeys()), 0, "Keyring shouldn't have private keys") self.assertEqual(len(CryptoClient.getPublicKeys()), 1, "Keyring should have one public key") # Now add the corresponding private key ownKeyId = self._importKeyFromFile("key1_private") self.assertIsNotNone(ownKeyId, "Import of private key should work") self.assertEqual(len(CryptoClient.getPrivateKeys()), 1, "Keyring should have one private key") self.assertEqual(len(CryptoClient.getPublicKeys()), 1, "Keyring should have one public key")
def prepare(self): '''Called before showing the keypair page''' self.privateKeys = CryptoClient.getPrivateKeys() numKeys = len(self.privateKeys) self.labels["introemptykeyring"].setVisible(numKeys == 0) self.labels["introsinglekey"].setVisible(numKeys == 1) self.labels["introselectkey"].setVisible(numKeys > 1) self.generateProgressbar.setVisible(False) self.labels["mighttakeawhile"].setVisible(False) self.keypairListWidget.clear() for k in self.privateKeys: name = k['uids'] if isinstance(name, list): name = str(name[0]) self.keypairListWidget.addItem("%s - %s (%s)" % (k['keyid'], name, k['length'])) self.keypairListWidget.setVisible(numKeys > 0) self.keypairListWidget.setCurrentRow(self.keypairListWidget.count() - 1) # Hide generation option if we've got a key already self.keygenbox.setVisible(numKeys == 0) self.generateButton.setVisible(numKeys == 0) # Rewrite button text in case language has changed self.generateButton.setText(I18nManager.getText("button.generate"))