Search in sources :

Example 11 with Changes

use of com.pushtorefresh.storio.contentresolver.Changes in project storio by pushtorefresh.

the class GetOperationTest method getCursorExecuteAsBlocking.

@Test
public void getCursorExecuteAsBlocking() {
    final TestSubscriber<Changes> changesTestSubscriber = new TestSubscriber<Changes>();
    storIOContentResolver.observeChangesOfUri(TestItem.CONTENT_URI).take(1).subscribe(changesTestSubscriber);
    TestItem testItemToInsert = TestItem.create(null, "value");
    contentResolver.insert(TestItem.CONTENT_URI, testItemToInsert.toContentValues());
    Cursor cursor = storIOContentResolver.get().cursor().withQuery(Query.builder().uri(TestItem.CONTENT_URI).build()).prepare().executeAsBlocking();
    Assertions.assertThat(cursor).hasCount(1);
    cursor.moveToFirst();
    assertThat(testItemToInsert.equalsWithoutId(TestItem.fromCursor(cursor))).isTrue();
    changesTestSubscriber.awaitTerminalEvent(60, SECONDS);
    changesTestSubscriber.assertNoErrors();
    changesTestSubscriber.assertValue(Changes.newInstance(TestItem.CONTENT_URI));
}
Also used : Changes(com.pushtorefresh.storio.contentresolver.Changes) TestSubscriber(rx.observers.TestSubscriber) Cursor(android.database.Cursor) Test(org.junit.Test)

Example 12 with Changes

use of com.pushtorefresh.storio.contentresolver.Changes in project storio by pushtorefresh.

the class PutOperationTest method updateObjectAsCompletable.

@Test
public void updateObjectAsCompletable() {
    TestSubscriber<Changes> changesTestSubscriber = new TestSubscriber<Changes>();
    storIOContentResolver.observeChangesOfUri(TestItem.CONTENT_URI).take(2).subscribe(changesTestSubscriber);
    Uri insertedUri = contentResolver.insert(TestItem.CONTENT_URI, TestItem.create(null, "value").toContentValues());
    TestItem testItem = TestItem.create(ContentUris.parseId(insertedUri), "value2");
    storIOContentResolver.put().object(testItem).prepare().asRxCompletable().toObservable().toBlocking().subscribe();
    Cursor cursor = contentResolver.query(TestItem.CONTENT_URI, null, null, null, null);
    Assertions.assertThat(cursor).hasCount(1);
    cursor.moveToFirst();
    assertThat(testItem).isEqualTo(TestItem.fromCursor(cursor));
    changesTestSubscriber.awaitTerminalEvent(60, SECONDS);
    changesTestSubscriber.assertNoErrors();
    changesTestSubscriber.assertValues(Changes.newInstance(TestItem.CONTENT_URI), Changes.newInstance(TestItem.CONTENT_URI));
}
Also used : Changes(com.pushtorefresh.storio.contentresolver.Changes) TestSubscriber(rx.observers.TestSubscriber) Cursor(android.database.Cursor) Uri(android.net.Uri) Test(org.junit.Test)

Example 13 with Changes

use of com.pushtorefresh.storio.contentresolver.Changes in project storio by pushtorefresh.

the class PutOperationTest method insertObjectExecuteAsBlocking.

@Test
public void insertObjectExecuteAsBlocking() {
    TestSubscriber<Changes> changesTestSubscriber = new TestSubscriber<Changes>();
    storIOContentResolver.observeChangesOfUri(TestItem.CONTENT_URI).take(1).subscribe(changesTestSubscriber);
    TestItem testItem = TestItem.create(null, "value");
    PutResult insertResult = storIOContentResolver.put().object(testItem).prepare().executeAsBlocking();
    assertThat(insertResult.wasInserted()).isTrue();
    Cursor cursor = contentResolver.query(TestItem.CONTENT_URI, null, null, null, null);
    Assertions.assertThat(cursor).hasCount(1);
    cursor.moveToFirst();
    assertThat(testItem.equalsWithoutId(TestItem.fromCursor(cursor))).isTrue();
    cursor.close();
    changesTestSubscriber.awaitTerminalEvent(60, SECONDS);
    changesTestSubscriber.assertNoErrors();
    changesTestSubscriber.assertValue(Changes.newInstance(TestItem.CONTENT_URI));
}
Also used : Changes(com.pushtorefresh.storio.contentresolver.Changes) TestSubscriber(rx.observers.TestSubscriber) Cursor(android.database.Cursor) PutResult(com.pushtorefresh.storio.contentresolver.operations.put.PutResult) Test(org.junit.Test)

