Completed
Push — master ( 5569c2...3e9026 )
by Satoru
01:31
created

Test_00_Functions._assert_dicts_equal()   A

Complexity

Conditions 1

Size

Total Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 1 Features 1
Metric Value
cc 1
c 1
b 1
f 1
dl 0
loc 2
rs 10
1
#
2
# Copyright (C) 2017 Satoru SATOH <ssato at redhat.com>
3
# License: MIT
4
#
5
# pylint: disable=missing-docstring, invalid-name
6
from __future__ import absolute_import
7
8
import unittest
9
import anyconfig.query as TT
10
11
from tests.common import dicts_equal
12
13
14
class Test_00_Functions(unittest.TestCase):
15
16
    def _assert_dicts_equal(self, dic, ref):
17
        self.assertTrue(dicts_equal(dic, ref), "%r\nvs.\n%r" % (dic, ref))
18
19
    def test_10_query(self):
20
        try:
21
            if TT.jmespath:
22
                self.assertEquals(TT.query({"a": 1}, ac_query="a"), 1)
23
                self.assertEquals(TT.query({"a": {"b": 2}}, ac_query="a.b"),
24
                                  2)
25
        except (NameError, AttributeError):
26
            pass
27
28
    def test_12_invalid_query(self):
29
        data = {"a": 1}
30
        try:
31
            if TT.jmespath:
32
                self._assert_dicts_equal(TT.query(data, ac_query="b."), data)
33
        except (NameError, AttributeError):
34
            pass
35
36
    def test_14_empty_query(self):
37
        data = {"a": 1}
38
        try:
39
            if TT.jmespath:
40
                self._assert_dicts_equal(TT.query(data, ac_query=None), data)
41
                self._assert_dicts_equal(TT.query(data, ac_query=''), data)
42
        except (NameError, AttributeError):
43
            pass
44
45
# vim:sw=4:ts=4:et:
46