package slacknotifications.testframework.util;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;
import slacknotifications.teamcity.settings.SlackNotificationConfig;
import java.io.File;
import java.io.IOException;
import static org.junit.Assert.assertTrue;
public class ConfigLoaderUtil {
public static Element getFullConfigElement(File file) throws JDOMException, IOException{
SAXBuilder builder = new SAXBuilder();
builder.setIgnoringElementContentWhitespace(true);
Document doc = builder.build(file);
return doc.getRootElement();
}
public static SlackNotificationConfig getFirstSlackNotificationInConfig(File f) throws JDOMException, IOException{
Element fileAsElement = ConfigLoaderUtil.getFullConfigElement(f);
assertTrue("One and only one slackNotifications expected when loading test config from file : " + f.getName(), fileAsElement.getChild("slackNotifications").getChildren("slackNotification").size() == 1);
return new SlackNotificationConfig((Element) fileAsElement.getChild("slackNotifications").getChildren("slackNotification").get(0));
}
}