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))