package org.ovirt.engine.core.utils;
import static org.junit.Assert.fail;
import static org.junit.Assume.assumeNotNull;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import org.junit.Before;
import org.junit.Test;
public class AbstractPropertiesTestBase<E extends Enum<E>> {
private Class<E> enumClass;
private String relativePath;
private File file;
public AbstractPropertiesTestBase(Class<E> enumClass, String relativePath) {
this.enumClass = enumClass;
this.relativePath = relativePath;
}
@Before
public void loadFileFromPath() {
String baseDir = System.getProperty("basedir");
assumeNotNull(baseDir);
file = new File(baseDir, relativePath);
}
@Test
public void testRedundantMessages() throws IOException {
EnumTranslationProperties props = new EnumTranslationProperties(enumClass);
try (InputStream is = new FileInputStream(file)) {
props.load(is);
} catch (MissingEnumTranslationException exception) {
fail("Check for redundant keys in " + file.getAbsolutePath() + " failed: " + exception.getMessage());
}
}
}