private void startScheduler(SchedulerTestConfiguration configuration) throws Exception {
   if (!scheduler.isStartedWithSameConfiguration(configuration)) {
     log("Starting Scheduler");
     scheduler.start(configuration);
   }
   currentTestConfiguration = configuration;
 }
Example #2
0
  @Test
  public void testJustWithScheduler() {
    TestScheduler scheduler = new TestScheduler();
    Observable<Integer> observable = Observable.fromArray(1, 2).subscribeOn(scheduler);

    Subscriber<Integer> observer = TestHelper.mockSubscriber();

    observable.subscribe(observer);

    scheduler.advanceTimeBy(1, TimeUnit.MILLISECONDS);

    InOrder inOrder = inOrder(observer);
    inOrder.verify(observer, times(1)).onNext(1);
    inOrder.verify(observer, times(1)).onNext(2);
    inOrder.verify(observer, times(1)).onComplete();
    inOrder.verifyNoMoreInteractions();
  }
  public ResourceManager getResourceManager(TestUsers user) throws Exception {
    startScheduler(currentTestConfiguration);

    if (!connectedRMUser.is(user)) { // changing user on the fly
      if (connectedRMUser != null) {
        connectedRMUser.disconnect();
      }
      connectedRMUser = new RMTestUser(user);
      connectedRMUser.connect(scheduler.getRMAuth());
    }

    if (!connectedRMUser.isConnected()) {
      connectedRMUser.connect(scheduler.getRMAuth());
    }

    return connectedRMUser.getResourceManager();
  }
  /**
   * Return Scheduler's interface. Start Scheduler if needed, connect as administrator if needed (if
   * not yet connected as user).
   *
   * <p>WARNING : if there was a previous connection as User, this connection is shut down. And so
   * some event can be missed by event receiver, between disconnection and reconnection (only one
   * connection to Scheduler per body is possible).
   *
   * @param user Type of user
   * @return scheduler interface
   * @throws Exception if an error occurs.
   */
  public Scheduler getSchedulerInterface(TestUsers user) throws Exception {
    startScheduler(currentTestConfiguration);

    if (!connectedSchedulerUser.is(user)) { // changing user on the fly
      if (connectedSchedulerUser != null) {
        connectedSchedulerUser.disconnect();
      }
      connectedSchedulerUser = new SchedulerTestUser(user);
      connectedSchedulerUser.connect(scheduler.getAuth());
    }

    if (!connectedSchedulerUser.isConnected()) {
      connectedSchedulerUser.connect(scheduler.getAuth());
    }

    return connectedSchedulerUser.getScheduler();
  }
  @Test
  public void timestampWithScheduler2() {
    TestScheduler scheduler = new TestScheduler();

    PublishSubject<Integer> source = PublishSubject.create();
    Observable<Timed<Integer>> m = source.timestamp(scheduler);
    m.subscribe(observer);

    source.onNext(1);
    source.onNext(2);
    scheduler.advanceTimeBy(100, TimeUnit.MILLISECONDS);
    scheduler.advanceTimeBy(100, TimeUnit.MILLISECONDS);
    source.onNext(3);

    InOrder inOrder = inOrder(observer);

    inOrder.verify(observer, times(1)).onNext(new Timed<>(1, 0, TimeUnit.MILLISECONDS));
    inOrder.verify(observer, times(1)).onNext(new Timed<>(2, 0, TimeUnit.MILLISECONDS));
    inOrder.verify(observer, times(1)).onNext(new Timed<>(3, 200, TimeUnit.MILLISECONDS));

    verify(observer, never()).onError(any(Throwable.class));
    verify(observer, never()).onComplete();
  }
 public static String getLocalUrl() {
   return scheduler.getUrl();
 }
 /**
  * Return Scheduler authentication interface. Start Scheduler with test configuration file, if
  * scheduler is not yet started.
  *
  * @throws Exception
  */
 public SchedulerAuthenticationInterface getSchedulerAuth() throws Exception {
   startScheduler(currentTestConfiguration);
   return scheduler.getAuth();
 }
 /** Kill the forked Scheduler if exists. */
 public void killScheduler() throws Exception {
   connectedRMUser.disconnect();
   connectedSchedulerUser.disconnect();
   scheduler.kill();
 }