/*******************************************************************************
* Copyright (c) 2006-2010 eBay Inc. All Rights Reserved.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*******************************************************************************/
package org.ebayopensource.turmeric.runtime.config.validation;
import java.io.File;
import org.apache.commons.io.FilenameUtils;
import org.ebayopensource.turmeric.junit.utils.MavenTestingUtils;
/**
* Used to help assert that all of the configurations present in the project are valid.
* <p>
* Simple Example:
*
* <pre>
* package org.ebayopensource.turmeric.runtime.config.validation;
*
* import org.ebayopensource.turmeric.junit.AbstractTurmericTestCase;
* import org.junit.Test;
*
* public class ConfigValidationTest extends AbstractTurmericTestCase {
* @Test
* public void testConfig() {
* ConfigAsserts.assertConfigsValid();
* }
* }
* </pre>
*
*/
public class ConfigAsserts {
private static String os(String path) {
return FilenameUtils.separatorsToSystem(path);
}
public static void assertConfigsValid(RuntimeConfigValidator validator) {
File basedir = MavenTestingUtils.getBasedir();
File mainResources = new File(basedir, os("src/main/resources"));
File testResources = new File(basedir, os("src/test/resources"));
Violations violations = new Violations();
validator.validateAll(mainResources, violations);
validator.validateAll(testResources, violations);
RuntimeConfigValidator.assertNoViolations(violations);
}
public static void assertConfigsValid() {
assertConfigsValid(new RuntimeConfigValidator());
}
}