Пример #1
0
    def test_existing_bool(self):
        """Test if float variable given in config file is correctly returned"""
        config = RawConfigParser()

        configtext = """
        [test]
        var1 = true
        """
        config.read_string(configtext)

        var1 = config.getboolean("test", "var1")
        print(f"From RawConfigParser -> var1: {var1}")
        self.assertEqual(var1, True)

        wrap = ConfigWrapper(
            config, {
                "var1": {
                    "default": "false",
                    "description": "this is just a test for float var1"
                }
            })

        var1 = wrap.getboolean("test", "var1")
        print(f"From ConfigWrapper -> var1: {var1}")
        self.assertIsInstance(var1, bool)
        self.assertEqual(var1, True)
Пример #2
0
    def test_default_realbool(self):
        """
        Test if default boolean variable is returned if given as bool

        Note:
        In the configuration file, a boolean has to be given as string,
        so the string should be converted to a boolean. For the wrapper
        a boolean value has to work as well.
        """
        config = RawConfigParser()

        configtext = """
        [test]
        """
        config.read_string(configtext)

        with self.assertRaises(NoOptionError):
            _ = config.getboolean("test", "var1")

        wrap = ConfigWrapper(
            config, {
                "var1": {
                    "default": False,
                    "description": "this is just a test for integer var1"
                }
            })

        var1 = wrap.getboolean("test", "var1")
        print(f"From ConfigWrapper -> var1: {var1}")
        self.assertIsInstance(var1, bool)
        self.assertEqual(var1, False)
Пример #3
0
    def test_default_realfloat(self):
        """
        Test if default float variable is returned if given as string

        Note:
        In the configuration file, a float can be given as string,
        so the string should be converted to a float. For the wrapper
        a string value has to work as well.
        """
        config = RawConfigParser()

        configtext = """
        [test]
        """
        config.read_string(configtext)

        with self.assertRaises(NoOptionError):
            _ = config.getfloat("test", "var1")

        wrap = ConfigWrapper(
            config, {
                "var1": {
                    "default": "1.1",
                    "description": "this is just a test for float var1"
                }
            })

        var1 = wrap.getfloat("test", "var1")
        print(f"From ConfigWrapper -> var1: {var1}")
        self.assertIsInstance(var1, float)
        self.assertEqual(var1, 1.1)
Пример #4
0
    def test_existing_string(self):
        """Test if string variable given in config file is correctly returned"""
        config = RawConfigParser()

        configtext = """
        [test]
        var1 = test
        """
        config.read_string(configtext)

        var1 = config.get("test", "var1")
        print(f"From RawConfigParser -> var1: {var1}")
        self.assertEqual(var1, "test")

        wrap = ConfigWrapper(
            config, {
                "var1": {
                    "default": "<undefined>",
                    "description": "this is just a test for string var1"
                }
            })

        var1 = wrap.get("test", "var1")
        print(f"From ConfigWrapper -> var1: {var1}")
        self.assertEqual(var1, "test")
        self.assertIsInstance(var1, str)
Пример #5
0
    def test_nodefault_exception_string(self):
        """Test if undefined or value without default raises exception"""
        config = RawConfigParser()

        configtext = """
        [test]
        """
        config.read_string(configtext)

        with self.assertRaises(NoOptionError):
            _ = config.get("test", "var1")
        with self.assertRaises(NoOptionError):
            _ = config.get("test", "var2")

        wrap = ConfigWrapper(
            config,
            {"var1": {
                "description": "this is just a test for string var1"
            }})

        with self.assertRaises(NoOptionError):
            _ = wrap.get("test", "var2")
        with self.assertRaises(NoOptionError):
            _ = wrap.get("test", "var1")
Пример #6
0
    def test_manual_fallback_string(self):
        """Test if explicit fallback string has precedence"""
        config = RawConfigParser()

        configtext = """
        [test]
        """
        config.read_string(configtext)

        with self.assertRaises(NoOptionError):
            _ = config.get("test", "var1")

        wrap = ConfigWrapper(
            config, {
                "var1": {
                    "default": "<undefined>",
                    "description": "this is just a test for string var1"
                }
            })

        var1 = wrap.get("test", "var1", fallback="{{manual}}")
        print(f"From ConfigWrapper -> var1: {var1}")
        self.assertEqual(var1, "{{manual}}")
        self.assertIsInstance(var1, str)
Пример #7
0
    def test_manual_fallback_bool(self):
        """Test if explicit fallback bool has precedence"""
        config = RawConfigParser()

        configtext = """
        [test]
        """
        config.read_string(configtext)

        with self.assertRaises(NoOptionError):
            _ = config.getboolean("test", "var1")

        wrap = ConfigWrapper(
            config, {
                "var1": {
                    "default": False,
                    "description": "this is just a test for bool var1"
                }
            })

        var1 = wrap.getfloat("test", "var1", fallback=True)
        print(f"From ConfigWrapper -> var1: {var1}")
        self.assertTrue(var1)
        self.assertIsInstance(var1, bool)
Пример #8
0
    def test_default_string(self):
        """Test if default string variable is returned if variable not defined"""
        config = RawConfigParser()

        configtext = """
        [test]
        """
        config.read_string(configtext)

        with self.assertRaises(NoOptionError):
            _ = config.get("test", "var1")

        wrap = ConfigWrapper(
            config, {
                "var1": {
                    "default": "<undefined>",
                    "description": "this is just a test for string var1"
                }
            })

        var1 = wrap.get("test", "var1")
        print(f"From ConfigWrapper -> var1: {var1}")
        self.assertEqual(var1, "<undefined>")
        self.assertIsInstance(var1, str)
Пример #9
0
    def test_manual_fallback_float(self):
        """Test if explicit fallback float has precedence"""
        config = RawConfigParser()

        configtext = """
        [test]
        """
        config.read_string(configtext)

        with self.assertRaises(NoOptionError):
            _ = config.getfloat("test", "var1")

        wrap = ConfigWrapper(
            config, {
                "var1": {
                    "default": -1.1,
                    "description": "this is just a test for float var1"
                }
            })

        var1 = wrap.getfloat("test", "var1", fallback=9.99)
        print(f"From ConfigWrapper -> var1: {var1}")
        self.assertEqual(var1, 9.99)
        self.assertIsInstance(var1, float)
Пример #10
0
    def test_default_float(self):
        """Test if float variable given in config file is correctly returned"""
        config = RawConfigParser()

        configtext = """
        [test]
        """
        config.read_string(configtext)

        with self.assertRaises(NoOptionError):
            _ = config.getfloat("test", "var1")

        wrap = ConfigWrapper(
            config, {
                "var1": {
                    "default": -1.1,
                    "description": "this is just a test for integer var1"
                }
            })

        var1 = wrap.getfloat("test", "var1")
        print(f"From ConfigWrapper -> var1: {var1}")
        self.assertIsInstance(var1, float)
        self.assertEqual(var1, -1.1)