summaryrefslogtreecommitdiffstats
path: root/tests/commit_page_test.py
blob: 2078ed35bbfdcccf48ec15911d22ce57a9e07925 (plain)
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
from g2h.commit_page import CommitPage, redact_email
from unittest.mock import MagicMock

def test_init():
    commit = MagicMock()
    commit.hexsha = '123'
    page = CommitPage('test/commit', 'commit test', commit, '')
    assert(page.name == 'commit test')
    assert(page.out_file_path == 'test/commit/123/_index.md')
    assert(page.template.name == 'commit.md')

def test_context():
    commit = MagicMock()
    commit.hexsha = '123'
    commit.author.email = 'unit@te.st'
    page = CommitPage('test/commit', 'commit test', commit, 'commit/content')
    context = page.context()
    assert(context['title'] == 'commit test: 123')
    assert(context['commit'] == commit)
    assert(context['redacted_email'] == 'u...@te.st')
    assert(context['content_subdir'] == 'commit/content')
    assert(context['this_commit'] == commit)

def test_redacting_email():
    assert(redact_email(None) == '')
    assert(redact_email('') == '')
    assert(redact_email('a') == 'a...')
    assert(redact_email('az') == 'a...')
    assert(redact_email('root') == 'r...')
    assert(redact_email('root@localhost') == 'r...@localhost')
    assert(redact_email('test@example.com') == 't...@example.com')
    assert(redact_email('test@sub.example.com') == 't...@sub.example.com')
    assert(redact_email('az@example.com') == 'a...@example.com')
    assert(redact_email('a@example.com') == 'a...@example.com')
    assert(redact_email('@example.com') == '@example.com')
    assert(redact_email('test@') == 't...@')
    assert(redact_email('az@') == 'a...@')
    assert(redact_email('@') == '@')
    assert(redact_email('rootuser') == 'ro...')
    assert(redact_email('username@localhost') == 'us...@localhost')
    assert(redact_email('mailbox@example.com') == 'ma...@example.com')
    assert(redact_email('testuser@sub.example.com') == 'te...@sub.example.com')
    assert(redact_email('abcde@example.com') == 'a...@example.com')
    assert(redact_email('abcdef@example.com') == 'ab...@example.com')