From 0bcf87ec851877db92f8a83df4765799f81a076c Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Tue, 2 Jun 2015 02:32:33 -0400 Subject: [PATCH] Add tests for the django_gpg app --- .travis.yml | 2 +- mayan/apps/django_gpg/tests.py | 38 ++++++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 mayan/apps/django_gpg/tests.py diff --git a/.travis.yml b/.travis.yml index 10ea72894c..df957ff4ce 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,7 +3,7 @@ python: - 2.7 env: global: - - TEST_APPS="document_indexing documents dynamic_search lock_manager document_signatures folders ocr sources tags" + - TEST_APPS="document_indexing documents django_gpg dynamic_search lock_manager document_signatures folders ocr sources tags" matrix: - DB=mysql - DB=postgres diff --git a/mayan/apps/django_gpg/tests.py b/mayan/apps/django_gpg/tests.py new file mode 100644 index 0000000000..9a84454f92 --- /dev/null +++ b/mayan/apps/django_gpg/tests.py @@ -0,0 +1,38 @@ +from __future__ import unicode_literals + +import shutil + +from django.core.files.base import File +from django.test import TestCase + +from .api import GPG, Key +from .settings import GPG_PATH, KEYSERVERS + +TEST_GPG_HOME = '/tmp/test_gpg_home' +TEST_KEYSERVERS = ['pool.sks-keyservers.net'] +TEST_UIDS = 'Roberto Rosario' +TEST_KEY_ID = '607138F1AECC5A5CA31CB7715F3F7F75D210724D' + + +class DjangoGPGTestCase(TestCase): + def setUp(self): + try: + shutil.rmtree(TEST_GPG_HOME) + except OSError: + pass + + self.gpg = GPG(binary_path=GPG_PATH, home=TEST_GPG_HOME, keyservers=KEYSERVERS) + + def test_main(self): + # No private or public keys in the keyring + self.failUnlessEqual(Key.get_all(self.gpg, secret=True), []) + self.failUnlessEqual(Key.get_all(self.gpg), []) + + # Test querying the keyservers + self.assertTrue(TEST_KEY_ID in [key_stub.key_id for key_stub in self.gpg.query(TEST_UIDS)]) + + # Receive a public key from the keyserver + self.gpg.receive_key(key_id=TEST_KEY_ID[-8:]) + + # Check that the received key is indeed in the keyring + self.assertTrue(TEST_KEY_ID[-16:] in [key_stub.key_id for key_stub in Key.get_all(self.gpg)])