55 lines
1.7 KiB
Python
55 lines
1.7 KiB
Python
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))
|