#!/bin/python
# Test configuration schema
# A. Schlemmer, 01/2021

from jsonschema.exceptions import ValidationError
from pytest import raises
from glob import glob
import os
from caosdb.configuration import config_to_yaml, validate_yaml_schema
from configparser import ConfigParser


def test_config_files():
    for fn in glob(os.path.join(os.path.dirname(__file__), "test_configs", "*.ini")):
        c = ConfigParser()
        c.read(fn)
        validate_yaml_schema(config_to_yaml(c))


def test_broken_config_files():
    for fn in glob(os.path.join(os.path.dirname(__file__), "broken_configs", "*.ini")):
        print(fn)
        with raises(ValidationError):
            c = ConfigParser()
            c.read(fn)
            validate_yaml_schema(config_to_yaml(c))