Ejemplo n.º 1
0
 def test_validate(self):
     for version, config in enumerate(CONFIGS):
         try:
             validate(config, version)
         except ValidationError as e:
             self.fail("Config version {} does not validate:\n\n{}".format(
                 version, e.message))
Ejemplo n.º 2
0
    def test_UPGRADES(self):
        for version, config in enumerate(CONFIGS[:-1]):
            config = dict(config)
            config = UPGRADES[version](config)
            self.assertEqual(config, CONFIGS[version + 1])

            try:
                validate(config, version + 1)
            except ValidationError as e:
                self.fail(
                    "UPGRADEing from version {} to version {} results in an invalid config:\n\n{}"
                    .format(version, version + 1, e.message))
Ejemplo n.º 3
0
    def test_upgrade(self):
        for version, config in enumerate(CONFIGS):
            config = dict(config)

            try:
                config = upgrade(config)
                validate(config)
            except ValidationError as e:
                self.fail(
                    "Upgrading from version {} to version {} results in an invalid config:\n\n{}"
                    .format(version,
                            len(CONFIGS) - 1, e.message))

            self.assertEqual(config, CONFIGS[-1])
Ejemplo n.º 4
0
    def __init__(self, filename):
        super().__init__()
        self._filename = filename

        try:
            with open(filename) as f:
                self.data = yaml.safe_load(f)

            self.data = upgrade(self.data)
            validate(self.data)

        except FileNotFoundError:
            pass  # Just make an empty config; create on __exit__()
        except ValidationError as e:
            logging.warning("Your configuration is not valid: %s", e.message)
        except VersionError as e:
            logging.warning(e)
            logging.warning("Is your installation of Assigner up to date?")
            logging.warning("Attempting to continue anyway...")
Ejemplo n.º 5
0
 def test_too_new_config(self):
     with self.assertRaises(VersionError):
         validate(TOO_NEW_CONFIG)