MongoTests   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 25
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
dl 0
loc 25
rs 10
c 1
b 0
f 0
wmc 4

4 Methods

Rating   Name   Duplication   Size   Complexity  
A setUp() 0 6 1
A tearDown() 0 3 1
A test_Stats() 0 5 1
A test_Something() 0 6 1
1
import unittest, os
2
from pymongo import MongoClient
3
4
URL = 'mongodb://niprov-admin:{0}@ds041571.mongolab.com:41571/niprov'
5
PASSWORD = 'uU0mpDXtQXeL6wku'
6
7
8
class MongoTests(unittest.TestCase):
9
10
    def setUp(self):
11
        from niprov import ProvenanceContext
12
        self.provenance = ProvenanceContext()
13
        self.fullURL = URL.format(PASSWORD)
14
        self.provenance.config.database_type = 'MongoDB'
15
        self.provenance.config.database_url = self.fullURL
16
17
    def tearDown(self):
18
        client = MongoClient(self.fullURL)
19
        client.get_default_database().provenance.drop()
20
21
    @unittest.skipIf("TRAVIS" in os.environ, "Skipping this test on Travis CI.")
22
    def test_Something(self):
23
        self.provenance.discover('testdata')
24
        testfpath = os.path.abspath('testdata/parrec/T1.PAR')
25
        img = self.provenance.get().byLocation(testfpath)
26
        self.assertEqual(img.provenance['subject'], '05aug14test')
27
28
    @unittest.skipIf("TRAVIS" in os.environ, "Skipping this test on Travis CI.")
29
    def test_Stats(self):
30
        self.provenance.discover('testdata')
31
        repository = self.provenance.deps.getRepository()
32
        print(repository.statistics())
33
34
35
36