File: testParameters.py

package info (click to toggle)
galileo 0.5.1-11
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 420 kB
  • sloc: python: 3,462; xml: 23; makefile: 11; sh: 1
file content (75 lines) | stat: -rw-r--r-- 2,245 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
import unittest
import logging

from galileo.config import (
    StrParameter, IntParameter, BoolParameter, SetParameter, LogLevelParameter
)


class MyArgParse(object):
    def __init__(self, tester):
        self.tester = tester
    def add_argument(self, *args, **kwargs):
        self.name = kwargs['dest']
    def parse_args(self, args):
        class Args(object): pass
        a = Args()
        setattr(a, self.name, args[1])
        return a


class testStrParameter(unittest.TestCase):
    def testArgParse(self):
        p = StrParameter('varName', 'name', ('--paramNames'), 'default', False,
                         "Some help text")
        ap = MyArgParse(self)
        p.toArgParse(ap)
        args = ap.parse_args(['--paramNames', 'value'])
        d = {}
        p.fromArgs(args, d)
        self.assertTrue('varName' in d)
        self.assertEqual(d['varName'], 'value')

    def testFile(self):
        p = StrParameter('varName', 'name', ('--paramNames'), 'default', False,
                         "Some help text")
        ap = MyArgParse(self)
        d = {}
        c = {'name': 'abcd'}
        self.assertTrue(p.fromFile(c, d))
        self.assertTrue('varName' in d)
        self.assertEqual(d['varName'], 'abcd')

    def testFileparamOnly(self):
        p = StrParameter('varName', 'name', ('--paramNames'), 'default', True,
                         "Some help text")
        ap = MyArgParse(self)
        d = {}
        c = {'name': 'abcd'}
        self.assertTrue(p.fromFile(c, d))
        self.assertFalse('varName' in d)


class testBoolParameter(unittest.TestCase): pass


class testLogLevelParameter(unittest.TestCase):
    def testWrongValuefromFile(self):
        p = LogLevelParameter()
        d = {}
        c = {'logging': 'foo'}
        self.assertFalse(p.fromFile(c, d))

    def testCorrectValueUpper(self):
        p = LogLevelParameter()
        d = {}
        c = {'logging': 'DEBUG'}
        self.assertTrue(p.fromFile(c, d))
        self.assertEqual(d['logLevel'], logging.DEBUG)

    def testCorrectValueLower(self):
        p = LogLevelParameter()
        d = {}
        c = {'logging': 'quiet'}
        self.assertTrue(p.fromFile(c, d))
        self.assertEqual(d['logLevel'], logging.WARNING)