Completed
Push — master ( 0d56a8...9e1177 )
by Jasper
10s
created

tests.ViewTests   A

Complexity

Total Complexity 7

Size/Duplication

Total Lines 48
Duplicated Lines 0 %
Metric Value
dl 0
loc 48
rs 10
wmc 7

7 Methods

Rating   Name   Duplication   Size   Complexity  
A ViewTests.setUp() 0 6 1
A ViewTests.test_by_full_location() 0 6 1
A ViewTests.test_stats() 0 4 1
A ViewTests.test_by_subject() 0 6 1
A ViewTests.test_latest() 0 4 1
A ViewTests.test_by_id() 0 6 1
A ViewTests.test_pipeline_by_id() 0 8 1
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_by_subject(self):
40
        import niprov.views
41
        self.request.matchdict = {'subject':'janedoe'}
42
        out = niprov.views.subject(self.request)
43
        self.repo.bySubject.assert_called_with('janedoe')
44
        self.assertEqual(self.repo.bySubject(), out['images'])
45
46
    def test_pipeline_by_id(self):
47
        import niprov.views
48
        self.request.matchdict = {'id':'1a2b3c'}
49
        out = niprov.views.pipeline(self.request)
50
        self.repo.byId.assert_called_with('1a2b3c')
51
        self.pipelineFactory.forFile.assert_called_with(self.repo.byId())
52
        self.assertEqual(self.pipelineFactory.forFile(), out['pipeline'])
53
        self.assertEqual(out['sid'], '1a2b3c')
54
55
56
57
58
59