Add more tests for the Key model. Remove the key_id field and made it a property derived from the fingerprint.

This commit is contained in:
Roberto Rosario
2016-03-23 11:58:08 -04:00
parent f82b2000c3
commit cd077cb076
10 changed files with 65 additions and 65 deletions

View File

@@ -10,6 +10,7 @@ import gnupg
from django.db import models
from .classes import KeyStub
from .exceptions import KeyFetchingError
from .literals import KEY_TYPE_PUBLIC, KEY_TYPE_SECRET
from .settings import setting_gpg_path, setting_keyserver
@@ -28,11 +29,15 @@ class KeyManager(models.Manager):
import_results = gpg.recv_keys(setting_keyserver.value, key_id)
key_data = gpg.export_keys(import_results.fingerprints[0])
if not import_results.count:
shutil.rmtree(temporary_directory)
raise KeyFetchingError('No key found')
else:
key_data = gpg.export_keys(import_results.fingerprints[0])
shutil.rmtree(temporary_directory)
shutil.rmtree(temporary_directory)
return self.create(key_data=key_data)
return self.create(key_data=key_data)
def search(self, query):
temporary_directory = tempfile.mkdtemp()