Completed
Push — master ( 4b6b67...211fa1 )
by Jasper
9s
created

ViewTests.test_users()   A

Complexity

Conditions 1

Size

Total Lines 7

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
dl 0
loc 7
rs 9.4285
c 1
b 0
f 0
1
import unittest
2
from mock import Mock, patch
3
from tests.ditest import DependencyInjectionTestBase
4
5
6
class ViewTests(DependencyInjectionTestBase):
7
8
    def setUp(self):
9
        super(ViewTests, self).setUp()
10
        self.config.dryrun = False
11
        self.img = Mock()
12
        self.request = Mock()
13
        self.request.dependencies = self.dependencies
14
15
    def test_latest(self):
16
        import niprov.views
17
        out = niprov.views.latest(self.request)
18
        self.assertEqual(self.repo.latest(), out['images'])
19
20
    def test_by_id(self):
21
        import niprov.views
22
        self.request.matchdict = {'id':'1a2b3c'}
23
        out = niprov.views.short(self.request)
24
        self.repo.byId.assert_called_with('1a2b3c')
25
        self.assertEqual(self.repo.byId(), out['image'])
26
27
    def test_by_full_location(self):
28
        import niprov.views
29
        self.request.matchdict = {'host':'her','path':('a','b','c')}
30
        out = niprov.views.location(self.request)
31
        self.repo.byLocation.assert_called_with('her:/a/b/c')
32
        self.assertEqual(self.repo.byLocation(), out['image'])
33
34
    def test_stats(self):
35
        import niprov.views
36
        out = niprov.views.stats(self.request)
37
        self.assertEqual(self.repo.statistics(), out['stats'])
38
39
    def test_pipeline_by_id(self):
40
        import niprov.views
41
        self.request.matchdict = {'id':'1a2b3c'}
42
        out = niprov.views.pipeline(self.request)
43
        self.repo.byId.assert_called_with('1a2b3c')
44
        self.pipelineFactory.forFile.assert_called_with(self.repo.byId())
45
        self.assertEqual(self.pipelineFactory.forFile(), out['pipeline'])
46
        self.assertEqual(out['sid'], '1a2b3c')
47
48
    def test_by_project(self):
49
        import niprov.views
50
        self.request.matchdict = {'project':'failcow'}
51
        out = niprov.views.project(self.request)
52
        self.query.byProject.assert_called_with('failcow')
53
        self.assertEqual(self.query.byProject(), out['images'])
54
55
    def test_by_user(self):
56
        import niprov.views
57
        self.request.matchdict = {'user':'failcow'}
58
        out = niprov.views.user(self.request)
59
        self.query.byUser.assert_called_with('failcow')
60
        self.assertEqual(self.query.byUser(), out['images'])
61
62
    def test_by_modality(self):
63
        import niprov.views
64
        self.request.matchdict = {'modality':'failcow'}
65
        out = niprov.views.modality(self.request)
66
        self.query.byModality.assert_called_with('failcow')
67
        self.assertEqual(self.query.byModality(), out['images'])
68
69
    def test_by_subject(self):
70
        import niprov.views
71
        self.request.matchdict = {'subject':'janedoe'}
72
        out = niprov.views.subject(self.request)
73
        self.query.bySubject.assert_called_with('janedoe')
74
        self.assertEqual(self.query.bySubject(), out['images'])
75
76
    def test_search_provides_searchstring_to_template(self):
77
        import niprov.views
78
        self.request.GET = {'text':'hello world'}
79
        out = niprov.views.search(self.request)
80
        self.assertEqual('hello world', out['searchtext'])
81
82
    def test_search_provides_search_results_to_template(self):
83
        import niprov.views
84
        self.request.GET = {'text':'hello world'}
85
        with patch('niprov.views.searching') as searching:
86
            out = niprov.views.search(self.request)
87
            searching.search.assert_called_with('hello world',
88
                                                self.request.dependencies)
89
            self.assertEqual(searching.search(), out['images'])
90
91
    def test_modalities(self):
92
        import niprov.views
93
        out = niprov.views.modalities(self.request)
94
        self.query.allModalities.assert_called_with()
95
        self.assertEqual('modalities', out['categoryPlural'])
96
        self.assertEqual('modality', out['category'])
97
        self.assertEqual(self.query.allModalities(), out['items'])
98
99
    def test_projects(self):
100
        import niprov.views
101
        out = niprov.views.projects(self.request)
102
        self.query.allProjects.assert_called_with()
103
        self.assertEqual('projects', out['categoryPlural'])
104
        self.assertEqual('project', out['category'])
105
        self.assertEqual(self.query.allProjects(), out['items'])
106
107
    def test_users(self):
108
        import niprov.views
109
        out = niprov.views.users(self.request)
110
        self.query.allUsers.assert_called_with()
111
        self.assertEqual('users', out['categoryPlural'])
112
        self.assertEqual('user', out['category'])
113
        self.assertEqual(self.query.allUsers(), out['items'])
114
115
116
117
118
119
120