1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 import unittest
20
21 from dkim.util import (
22 DuplicateTag,
23 InvalidTagSpec,
24 parse_tag_value,
25 )
26
27
29 """Tag=Value parsing tests."""
30
35
40
42 self.assertEqual(
43 {b'foo': b'bar', b'baz': b'foo'},
44 parse_tag_value(b'foo=bar;baz=foo'))
45
47 self.assertEqual(
48 {b'foo': b'bar', b'baz': b'foo=bar'},
49 parse_tag_value(b'foo=bar;baz=foo=bar'))
50
52 self.assertEqual(
53 {b'foo': b'bar', b'baz': b'f oo=bar'},
54 parse_tag_value(b' foo \t= bar;\tbaz= f oo=bar '))
55
59
63
65 hval = b'''v=1; a=rsa-sha256; d=facebookmail.com; s=s1024-2011-q2; c=relaxed/simple;
66 q=dns/txt; i=@facebookmail.com; t=1308078492;
67 h=From:Subject:Date:To:MIME-Version:Content-Type;
68 bh=+qPyCOiDQkusTPstCoGjimgDgeZbUaJWIr1mdE6RFxk=;
69 b=EUmDmdnAsNtjSEHGHNTa8PXgGaEUtOVezagmninX5Bs/Q26R9r3AMgawyUSKkbHp
70 /bQZU6QPZfdvmLMPdIWCQPo8SP+gsz4dpox2efO61DlvgYaxBRhwFedAW9LjYhQc
71 3KzW0yB9JHwiDCw1EioVkv+OMHhAYzoIypA0bQyi2bc=;
72 '''
73 sig = parse_tag_value(hval)
74 self.assertEquals(sig[b't'],b'1308078492')
75 self.assertEquals(len(sig),11)
76
77
79 from unittest import TestLoader
80 return TestLoader().loadTestsFromName(__name__)
81