1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
from django.conf import settings
from django.test import TestCase
from main.templatetags.pgp import pgp_key_link, format_key, pgp_fingerprint
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('\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 = '3E2C81117BFB1108DEFF'
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 assert_pgp_key_link(self, pgp_key):
output = pgp_key_link(int(pgp_key, 16))
self.assertIn(pgp_key[2:], output)
self.assertIn("https", output)
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)
# Numeric key_id <= 8
self.assert_pgp_key_link('0x0023BDC7')
# Numeric key_id <= 16
self.assert_pgp_key_link('0xBDC7FF5E34A12F')
# Numeric key_id <= 40
self.assert_pgp_key_link('0xA10E234343EA8BDC7FF5E34A12F')
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))
def test_pgp_fingerprint(self):
self.assertEqual(pgp_fingerprint(None), "")
keyid = '423423fD9004FB063E2C81117BFB1108D234DAFZ'
fingerprint = pgp_fingerprint(keyid)
self.assertTrue(len(fingerprint) > len(keyid))
|