package ru.yandex.qatools.allure;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.TemporaryFolder;
import ru.yandex.qatools.allure.events.ClearStepStorageEvent;
import ru.yandex.qatools.allure.events.ClearTestStorageEvent;
import ru.yandex.qatools.allure.events.StepEvent;
import ru.yandex.qatools.allure.events.StepFinishedEvent;
import ru.yandex.qatools.allure.events.StepStartedEvent;
import ru.yandex.qatools.allure.events.TestCaseEvent;
import ru.yandex.qatools.allure.events.TestCaseFinishedEvent;
import ru.yandex.qatools.allure.events.TestCaseStartedEvent;
import ru.yandex.qatools.allure.events.TestSuiteEvent;
import ru.yandex.qatools.allure.events.TestSuiteFinishedEvent;
import ru.yandex.qatools.allure.events.TestSuiteStartedEvent;
import ru.yandex.qatools.allure.experimental.testdata.SimpleListener;
import ru.yandex.qatools.allure.model.Step;
import ru.yandex.qatools.allure.model.TestCaseResult;
import ru.yandex.qatools.allure.model.TestSuiteResult;
import ru.yandex.qatools.allure.utils.AllureResultsUtils;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.core.Is.is;
/**
* @author Dmitry Baev charlie@yandex-team.ru
* Date: 04.06.14
*/
public class ListenersNotifierTest {
@Rule
public TemporaryFolder folder = new TemporaryFolder();
private Allure allure;
private final SimpleListener listener = new SimpleListener();
@Before
public void setUp() throws Exception {
allure = new Allure();
allure.addListener(listener);
AllureResultsUtils.setResultsDirectory(folder.newFolder());
}
@Test
public void stepStartedEventTest() throws Exception {
allure.fire(new StepStartedEvent(""));
assertThat(listener.get(SimpleListener.EventType.STEP_STARTED_EVENT), is(1));
}
@Test
public void stepEventTest() throws Exception {
allure.fire(new StepEvent() {
@Override
public void process(Step context) {
}
});
assertThat(listener.get(SimpleListener.EventType.STEP_EVENT), is(1));
}
@Test
public void stepFinishedEventTest() throws Exception {
allure.fire(new StepFinishedEvent());
assertThat(listener.get(SimpleListener.EventType.STEP_FINISHED_EVENT), is(1));
}
//
@Test
public void testcaseStartedEventTest() throws Exception {
allure.fire(new TestCaseStartedEvent("", ""));
assertThat(listener.get(SimpleListener.EventType.TESTCASE_STARTED_EVENT), is(1));
}
@Test
public void testcaseEventTest() throws Exception {
allure.fire(new TestCaseEvent() {
@Override
public void process(TestCaseResult context) {
}
});
assertThat(listener.get(SimpleListener.EventType.TESTCASE_EVENT), is(1));
}
@Test
public void testcaseFinishedEventTest() throws Exception {
allure.fire(new TestCaseFinishedEvent());
assertThat(listener.get(SimpleListener.EventType.TESTCASE_FINISHED_EVENT), is(1));
}
//
@Test
public void testsuiteEventTest() throws Exception {
allure.fire(new TestSuiteEvent() {
@Override
public String getUid() {
return "";
}
@Override
public void process(TestSuiteResult context) {
}
});
assertThat(listener.get(SimpleListener.EventType.TESTSUITE_EVENT), is(1));
}
@Test
public void testsuiteFinishedEventTest() throws Exception {
allure.fire(new TestSuiteStartedEvent("uid", "name"));
allure.fire(new TestSuiteFinishedEvent("uid"));
assertThat(listener.get(SimpleListener.EventType.TESTSUITE_FINISHED_EVENT), is(1));
}
@Test
public void clearStepContextTest() throws Exception {
allure.fire(new ClearStepStorageEvent());
assertThat(listener.get(SimpleListener.EventType.CLEAR_STEP_STORAGE_EVENT), is(1));
}
@Test
public void clearTestContextTest() throws Exception {
allure.fire(new ClearTestStorageEvent());
assertThat(listener.get(SimpleListener.EventType.CLEAR_TEST_STORAGE_EVENT), is(1));
}
}