IDEA-142739 GeneralIdBasedToSMTRunnerEventsConvertor doesn't accept duration attribut...
[idea/community.git] / platform / smRunner / testSrc / com / intellij / execution / testframework / sm / runner / GeneralIdBasedToSMTRunnerEventsConvertorTest.java
1 /*
2  * Copyright 2000-2015 JetBrains s.r.o.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 package com.intellij.execution.testframework.sm.runner;
17
18 import com.intellij.execution.testframework.sm.runner.events.TestFailedEvent;
19 import com.intellij.execution.testframework.sm.runner.events.TestStartedEvent;
20 import com.intellij.openapi.util.Disposer;
21 import org.jetbrains.annotations.NotNull;
22
23 public class GeneralIdBasedToSMTRunnerEventsConvertorTest extends BaseSMTRunnerTestCase {
24   private GeneralIdBasedToSMTRunnerEventsConvertor myEventsProcessor;
25   private SMTestProxy.SMRootTestProxy myRootProxy;
26
27   @Override
28   protected void setUp() throws Exception {
29     super.setUp();
30     myRootProxy = new SMTestProxy.SMRootTestProxy();
31     myEventsProcessor = new GeneralIdBasedToSMTRunnerEventsConvertor(myRootProxy, "test");
32     myEventsProcessor.onStartTesting();
33   }
34
35   @Override
36   protected void tearDown() throws Exception {
37     Disposer.dispose(myEventsProcessor);
38     super.tearDown();
39   }
40
41   public void testOnStartedTesting() {
42     assertTrue(myRootProxy.wasLaunched());
43     assertTrue(myRootProxy.isInProgress());
44     assertTrue(myRootProxy.isLeaf());
45   }
46
47   public void testOnTestStarted() throws InterruptedException {
48     onTestStarted("my test", 1, 0);
49     SMTestProxy proxy = myEventsProcessor.findProxyById(1);
50
51     assertNotNull(proxy);
52     assertTrue(proxy.isInProgress());
53     assertEquals(1, myRootProxy.getChildren().size());
54
55     onTestFailed(1, "", 1);
56     proxy = myEventsProcessor.findProxyById(1);
57
58     assertNotNull(proxy);
59     assertTrue(proxy.isDefect());
60     assertEquals(Long.valueOf(1), proxy.getDuration());
61   }
62
63   private void onTestStarted(@NotNull String testName, int id, int parentId) {
64     myEventsProcessor.onTestStarted(new TestStartedEvent(testName, id, parentId, null, null, null, true));
65   }
66
67   private void onTestFailed(int id, @NotNull String errorMessage, int duration) {
68     myEventsProcessor.onTestFailure(new TestFailedEvent(null, id, errorMessage, null, false, null, null, null, duration));
69   }
70
71 }