main: Add basic tests for pgp template functions (#28)

This commit is contained in:
jelle van der Waa 2017-05-30 02:47:43 +02:00 committed by Angel Velásquez
parent 767d9d190b
commit bd90570ab7

54
main/tests.py Normal file
View File

@ -0,0 +1,54 @@
from django.conf import settings
from django.test import TestCase
from main.templatetags.pgp import pgp_key_link, format_key
class PGPTemplateTest(TestCase):
def test_format_key(self):
# 40 len case
pgp_key = '423423fD9004FB063E2C81117BFB1108D234DAFZ'
pgp_key_len = len(pgp_key)
output = format_key(pgp_key)
spaces = output.count(' ') + output.count(u'\xa0') # nbsp
self.assertEqual(pgp_key_len + spaces, len(output))
# 21 - 39 len case
pgp_key = '3E2C81117BFB1108D234DAFZ'
pgp_key_len = len(pgp_key) + len('0x')
self.assertEqual(pgp_key_len, len(format_key(pgp_key)))
# 8 - 20 len case
pgp_key = '3E2C81117BFB1108D'
pgp_key_len = len(pgp_key) + len('0x')
self.assertEqual(pgp_key_len, len(format_key(pgp_key)))
# 0 - 7 len case
pgp_key = 'B1108D'
pgp_key_len = len(pgp_key) + len('0x')
self.assertEqual(pgp_key_len, len(format_key(pgp_key)))
def test_pgp_key_link(self):
self.assertEqual(pgp_key_link(""), "Unknown")
pgp_key = '423423fD9004FB063E2C81117BFB1108D234DAFZ'
output = pgp_key_link(pgp_key)
self.assertIn(pgp_key, output)
self.assertIn("https", output)
output = pgp_key_link(pgp_key, "test")
self.assertIn("test", output)
self.assertIn("https", output)
pgp_key = '423423fD9004FB063E2C81117BFB1108D234DAFZ'
server = getattr(settings, 'PGP_SERVER')
with self.settings(PGP_SERVER=''):
self.assertNotIn(server, pgp_key_link(pgp_key))
with self.settings(PGP_SERVER_SECURE=False):
pgp_key = '423423fD9004FB063E2C81117BFB1108D234DAFZ'
self.assertNotIn("https", pgp_key_link(pgp_key))