use of android.database.sqlite.SQLiteOpenHelper in project storio by pushtorefresh.
the class DefaultStorIOSQLiteTest method shouldPassSQLWithArgsToExecSQL.
@Test
public void shouldPassSQLWithArgsToExecSQL() {
SQLiteOpenHelper sqLiteOpenHelper = mock(SQLiteOpenHelper.class);
SQLiteDatabase sqLiteDatabase = mock(SQLiteDatabase.class);
when(sqLiteOpenHelper.getWritableDatabase()).thenReturn(sqLiteDatabase);
StorIOSQLite storIOSQLite = DefaultStorIOSQLite.builder().sqliteOpenHelper(sqLiteOpenHelper).build();
RawQuery rawQuery = RawQuery.builder().query("DROP TABLE users").args("arg1", "arg2").build();
storIOSQLite.lowLevel().executeSQL(rawQuery);
verify(sqLiteOpenHelper).getWritableDatabase();
verify(sqLiteDatabase).execSQL(eq(rawQuery.query()), eq(new String[] { "arg1", "arg2" }));
verifyNoMoreInteractions(sqLiteOpenHelper, sqLiteDatabase);
}
use of android.database.sqlite.SQLiteOpenHelper in project storio by pushtorefresh.
the class DefaultStorIOSQLiteTest method notifyAboutChangesShouldNotAcceptNullAsChanges.
@Test
public void notifyAboutChangesShouldNotAcceptNullAsChanges() {
SQLiteOpenHelper sqLiteOpenHelper = mock(SQLiteOpenHelper.class);
StorIOSQLite storIOSQLite = DefaultStorIOSQLite.builder().sqliteOpenHelper(sqLiteOpenHelper).build();
StorIOSQLite.LowLevel lowLevel = storIOSQLite.lowLevel();
assertThat(lowLevel).isNotNull();
try {
//noinspection ConstantConditions
lowLevel.notifyAboutChanges(null);
failBecauseExceptionWasNotThrown(NullPointerException.class);
} catch (NullPointerException expected) {
assertThat(expected).hasMessage("Changes can not be null");
}
}
use of android.database.sqlite.SQLiteOpenHelper in project storio by pushtorefresh.
the class DefaultStorIOSQLiteTest method shouldCloseSQLiteOpenHelper.
@Test
public void shouldCloseSQLiteOpenHelper() throws IOException {
SQLiteOpenHelper sqLiteOpenHelper = mock(SQLiteOpenHelper.class);
StorIOSQLite storIOSQLite = DefaultStorIOSQLite.builder().sqliteOpenHelper(sqLiteOpenHelper).build();
// Should not call close before explicit call to close
verify(sqLiteOpenHelper, times(0)).close();
storIOSQLite.close();
// Should call close on SQLiteOpenHelper
verify(sqLiteOpenHelper).close();
}
use of android.database.sqlite.SQLiteOpenHelper in project storio by pushtorefresh.
the class DefaultStorIOSQLiteTest method shouldPassSQLWithoutArgsToExecSQL.
@Test
public void shouldPassSQLWithoutArgsToExecSQL() {
SQLiteOpenHelper sqLiteOpenHelper = mock(SQLiteOpenHelper.class);
SQLiteDatabase sqLiteDatabase = mock(SQLiteDatabase.class);
when(sqLiteOpenHelper.getWritableDatabase()).thenReturn(sqLiteDatabase);
StorIOSQLite storIOSQLite = DefaultStorIOSQLite.builder().sqliteOpenHelper(sqLiteOpenHelper).build();
RawQuery rawQuery = RawQuery.builder().query("DROP TABLE IF EXISTS someTable").build();
storIOSQLite.lowLevel().executeSQL(rawQuery);
verify(sqLiteOpenHelper).getWritableDatabase();
verify(sqLiteDatabase).execSQL(eq(rawQuery.query()));
verifyNoMoreInteractions(sqLiteOpenHelper, sqLiteDatabase);
}
use of android.database.sqlite.SQLiteOpenHelper in project storio by pushtorefresh.
the class DefaultStorIOSQLiteTest method observeChangesAndNotifyAboutChangesShouldWorkCorrectly.
@Test
public void observeChangesAndNotifyAboutChangesShouldWorkCorrectly() {
SQLiteOpenHelper sqLiteOpenHelper = mock(SQLiteOpenHelper.class);
StorIOSQLite storIOSQLite = DefaultStorIOSQLite.builder().sqliteOpenHelper(sqLiteOpenHelper).build();
TestSubscriber<Changes> testSubscriber = new TestSubscriber<Changes>();
storIOSQLite.observeChanges().subscribe(testSubscriber);
testSubscriber.assertNoValues();
Changes changes = Changes.newInstance("test_table");
storIOSQLite.lowLevel().notifyAboutChanges(changes);
testSubscriber.assertValue(changes);
testSubscriber.assertNoErrors();
testSubscriber.unsubscribe();
}
Aggregations