Completed
Push — master ( bff2ab...5dc771 )
by Satoru
01:07
created

Test.test_10_find_by_file()   A

Complexity

Conditions 4

Size

Total Lines 17

Duplication

Lines 17
Ratio 100 %
Metric Value
cc 4
dl 17
loc 17
rs 9.2
1
#
2
# Copyright (C) 2012 - 2015 Satoru SATOH <ssato @ redhat.com>
3
# License: MIT
4
#
5
# pylint: disable=missing-docstring
6
from __future__ import absolute_import
7
8
import unittest
9
10
import anyconfig.backends as TT
11
import anyconfig.backend.ini
12
import anyconfig.backend.json
13
14
try:
15
    import anyconfig.backend.yaml
16
    YAML_FOUND = True
17
except ImportError:
18
    YAML_FOUND = False
19
20
21
class Test(unittest.TestCase):
22
23 View Code Duplication
    def test_10_find_by_file(self):
0 ignored issues
show
Duplication introduced by
This code seems to be duplicated in your project.
Loading history...
24
        ini_cf = "/a/b/c.ini"
25
        unknown_cf = "/a/b/c.xyz"
26
        jsn_cfs = ["/a/b/c.jsn", "/a/b/c.json", "/a/b/c.js"]
27
        yml_cfs = ["/a/b/c.yml", "/a/b/c.yaml"]
28
29
        self.assertTrue(TT.find_by_file(unknown_cf) is None)
30
        self.assertEqual(TT.find_by_file(ini_cf), anyconfig.backend.ini.Parser)
31
32
        for cfg in jsn_cfs:
33
            self.assertEqual(TT.find_by_file(cfg),
34
                             anyconfig.backend.json.Parser)
35
36
        if YAML_FOUND:
37
            for cfg in yml_cfs:
38
                self.assertEqual(TT.find_by_file(cfg),
39
                                 anyconfig.backend.yaml.Parser)
40
41 View Code Duplication
    def test_20_find_by_type(self):
0 ignored issues
show
Duplication introduced by
This code seems to be duplicated in your project.
Loading history...
42
        ini_t = "ini"
43
        jsn_t = "json"
44
        yml_t = "yaml"
45
        unknown_t = "unknown_type"
46
47
        self.assertTrue(TT.find_by_type(unknown_t) is None)
48
        self.assertEqual(TT.find_by_type(ini_t), anyconfig.backend.ini.Parser)
49
        self.assertEqual(TT.find_by_type(jsn_t), anyconfig.backend.json.Parser)
50
51
        if YAML_FOUND:
52
            self.assertEqual(TT.find_by_type(yml_t),
53
                             anyconfig.backend.yaml.Parser)
54
55
    def test_30_list_types(self):
56
        types = TT.list_types()
57
58
        self.assertTrue(isinstance(types, list))
59
        self.assertTrue(bool(list))  # ensure it's not empty.
60
61
# vim:sw=4:ts=4:et:
62