Example 14 with Changes

use of com.pushtorefresh.storio.contentresolver.Changes in project storio by pushtorefresh.

the class PutOperationTest method insertOneWithNullField.

@Test
public void insertOneWithNullField() {
    TestSubscriber<Changes> changesTestSubscriber = new TestSubscriber<Changes>();
    storIOContentResolver.observeChangesOfUri(TestItem.CONTENT_URI).take(1).subscribe(changesTestSubscriber);
    // optional value is null
    TestItem testItem = TestItem.create(null, "value", null);
    PutResult insertResult = storIOContentResolver.put().object(testItem).prepare().executeAsBlocking();
    assertThat(insertResult.wasInserted()).isTrue();
    Cursor cursor = contentResolver.query(TestItem.CONTENT_URI, null, null, null, null);
    Assertions.assertThat(cursor).hasCount(1);
    cursor.moveToFirst();
    assertThat(testItem.equalsWithoutId(TestItem.fromCursor(cursor))).isTrue();
    cursor.close();
    changesTestSubscriber.awaitTerminalEvent(60, SECONDS);
    changesTestSubscriber.assertNoErrors();
    changesTestSubscriber.assertValue(Changes.newInstance(TestItem.CONTENT_URI));
}
Also used : Changes(com.pushtorefresh.storio.contentresolver.Changes) TestSubscriber(rx.observers.TestSubscriber) Cursor(android.database.Cursor) PutResult(com.pushtorefresh.storio.contentresolver.operations.put.PutResult) Test(org.junit.Test)

Example 15 with Changes

use of com.pushtorefresh.storio.contentresolver.Changes in project storio by pushtorefresh.

the class PutOperationTest method insertContentValuesExecuteAsBlocking.

@Test
public void insertContentValuesExecuteAsBlocking() {
    TestSubscriber<Changes> changesTestSubscriber = new TestSubscriber<Changes>();
    storIOContentResolver.observeChangesOfUri(TestItem.CONTENT_URI).take(1).subscribe(changesTestSubscriber);
    TestItem testItem = TestItem.create(null, "value");
    ContentValues cv = testItem.toContentValues();
    PutResult insertResult = storIOContentResolver.put().contentValues(cv).withPutResolver(testItemContentValuesPutResolver).prepare().executeAsBlocking();
    assertThat(insertResult.wasInserted()).isTrue();
    Cursor cursor = contentResolver.query(TestItem.CONTENT_URI, null, null, null, null);
    Assertions.assertThat(cursor).hasCount(1);
    cursor.moveToFirst();
    assertThat(testItem.equalsWithoutId(TestItem.fromCursor(cursor))).isTrue();
    changesTestSubscriber.awaitTerminalEvent(60, SECONDS);
    changesTestSubscriber.assertNoErrors();
    changesTestSubscriber.assertValue(Changes.newInstance(TestItem.CONTENT_URI));
}
Also used : Changes(com.pushtorefresh.storio.contentresolver.Changes) ContentValues(android.content.ContentValues) TestSubscriber(rx.observers.TestSubscriber) Cursor(android.database.Cursor) PutResult(com.pushtorefresh.storio.contentresolver.operations.put.PutResult) Test(org.junit.Test)

Aggregations

Changes (com.pushtorefresh.storio.contentresolver.Changes)37 Test (org.junit.Test)37 TestSubscriber (rx.observers.TestSubscriber)34 Cursor (android.database.Cursor)32 Uri (android.net.Uri)15 PutResult (com.pushtorefresh.storio.contentresolver.operations.put.PutResult)15 DeleteResult (com.pushtorefresh.storio.contentresolver.operations.delete.DeleteResult)6 ContentResolver (android.content.ContentResolver)5 ContentObserver (android.database.ContentObserver)5 Mockito.doAnswer (org.mockito.Mockito.doAnswer)5 InvocationOnMock (org.mockito.invocation.InvocationOnMock)5 Answer (org.mockito.stubbing.Answer)5 ContentValues (android.content.ContentValues)4 HashSet (java.util.HashSet)4 Handler (android.os.Handler)3 AtomicReference (java.util.concurrent.atomic.AtomicReference)3 Subscription (rx.Subscription)3 TargetApi (android.annotation.TargetApi)2 HashMap (java.util.HashMap)2 DeleteResults (com.pushtorefresh.storio.contentresolver.operations.delete.DeleteResults)1