Completed
Push — master ( fb6031...636c5d )
by Chris
01:03
created

test_get_db_handler_mongo()   A

Complexity

Conditions 2

Size

Total Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
cc 2
c 1
b 0
f 1
dl 0
loc 2
rs 10
1
import json
2
3
import pytest
4
5
from flask_jsondash import db
6
from flask_jsondash import settings
7
from flask_jsondash import mongo_adapter
8
9
10
def test_reformat_data():
11
    c_id = 3
12
    res = db.reformat_data(dict(), c_id)
13
    assert isinstance(res, dict)
14
    assert 'date' in res
15
    assert res.get('id') == c_id
16
17
18
def test_format_charts():
19
    data = {'module_': json.dumps(dict()), 'name': 'foo'}
20
    res = db.format_charts(data)
21
    assert isinstance(res, list)
22
    assert res != []
23
    assert len(res) == 1
24
25
26
def test_format_charts_invalid():
27
    data = {'Foo': json.dumps(dict())}
28
    res = db.format_charts(data)
29
    assert res == []
30
31
32
def test_default_dbname():
33
    assert db.DB_NAME == 'mongo'
34
35
36
def test_default_settings():
37
    assert settings.DB_URI == 'localhost'
38
    assert settings.DB_PORT == 27017
39
    assert settings.DB_NAME == 'charts'
40
    assert settings.DB_TABLE == 'views'
41
    assert settings.ACTIVE_DB == 'mongo'
42
    assert db.DB_NAME == settings.ACTIVE_DB
43
44
45
def test_get_db_handler_mongo():
46
    assert isinstance(db.get_db_handler(), mongo_adapter.Db)
47
48
49
def test_get_db_handler_invalid(monkeypatch):
50
    monkeypatch.setattr(db, 'DB_NAME', 'invaliddb')
51
    with pytest.raises(NotImplementedError):
52
        db.get_db_handler()
53