Completed
Push — master ( 6d0d49...6d6a7d )
by Jasper
02:25 queued 57s
created

DependenciesTests.test_provides_Camera()   A

Complexity

Conditions 1

Size

Total Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
dl 0
loc 6
rs 9.4285
c 0
b 0
f 0
1
import unittest
2
import mock
3
from mock import Mock, patch
4
5
6
class DependenciesTests(unittest.TestCase):
7
8
    def setUp(self):
9
        pass
10
11
    def test_Changing_setting_directly_affects_component_setting(self):
12
        from niprov.dependencies import Dependencies
13
        dependencies = Dependencies()
14
        self.assertEqual(dependencies.getListener().verbosity, 'info')
15
        dependencies.config.verbosity = 'warning'
16
        self.assertEqual(dependencies.getListener().verbosity, 'warning')
17
18
    def test_Changing_storage_setting_changes_repository_provided(self):
19
        from niprov.dependencies import Dependencies
20
        from niprov.jsonfile import JsonFile
21
        from niprov.mongo import MongoRepository
22
        dependencies = Dependencies()
23
        with patch('niprov.mongo.pymongo'):
24
            dependencies.config.database_type = 'file'
25
            self.assertIsInstance(dependencies.getRepository(), JsonFile)
26
            dependencies.config.database_type = 'MongoDB'
27
            self.assertIsInstance(dependencies.getRepository(), MongoRepository)
28
29
    def test_reconfigureOrGetConfiguration_with_None_doesnt_affect_config(self):
30
        from niprov.dependencies import Dependencies
31
        dependencies = Dependencies()
32
        self.assertEqual(dependencies.getListener().verbosity, 'info')
33
        dependencies.reconfigureOrGetConfiguration(None)
34
        self.assertEqual(dependencies.getListener().verbosity, 'info')
35
36
    def test_reconfigureOrGetConfiguration_with_None_returns_config(self):
37
        from niprov.dependencies import Dependencies
38
        dependencies = Dependencies()
39
        outConfig = dependencies.reconfigureOrGetConfiguration(None)
40
        self.assertEqual(dependencies.config, outConfig)
41
42
    def test_reconfigureOrGetConfiguration_with_new_config_returns_it(self):
43
        from niprov.dependencies import Dependencies, Configuration
44
        dependencies = Dependencies()
45
        newSettings = Configuration()
46
        newSettings.verbose = True
47
        outConfig = dependencies.reconfigureOrGetConfiguration(newSettings)
48
        self.assertEqual(newSettings, outConfig)
49
50
    def test_reconfigureOrGetConfiguration_creates_new_dependencies(self):
51
        from niprov.dependencies import Dependencies, Configuration
52
        dependencies = Dependencies()
53
        self.assertEqual(dependencies.getListener().verbosity, 'info')
54
        newSettings = Configuration()
55
        newSettings.verbosity = 'warning'
56
        dependencies.reconfigureOrGetConfiguration(newSettings)
57
        self.assertEqual(dependencies.getListener().verbosity, 'warning')
58
59
    def test_GetConfiguration_returns_config(self):
60
        from niprov.dependencies import Dependencies
61
        dependencies = Dependencies()
62
        outConfig = dependencies.getConfiguration()
63
        self.assertEqual(dependencies.config, outConfig)
64
65
    def test_Filefactory_provided(self):
66
        from niprov.dependencies import Dependencies
67
        from niprov.files import FileFactory
68
        dependencies = Dependencies()
69
        self.assertIsInstance(dependencies.getFileFactory(), FileFactory)
70
71
    def test_provides_LocationFactory(self):
72
        from niprov.dependencies import Dependencies
73
        from niprov.locationfactory import LocationFactory
74
        dependencies = Dependencies()
75
        self.assertIsInstance(dependencies.getLocationFactory(), 
76
            LocationFactory)
77
78
    def test_provides_PipelineFactory(self):
79
        from niprov.dependencies import Dependencies
80
        from niprov.pipelinefactory import PipelineFactory
81
        dependencies = Dependencies()
82
        self.assertIsInstance(dependencies.getPipelineFactory(), 
83
            PipelineFactory)
84
85
    def test_provides_FormatFactory(self):
86
        from niprov.dependencies import Dependencies
87
        from niprov.formatfactory import FormatFactory
88
        dependencies = Dependencies()
89
        self.assertIsInstance(dependencies.getFormatFactory(), 
90
            FormatFactory)
91
92
    def test_provides_MediumFactory(self):
93
        from niprov.dependencies import Dependencies
94
        from niprov.mediumfactory import MediumFactory
95
        dependencies = Dependencies()
96
        self.assertIsInstance(dependencies.getMediumFactory(), 
97
            MediumFactory)
98
99
    def test_provides_Externals(self):
100
        from niprov.dependencies import Dependencies
101
        from niprov.externals import Externals
102
        dependencies = Dependencies()
103
        self.assertIsInstance(dependencies.getExternals(), 
104
            Externals)
105
106
    def test_provides_FileFilter(self):
107
        from niprov.dependencies import Dependencies
108
        from niprov.filefilter import FileFilter
109
        dependencies = Dependencies()
110
        self.assertIsInstance(dependencies.getFileFilter(), 
111
            FileFilter)
112
113
    def test_provides_Hasher(self):
114
        from niprov.dependencies import Dependencies
115
        from niprov.hashing import Hasher
116
        dependencies = Dependencies()
117
        self.assertIsInstance(dependencies.getHasher(), 
118
            Hasher)
119
120
    def test_provides_Users(self):
121
        from niprov.dependencies import Dependencies
122
        from niprov.users import Users
123
        dependencies = Dependencies()
124
        self.assertIsInstance(dependencies.getUsers(), 
125
            Users)
126
127
    def test_provides_Camera(self):
128
        from niprov.dependencies import Dependencies
129
        from niprov.camera import Camera
130
        dependencies = Dependencies()
131
        self.assertIsInstance(dependencies.getCamera(), 
132
            Camera)
133
134
    def test_provides_PictureCache(self):
135
        from niprov.dependencies import Dependencies
136
        from niprov.pictures import PictureCache
137
        dependencies = Dependencies()
138
        self.assertIsInstance(dependencies.getPictureCache(), 
139
            PictureCache)
140
141