public void ImplicitTransactionsOnStoreAndTrash() { using (var conn = SQLitePortability.CreateConnection()) { conn.Open(); IDatabaseDetails details = new SQLiteDetails(); IDatabaseAccess db = new DatabaseAccess(conn, details); IKeyAccess keys = new KeyUtil(); DatabaseStorage storage = new DatabaseStorage(details, db, keys); IBeanFactory factory = new BeanFactory(); IBeanCrud crud = new BeanCrud(storage, db, keys, factory); storage.EnterFluidMode(); var bean = crud.Dispense <ThrowingBean>(); bean["foo"] = "ok"; var id = crud.Store(bean); bean.Throw = true; bean["foo"] = "fail"; try { crud.Store(bean); } catch { } Assert.Equal("ok", db.Cell <string>(true, "select foo from test where id = {0}", id)); try { crud.Trash(bean); } catch { } Assert.True(db.Cell <int>(true, "select count(*) from test") > 0); } }
public DatabaseAccessTests() { _conn = SQLitePortability.CreateConnection(); _conn.Open(); _db = new DatabaseAccess(_conn, new SQLiteDetails()); }
public DatabaseStorageTests_SQLite() { _conn = SQLitePortability.CreateConnection(); _conn.Open(); IDatabaseDetails details = new SQLiteDetails(); _db = new DatabaseAccess(_conn, details); _keys = new KeyUtil(); _storage = new DatabaseStorage(details, _db, _keys); }
public void Api_DetailsSelection() { Assert.Equal("SQLite", new BeanApi(SQLitePortability.CreateConnection()).CreateDetails().DbName); #if !NO_MSSQL Assert.Equal("MsSql", new BeanApi(new System.Data.SqlClient.SqlConnection()).CreateDetails().DbName); #endif #if !NO_MARIADB Assert.Equal("MariaDB", new BeanApi(new MySql.Data.MySqlClient.MySqlConnection()).CreateDetails().DbName); #endif #if !NO_PGSQL Assert.Equal("PgSql", new BeanApi(new Npgsql.NpgsqlConnection()).CreateDetails().DbName); #endif }
public DatabaseBeanFinderTests() { _conn = SQLitePortability.CreateConnection(); _conn.Open(); IDatabaseDetails details = new SQLiteDetails(); IDatabaseAccess db = new DatabaseAccess(_conn, details); IKeyAccess keys = new KeyUtil(); IStorage storage = new DatabaseStorage(details, db, keys); IBeanCrud crud = new BeanCrud(storage, db, keys); IBeanFinder finder = new DatabaseBeanFinder(details, db, crud); db.Exec("create table foo(x)"); db.Exec("insert into foo(x) values(1)"); db.Exec("insert into foo(x) values(2)"); db.Exec("insert into foo(x) values(3)"); _db = db; _finder = finder; }