Merge branch 'two-dot-o-dev' of 
https://git-wip-us.apache.org/repos/asf/incubator-usergrid into two-dot-o-dev


Project: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/commit/28a8590c
Tree: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/tree/28a8590c
Diff: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/diff/28a8590c

Branch: refs/heads/USERGRID-593
Commit: 28a8590cd3c9db202a858df2b5605d7d48dc29f4
Parents: 5f99ee2 f2aa403
Author: Todd Nine <tn...@apigee.com>
Authored: Tue Apr 21 14:15:25 2015 -0600
Committer: Todd Nine <tn...@apigee.com>
Committed: Tue Apr 21 14:15:25 2015 -0600

----------------------------------------------------------------------
 .../apache/usergrid/corepersistence/index/PublishRxTest.java  | 7 +++++++
 .../apache/usergrid/corepersistence/index/PublishRxtest.java  | 4 +---
 2 files changed, 8 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/28a8590c/stack/core/src/test/java/org/apache/usergrid/corepersistence/index/PublishRxtest.java
----------------------------------------------------------------------
diff --cc 
stack/core/src/test/java/org/apache/usergrid/corepersistence/index/PublishRxtest.java
index 84d3ef7,0000000..6a49e80
mode 100644,000000..100644
--- 
a/stack/core/src/test/java/org/apache/usergrid/corepersistence/index/PublishRxtest.java
+++ 
b/stack/core/src/test/java/org/apache/usergrid/corepersistence/index/PublishRxtest.java
@@@ -1,96 -1,0 +1,94 @@@
 +/*
 + * Licensed to the Apache Software Foundation (ASF) under one
 + * or more contributor license agreements.  See the NOTICE file
 + * distributed with this work for additional information
 + * regarding copyright ownership.  The ASF licenses this file
 + * to you under the Apache License, Version 2.0 (the
 + * "License"); you may not use this file except in compliance
 + * with the License.  You may obtain a copy of the License at
 + *
 + *     http://www.apache.org/licenses/LICENSE-2.0
 + *
 + * Unless required by applicable law or agreed to in writing,
 + * software distributed under the License is distributed on an
 + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 + * KIND, either express or implied.  See the License for the
 + * specific language governing permissions and limitations
 + * under the License.
 + */
- 
 +package org.apache.usergrid.corepersistence.index;
 +
 +
 +import java.util.concurrent.CountDownLatch;
 +import java.util.concurrent.TimeUnit;
 +
 +import org.junit.Ignore;
 +import org.junit.Test;
 +
 +import rx.Observable;
 +import rx.Subscription;
 +import rx.observables.ConnectableObservable;
 +import rx.schedulers.Schedulers;
 +
 +import static org.junit.Assert.assertEquals;
 +import static org.junit.Assert.assertTrue;
 +
 +
 +/**
-  * Validates the Rx scheduler works as expected with publish
++ * Test to test some assumptions about RX behaviors
 + */
 +public class PublishRxTest {
 +
 +    @Test
 +    public void testPublish() throws InterruptedException {
 +
 +        final int count = 10;
 +
 +        final CountDownLatch latch = new CountDownLatch( count );
 +
 +        final Subscription connectedObservable =
 +            Observable.range( 0, count ).doOnNext( integer -> 
latch.countDown() ).subscribeOn( Schedulers.io() )
 +                      .subscribe();
 +
 +
 +        final boolean completed = latch.await( 5, TimeUnit.SECONDS );
 +
 +        assertTrue( "publish1 behaves as expected", completed );
 +
 +        final boolean completedSubscription = 
connectedObservable.isUnsubscribed();
-         ;
 +
 +        assertTrue( "Subscription complete", completedSubscription );
 +    }
 +
 +
 +    @Test
 +    @Ignore("This seems like it should work, yet blocks forever")
 +    public void testConnectableObserver() throws InterruptedException {
 +
 +        final int count = 10;
 +
 +        final CountDownLatch latch = new CountDownLatch( count );
 +
 +        final ConnectableObservable<Integer> connectedObservable = 
Observable.range( 0, count ).publish();
 +
 +
 +        //connect to our latch, which should run on it's own subscription
 +        //start our latch running
 +        connectedObservable.doOnNext( integer -> latch.countDown() 
).subscribeOn( Schedulers.io() ).subscribe();
 +
 +
 +        final Observable<Integer> countObservable = 
connectedObservable.subscribeOn( Schedulers.io() ).count();
 +
 +        //start the sequence
 +        connectedObservable.connect();
 +
 +
 +        final boolean completed = latch.await( 5, TimeUnit.SECONDS );
 +
 +        assertTrue( "publish1 behaves as expected", completed );
 +
 +        final int returnedCount = countObservable.toBlocking().last();
 +
 +        assertEquals( "Counts the same", count, returnedCount );
 +    }
 +}

Reply via email to