You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by dp...@apache.org on 2018/09/25 21:56:19 UTC

[ignite-teamcity-bot] branch di-refactoring updated: Additional test for observer startup; ctor injection supported

This is an automated email from the ASF dual-hosted git repository.

dpavlov pushed a commit to branch di-refactoring
in repository https://gitbox.apache.org/repos/asf/ignite-teamcity-bot.git


The following commit(s) were added to refs/heads/di-refactoring by this push:
     new a466ed9  Additional test for observer startup; ctor injection supported
a466ed9 is described below

commit a466ed9270252c1f0c14c2fcf4ece2db7d482ef6
Author: Dmitriy Pavlov <dp...@apache.org>
AuthorDate: Wed Sep 26 00:56:16 2018 +0300

    Additional test for observer startup; ctor injection supported
---
 .../org/apache/ignite/ci/observer/BuildObserver.java |  7 +++++--
 .../java/org/apache/ignite/ci/di/DiContextTest.java  | 20 ++++++++++++++++++--
 2 files changed, 23 insertions(+), 4 deletions(-)

diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/observer/BuildObserver.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/observer/BuildObserver.java
index ced9593..77fee6f 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/observer/BuildObserver.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/observer/BuildObserver.java
@@ -33,14 +33,17 @@ public class BuildObserver {
     private final Timer timer;
 
     /** Task, which should be done periodically. */
-    @Inject ObserverTask observerTask;
+    ObserverTask observerTask;
 
     /**
      */
-    public BuildObserver() {
+    @Inject
+    public BuildObserver( ObserverTask observerTask) {
         timer = new Timer();
 
         timer.schedule(observerTask, 0, period);
+
+        this.observerTask = observerTask;
     }
 
     /**
diff --git a/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/di/DiContextTest.java b/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/di/DiContextTest.java
index 569d429..1888ea0 100644
--- a/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/di/DiContextTest.java
+++ b/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/di/DiContextTest.java
@@ -19,7 +19,10 @@ package org.apache.ignite.ci.di;
 import com.google.common.base.Preconditions;
 import com.google.inject.Guice;
 import com.google.inject.Injector;
+import org.apache.ignite.ci.ITcHelper;
 import org.apache.ignite.ci.ITcServerProvider;
+import org.apache.ignite.ci.TcHelper;
+import org.apache.ignite.ci.observer.BuildObserver;
 import org.apache.ignite.ci.observer.ObserverTask;
 import org.apache.ignite.ci.web.TcUpdatePool;
 import org.junit.Test;
@@ -58,9 +61,12 @@ public class DiContextTest {
         pool.stop();
     }
 
-    private void validateInstanceCachedFor(Injector injector, Class<?> type) {
-        Preconditions.checkState(injector.getInstance(type) == injector.getInstance(type),
+    private <T> T validateInstanceCachedFor(Injector injector, Class<T> type) {
+        final T firstInstance = injector.getInstance(type);
+        Preconditions.checkState(firstInstance == injector.getInstance(type),
                 "Instance not cached for type " + type);
+
+        return firstInstance;
     }
 
     @Test
@@ -101,4 +107,14 @@ public class DiContextTest {
         @MonitoredTask(name = TASK_NME)
         public void doSmth() {}
     }
+
+    @Test
+    public void checkSingletonTcHelper() {
+        IgniteTcBotModule igniteTcBotModule = new IgniteTcBotModule();
+        Injector injector = Guice.createInjector(igniteTcBotModule);
+
+        validateInstanceCachedFor(injector, ITcHelper.class);
+
+        validateInstanceCachedFor(injector, BuildObserver.class).stop();
+    }
 }