public void ctor_CreateWithConnectionStringName() { var store = new SqlServerStore("name=foo"); store.ConnectionString.Validate().IsNotNullOrEmpty(); store.ConnectionString.Validate().IsEqual("bar"); store.TableConfiguration.Validate().IsNotNull(); }
public void ctor_CreateWithConnectionStringName() { var store = new SqlServerStore("name=foo"); store.ConnectionString.Validate().IsNotNullOrEmpty(); store.ConnectionString.Validate().IsEqual("bar"); store.TableMetadata.Validate().IsNotNull(); }
public void TestRemoveAllLikeWithoutCriteria() { using (TransactionScope tx = new TransactionScope(TransactionScopeOption.Required)) { SqlServerStore <Bean> store = new SqlServerStore <Bean>("test"); store.RemoveAllByCriteria(new FilterCriteria()); Kinetix.Data.SqlClient.Test.TestDbCommand command = Kinetix.Data.SqlClient.Test.TestDbCommand.LastCommand; Assert.AreEqual("delete from BEAN where BEA_PK = @BEA_PK", command.CommandText); } }
public void TestDelete() { using (TransactionScope tx = new TransactionScope(TransactionScopeOption.Required)) { SqlServerStore <Kinetix.Data.SqlClient.Test.Bean> store = new SqlServerStore <Kinetix.Data.SqlClient.Test.Bean>("test"); store.Remove(1); Kinetix.Data.SqlClient.Test.TestDbCommand command = Kinetix.Data.SqlClient.Test.TestDbCommand.LastCommand; Assert.IsTrue(command.CommandText.Contains("delete from BEAN where BEA_PK = @BEA_PK")); } }
public void ctor_CreateWithCustomSettingTableProperties() { var store = new SqlServerStore("foo", configure => configure .TableName("qux") .SchemaName("baz") .Column("corge", SqlDbType.Bit, 1) ); store.ConnectionString.Validate().IsNotNullOrEmpty(); store.ConnectionString.Validate().IsEqual("foo"); store.TableConfiguration.Validate().IsNotNull(); store.TableConfiguration.SchemaName.Validate().IsEqual("baz"); store.TableConfiguration.TableName.Validate().IsEqual("qux"); store.TableConfiguration.Columns["corge"].DbType.Validate().IsEqual(SqlDbType.Bit); }
public void ctor_CreateWithCustomSettingTableProperties() { var store = new SqlServerStore("foo", configure => configure .TableName("qux") .SchemaName("baz") .Column("corge", SqlDbType.Bit, 1) ); store.ConnectionString.Validate().IsNotNullOrEmpty(); store.ConnectionString.Validate().IsEqual("foo"); store.TableMetadata.Validate().IsNotNull(); store.TableMetadata.SchemaName.Validate().IsEqual("baz"); store.TableMetadata.TableName.Validate().IsEqual("qux"); store.TableMetadata.Columns["corge"].DbType.Validate().IsEqual(SqlDbType.Bit); }
public void TestInsert() { using (TransactionScope tx = new TransactionScope(TransactionScopeOption.Required)) { List <PkBean> list = new List <PkBean>(); PkBean b = new PkBean(); b.Pk = 1; list.Add(b); TestDbProviderFactory.DefinedNextResult(list); SqlServerStore <Kinetix.Data.SqlClient.Test.Bean> store = new SqlServerStore <Kinetix.Data.SqlClient.Test.Bean>("test"); Assert.AreEqual(1, store.Put(new Kinetix.Data.SqlClient.Test.Bean())); Kinetix.Data.SqlClient.Test.TestDbCommand command = Kinetix.Data.SqlClient.Test.TestDbCommand.LastCommand; Assert.IsTrue(command.CommandText.Contains("insert into BEAN(BEA_LONG, BEA_SHORT, BEA_GUID, BEA_FLOAT, BEA_DOUBLE, BEA_DECIMAL, BEA_DATETIME, BEA_CHARS, BEA_CHAR, BEA_BYTES, BEA_BYTE, BEA_BOOL, BEA_INT, BEA_STRING) values (@BEA_LONG, @BEA_SHORT, @BEA_GUID, @BEA_FLOAT, @BEA_DOUBLE, @BEA_DECIMAL, @BEA_DATETIME, @BEA_CHARS, @BEA_CHAR, @BEA_BYTES, @BEA_BYTE, @BEA_BOOL, @BEA_INT, @BEA_STRING)\nselect cast(SCOPE_IDENTITY() as int)")); } }
public void TestUpdate() { using (TransactionScope tx = new TransactionScope(TransactionScopeOption.Required)) { List <PkBean> list = new List <PkBean>(); PkBean b = new PkBean(); b.Pk = 1; list.Add(b); TestDbProviderFactory.DefinedNextResult(list); SqlServerStore <Kinetix.Data.SqlClient.Test.Bean> store = new SqlServerStore <Kinetix.Data.SqlClient.Test.Bean>("test"); Kinetix.Data.SqlClient.Test.Bean bean = new Kinetix.Data.SqlClient.Test.Bean(); bean.Pk = 1; Assert.AreEqual(1, store.Put(bean)); Kinetix.Data.SqlClient.Test.TestDbCommand command = Kinetix.Data.SqlClient.Test.TestDbCommand.LastCommand; Assert.IsTrue(command.CommandText.Contains("update BEAN set BEA_LONG = @BEA_LONG, BEA_SHORT = @BEA_SHORT, BEA_GUID = @BEA_GUID, BEA_FLOAT = @BEA_FLOAT, BEA_DOUBLE = @BEA_DOUBLE, BEA_DECIMAL = @BEA_DECIMAL, BEA_DATETIME = @BEA_DATETIME, BEA_CHARS = @BEA_CHARS, BEA_CHAR = @BEA_CHAR, BEA_BYTES = @BEA_BYTES, BEA_BYTE = @BEA_BYTE, BEA_BOOL = @BEA_BOOL, BEA_INT = @BEA_INT, BEA_STRING = @BEA_STRING where BEA_PK = @BEA_PK")); } }
public void TestUpdateWithWhereCheck() { using (TransactionScope tx = new TransactionScope(TransactionScopeOption.Required)) { List <PkBean> list = new List <PkBean>(); PkBean b = new PkBean(); b.Pk = 1; list.Add(b); TestDbProviderFactory.DefinedNextResult(list); SqlServerStore <Kinetix.Data.SqlClient.Test.Bean> store = new SqlServerStore <Kinetix.Data.SqlClient.Test.Bean>("test"); TestStoreRule rule = new TestStoreRule("DataFloat"); rule.WhereValue = new ValueRule(3, ActionRule.Check); store.AddRule(rule); Kinetix.Data.SqlClient.Test.Bean bean = new Kinetix.Data.SqlClient.Test.Bean(); bean.Pk = 1; Assert.AreEqual(1, store.Put(bean)); Kinetix.Data.SqlClient.Test.TestDbCommand command = Kinetix.Data.SqlClient.Test.TestDbCommand.LastCommand; Assert.IsTrue(command.CommandText.Contains("update BEAN set BEA_LONG = @BEA_LONG, BEA_SHORT = @BEA_SHORT, BEA_GUID = @BEA_GUID, BEA_FLOAT = @BEA_FLOAT, BEA_DOUBLE = @BEA_DOUBLE, BEA_DECIMAL = @BEA_DECIMAL, BEA_DATETIME = @BEA_DATETIME, BEA_CHARS = @BEA_CHARS, BEA_CHAR = @BEA_CHAR, BEA_BYTES = @BEA_BYTES, BEA_BYTE = @BEA_BYTE, BEA_BOOL = @BEA_BOOL, BEA_INT = @BEA_INT, BEA_STRING = @BEA_STRING where BEA_PK = @BEA_PK and BEA_FLOAT = @RU_BEA_FLOAT")); Assert.AreEqual(3, command.Parameters["@RU_BEA_FLOAT"].Value); } }
public void TestLoadAllByCriteriaString() { using (TransactionScope tx = new TransactionScope(TransactionScopeOption.Required)) { List <Kinetix.Data.SqlClient.Test.Bean> list = new List <Kinetix.Data.SqlClient.Test.Bean>(); for (byte i = 0; i < 10; i++) { Kinetix.Data.SqlClient.Test.Bean b = new Kinetix.Data.SqlClient.Test.Bean(); b.Pk = i; b.DataBool = true; b.DataByte = i; b.DataBytes = new byte[i]; b.DataChar = (char)(i + 64); b.DataChars = new char[i]; b.DataDateTime = DateTime.Now; b.DataDecimal = i; b.DataDouble = i; b.DataFloat = i; b.DataGuid = Guid.NewGuid(); b.DataInt = i; b.DataLong = i; b.DataShort = i; b.DataString = i.ToString(); list.Add(b); } list.Add(new Kinetix.Data.SqlClient.Test.Bean()); TestDbProviderFactory.DefinedNextResult(list); SqlServerStore <Kinetix.Data.SqlClient.Test.Bean> store = new SqlServerStore <Kinetix.Data.SqlClient.Test.Bean>("test"); FilterCriteria criteria = new FilterCriteria() .Equals(Kinetix.Data.SqlClient.Test.Bean.Cols.BEA_FLOAT, 3) .StartsWith(Kinetix.Data.SqlClient.Test.Bean.Cols.BEA_STRING, "test") .NotStartsWith(Kinetix.Data.SqlClient.Test.Bean.Cols.BEA_STRING, "test2"); QueryParameter sort = new QueryParameter(Kinetix.Data.SqlClient.Test.Bean.Cols.BEA_FLOAT, SortOrder.Asc); store.LoadAllByCriteria(null, criteria, sort); Kinetix.Data.SqlClient.Test.TestDbCommand command = Kinetix.Data.SqlClient.Test.TestDbCommand.LastCommand; Assert.AreEqual("select BEA_PK, BEA_LONG, BEA_SHORT, BEA_GUID, BEA_FLOAT, BEA_DOUBLE, BEA_DECIMAL, BEA_DATETIME, BEA_CHARS, BEA_CHAR, BEA_BYTE, BEA_BOOL, BEA_INT, BEA_STRING from BEAN where BEA_FLOAT = @BEA_FLOAT and BEA_STRING LIKE @BEA_STRING + '%' and BEA_STRING NOT LIKE @BEA_STRING2 + '%' order by BEA_FLOAT asc", command.CommandText); Assert.AreEqual(3, command.Parameters["@BEA_FLOAT"].Value); Assert.AreEqual("test", command.Parameters["@BEA_STRING"].Value); } }
public void DbDiskCacheIsSingleton() { var container = RRContainer.Current; var config = new Mock <IRRConfiguration>(); config.Setup(c => c.ContentStore).Returns(Configuration.Store.SqlServerStore); config.Setup(x => x.ConnectionStringName).Returns("RRConnection"); container.Configure(x => x.For <IRRConfiguration>().Use(config.Object)); RRContainer.LoadAppropriateStoreRegistry(container); SqlServerStore store1 = null; SqlServerStore store2 = null; var thread1 = new Thread(TestThreadStart) { IsBackground = true }; var thread2 = new Thread(TestThreadStart) { IsBackground = true }; var array1 = new ArrayList { container, store1 }; var array2 = new ArrayList { container, store2 }; lock (container) { thread1.Start(array1); Monitor.Wait(container, 10000); thread2.Start(array2); Monitor.Wait(container, 10000); } Assert.NotSame(array1[1], array2[1]); Assert.Same((array1[1] as SqlServerStore).FileStore as DbDiskCache, (array2[1] as SqlServerStore).FileStore as DbDiskCache); RRContainer.Current = null; }
private IPersistenceStore Activate(object target) { IPersistenceStore retval = null; if (target.GetType().GetInterfaces().Contains(typeof(IPersistenceStore))) { switch (_config.PersistenceStoreType) { case PersistenceStoreType.Postgre: retval = new PostgreStore(_config.ConnectionString); break; case PersistenceStoreType.SqlServer: retval = new SqlServerStore(_config.ConnectionString); break; case PersistenceStoreType.InMemory: retval = new InMemoryStore(); break; } } return(retval); }
public void TestConstructeur() { SqlServerStore <Bean> store = new SqlServerStore <Bean>("test"); }