示例#1
0
        public void WhatGetsReturnedWhenWeDoAnInsertThroughDbCommandExecute()
        {
            using (TestResourceFile dbFile = new TestResourceFile(this, "Datastore.sdf"))
            {
                int         count  = -1;
                IDataReader reader = null;

                using (SmartClientDatabase database = DatabaseFactory.CreateDatabase() as SmartClientDatabase)
                {
                    try
                    {
                        string insertString = @"insert into TestTable values (5, 'Cinco')";

                        reader = database.ExecuteReader(insertString);
                        count  = reader.RecordsAffected;
                    }
                    finally
                    {
                        if (reader != null)
                        {
                            reader.Close();
                        }

                        string deleteString = "Delete from TestTable where TestColumn = 5";
                        database.ExecuteNonQuery(deleteString);
                    }

                    Assert.AreEqual(1, count);
                }
            }
        }
示例#2
0
        public void CanExecuteNonQueryWithDbCommand()
        {
            using (TestResourceFile dbFile = new TestResourceFile(this, "Datastore.sdf"))
            {
                using (SmartClientDatabase database = DatabaseFactory.CreateDatabase() as SmartClientDatabase)
                {
                    string    insertionString  = @"insert into TestTable values (5, 'Cinco')";
                    DbCommand insertionCommand = new SqlCeCommand();
                    insertionCommand.CommandText = insertionString;

                    database.ExecuteNonQuery(insertionCommand);

                    string countCommand = @"select count(*) from TestTable";
                    int    count        = Convert.ToInt32(database.ExecuteScalar(countCommand));

                    string    cleanupString  = "delete from TestTable where TestColumn = 5";
                    DbCommand cleanupCommand = new SqlCeCommand();
                    cleanupCommand.CommandText = cleanupString;

                    int rowsAffected = database.ExecuteNonQuery(cleanupCommand);

                    Assert.AreEqual(5, count);
                    Assert.AreEqual(1, rowsAffected);
                }
            }
        }
        public void AuthenticateUserCanLoadModulesAccordingToHisRoles()
        {
            IPrincipal cachedPrincipal = Thread.CurrentPrincipal;

            using (TestResourceFile resFile = new TestResourceFile(@"Services\FileCatalogReaderServiceFixtureWithRoles.xml"))
            {
                try
                {
                    GenericIdentity  identity  = new GenericIdentity("Me");
                    GenericPrincipal principal = new GenericPrincipal(identity, new string[] { "Users" });
                    Thread.CurrentPrincipal = principal;

                    SolutionProfileReader slnReader = new SolutionProfileReader(@"Services\FileCatalogReaderServiceFixtureWithRoles.xml");

                    SolutionProfileElement profile = slnReader.ReadProfile();

                    Assert.AreEqual(3, profile.Modules.Length, "The solution profile does not contains 3 modules.");
                    Assert.AreEqual("MyAssembly1.dll", profile.Modules[0].AssemblyFile, "The 1st module is not MyAssembly1.dll");
                    Assert.AreEqual("MyAssembly2.dll", profile.Modules[1].AssemblyFile, "The 2nd module is not MyAssembly2.dll");
                    Assert.AreEqual("MyAssembly4.dll", profile.Modules[2].AssemblyFile, "The 3rd module is not MyAssembly4.dll");
                }
                finally
                {
                    Thread.CurrentPrincipal = cachedPrincipal;
                }
            }
        }
示例#4
0
        public void ExecuteSqlStringWithoutParametersButWithValues()
        {
            using (TestResourceFile dbFile = new TestResourceFile(this, "Datastore.sdf"))
            {
                using (SmartClientDatabase database = DatabaseFactory.CreateDatabase() as SmartClientDatabase)
                {
                    string sql = "select * from TestTable";

                    DbParameter[] parameters = new DbParameter[]
                    {
                        database.CreateParameter("@Param1", DbType.Int32, 0, 1),
                        database.CreateParameter("@Param2", DbType.String, 50, "Uno")
                    };

                    using (IDataReader reader = database.ExecuteReader(sql, parameters))
                    {
                        reader.Read();
                        Assert.AreEqual(1, reader["TestColumn"]);
                        Assert.AreEqual("Uno", reader["TestColumn2"]);
                        reader.Read();
                        Assert.AreEqual(2, reader["TestColumn"]);
                        Assert.AreEqual("Dos", reader["TestColumn2"]);
                        reader.Read();
                        Assert.AreEqual(3, reader["TestColumn"]);
                        Assert.AreEqual("Tres", reader["TestColumn2"]);
                        reader.Read();
                        Assert.AreEqual(4, reader["TestColumn"]);
                        Assert.AreEqual("Cuatro", reader["TestColumn2"]);
                    }
                }
            }
        }
        public void UnAuthenticatedUserCanLoadModulesWithoutRoles()
        {
            IPrincipal originalPrincipal = null;

            using (TestResourceFile resFile1 = new TestResourceFile(@"Services\FileCatalogReaderServiceFixtureWithRoles.xml"))
            {
                try
                {
                    originalPrincipal = Thread.CurrentPrincipal;
                    if (Thread.CurrentPrincipal.Identity.IsAuthenticated)
                    {
                        Thread.CurrentPrincipal = new GenericPrincipal(WindowsIdentity.GetCurrent(), null);
                    }
                    SolutionProfileReader slnReader =
                        new SolutionProfileReader(@"Services\FileCatalogReaderServiceFixtureWithRoles.xml");
                    SolutionProfileElement profile = slnReader.ReadProfile();

                    Assert.AreEqual(1, profile.Modules.Length, "The solution profile does not contains 1 module.");
                    Assert.AreEqual("MyAssembly1.dll", profile.Modules[0].AssemblyFile, "The 1st module is not MyAssembly1.dll");
                }
                finally
                {
                    Thread.CurrentPrincipal = originalPrincipal;
                }
            }
        }
        public void UnAuthenticatedUserCanLoadModulesWithoutRoles()
        {
            IPrincipal originalPrincipal = null;

            using (TestResourceFile resFile = new TestResourceFile(@"Services\FileCatalogReaderServiceFixtureWithRoles.xml"))
            {
                try
                {
                    originalPrincipal = Thread.CurrentPrincipal;
                    if (Thread.CurrentPrincipal == null || Thread.CurrentPrincipal.Identity.IsAuthenticated)
                    {
                        Thread.CurrentPrincipal = new GenericPrincipal(WindowsIdentity.GetCurrent(), null);
                    }
                    FileCatalogModuleEnumerator fcEnumerator =
                        new FileCatalogModuleEnumerator(@"Services\FileCatalogReaderServiceFixtureWithRoles.xml");
                    IModuleInfo[] mInfos = fcEnumerator.EnumerateModules();

                    Assert.AreEqual(1, mInfos.Length, "The solution profile does not contains 1 module.");
                    Assert.AreEqual("MyAssembly1.dll", mInfos[0].AssemblyFile, "The 1st module is not MyAssembly1.dll");
                }
                finally
                {
                    Thread.CurrentPrincipal = originalPrincipal;
                }
            }
        }
        public void RemoveDatabaseFile()
        {
            subscriptionDatabase.Dispose();
            //subscriptionDatabase = null;

            dbFile.Dispose();
            dbFile = null;
        }
 public void CanLoadProfileContainingModuleWithoutUpdateLocation()
 {
     using (TestResourceFile resFile = new TestResourceFile(@"Services\FileCatalogReaderServiceFixtureModuleWithoutUpdateLocation.xml"))
     {
         FileCatalogModuleEnumerator fcEnumerator =
             new FileCatalogModuleEnumerator(@"Services\FileCatalogReaderServiceFixtureModuleWithoutUpdateLocation.xml");
         IModuleInfo[] mInfos = fcEnumerator.EnumerateModules();
     }
 }
 public void CatalogExistsReturnsTrueOnExistentFile()
 {
     using (TestResourceFile resFile = new TestResourceFile(@"Services\FileCatalogReaderServiceFixtureModuleWithoutUpdateLocation.xml"))
     {
         SolutionProfileReader slnReader =
             new SolutionProfileReader(@"Services\FileCatalogReaderServiceFixtureModuleWithoutUpdateLocation.xml");
         Assert.IsTrue(File.Exists(slnReader.CatalogFilePath));
     }
 }
 public void CanLoadProfileContainingModuleWithoutUpdateLocation()
 {
     using (TestResourceFile resFile = new TestResourceFile(@"Services\FileCatalogReaderServiceFixtureModuleWithoutUpdateLocation.xml"))
     {
         SolutionProfileReader slnReader =
             new SolutionProfileReader(@"Services\FileCatalogReaderServiceFixtureModuleWithoutUpdateLocation.xml");
         SolutionProfileElement profile = slnReader.ReadProfile();
     }
 }
示例#11
0
 public void TestTableRepotsFalseWhenNoSuchTable()
 {
     using (TestResourceFile dbFile = new TestResourceFile(this, "Datastore.sdf"))
     {
         using (SmartClientDatabase database = DatabaseFactory.CreateDatabase() as SmartClientDatabase)
         {
             Assert.IsFalse(database.TableExists("JunkName"));
         }
     }
 }
示例#12
0
 public void TestTableReportsTrueIfTableExists()
 {
     using (TestResourceFile dbFile = new TestResourceFile(this, "Datastore.sdf"))
     {
         using (SmartClientDatabase database = DatabaseFactory.CreateDatabase() as SmartClientDatabase)
         {
             Assert.IsTrue(database.TableExists("TestTable"));
         }
     }
 }
示例#13
0
 public void TableExistsThrowsForEmptyName()
 {
     using (TestResourceFile dbFile = new TestResourceFile(this, "Datastore.sdf"))
     {
         using (SmartClientDatabase database = DatabaseFactory.CreateDatabase() as SmartClientDatabase)
         {
             database.TableExists("");
         }
     }
 }
示例#14
0
 public void ExecuteScalarWithNullStringDoesNotReturnNull()
 {
     using (TestResourceFile dbFile = new TestResourceFile(this, "Datastore.sdf"))
     {
         using (SmartClientDatabase database = DatabaseFactory.CreateDatabase() as SmartClientDatabase)
         {
             database.ExecuteScalar((String)null);
         }
     }
 }
示例#15
0
 public void ExecuteNonQueryThrowsIfNullQueryIsPassed()
 {
     using (TestResourceFile dbFile = new TestResourceFile(this, "Datastore.sdf"))
     {
         using (SmartClientDatabase database = DatabaseFactory.CreateDatabase() as SmartClientDatabase)
         {
             Assert.AreEqual(1, database.ExecuteNonQuery((string)null, null));
         }
     }
 }
示例#16
0
 public void RetriveResultSetFromNullSqlCommandThrows()
 {
     using (TestResourceFile dbFile = new TestResourceFile(this, "Datastore.sdf"))
     {
         using (SmartClientDatabase database = DatabaseFactory.CreateDatabase() as SmartClientDatabase)
         {
             database.ExecuteResultSet((SqlCeCommand)null, ResultSetOptions.None);
         }
     }
 }
示例#17
0
 public void ExecuteScalarWithInvalidSqlStringThrows()
 {
     using (TestResourceFile dbFile = new TestResourceFile(this, "Datastore.sdf"))
     {
         using (SmartClientDatabase database = DatabaseFactory.CreateDatabase() as SmartClientDatabase)
         {
             database.ExecuteScalar("junk");
         }
     }
 }
示例#18
0
 public void ExecuteReaderWithEmptyStringThrows()
 {
     using (TestResourceFile dbFile = new TestResourceFile(this, "Datastore.sdf"))
     {
         using (SmartClientDatabase database = DatabaseFactory.CreateDatabase() as SmartClientDatabase)
         {
             database.ExecuteReader(String.Empty);
         }
     }
 }
示例#19
0
 public void RetriveResultSetFromEmptySqlStringThrows()
 {
     using (TestResourceFile dbFile = new TestResourceFile(this, "Datastore.sdf"))
     {
         using (SmartClientDatabase database = DatabaseFactory.CreateDatabase() as SmartClientDatabase)
         {
             database.ExecuteResultSet("", ResultSetOptions.None);
         }
     }
 }
示例#20
0
 public void ExecuteReaderWithNullDbCommandThrows()
 {
     using (TestResourceFile dbFile = new TestResourceFile(this, "Datastore.sdf"))
     {
         using (SmartClientDatabase database = DatabaseFactory.CreateDatabase() as SmartClientDatabase)
         {
             database.ExecuteReader((DbCommand)null);
         }
     }
 }
示例#21
0
 public void ExecuteNonQueryWithNullStringThrows()
 {
     using (TestResourceFile dbFile = new TestResourceFile(this, "Datastore.sdf"))
     {
         using (SmartClientDatabase database = DatabaseFactory.CreateDatabase() as SmartClientDatabase)
         {
             database.ExecuteNonQuery((String)null);
         }
     }
 }
示例#22
0
 public void AtAddedToParameterNameForSqlMobile()
 {
     using (TestResourceFile dbFile = new TestResourceFile(this, "Datastore.sdf"))
     {
         using (SmartClientDatabase database = DatabaseFactory.CreateDatabase() as SmartClientDatabase)
         {
             DbParameter parameter = database.CreateParameter("test", 1);
             Assert.AreEqual("@test", parameter.ParameterName);
         }
     }
 }
示例#23
0
        public void ExecuteScalarWithStringSql()
        {
            using (TestResourceFile dbFile = new TestResourceFile(this, "Datastore.sdf"))
            {
                using (SmartClientDatabase database = DatabaseFactory.CreateDatabase() as SmartClientDatabase)
                {
                    string command = @"select count(*) from TestTable";

                    int count = Convert.ToInt32(database.ExecuteScalar(command));
                    Assert.AreEqual(4, count);
                }
            }
        }
示例#24
0
        public void ThrowsIfNullParameterNameIsPassed()
        {
            using (TestResourceFile dbFile = new TestResourceFile(this, "Datastore.sdf"))
            {
                using (SmartClientDatabase database = DatabaseFactory.CreateDatabase() as SmartClientDatabase)
                {
                    string      sql   = @"SELECT COUNT(*) FROM Customers WHERE ContactName = @Name";
                    DbParameter param = database.CreateParameter(null, "Maria Anders");

                    Assert.AreEqual(1, database.ExecuteScalar(sql, param));
                    database.CloseSharedConnection();
                }
            }
        }
示例#25
0
 public void CanConnectToSqlServerCeDatabase()
 {
     using (TestResourceFile dbFile = new TestResourceFile(this, "Datastore.sdf"))
     {
         using (SmartClientDatabase database = DatabaseFactory.CreateDatabase() as SmartClientDatabase)
         {
             DbConnection connection = database.GetConnection();
             Assert.IsNotNull(connection);
             Assert.IsTrue(connection is SqlCeConnection);
             Assert.IsTrue(connection.State == ConnectionState.Open);
             connection.Close();
         }
     }
 }
示例#26
0
 public void ExecuteResultSetCanBeScrollable()
 {
     using (TestResourceFile dbFile = new TestResourceFile(this, "Datastore.sdf"))
     {
         using (SmartClientDatabase database = DatabaseFactory.CreateDatabase() as SmartClientDatabase)
         {
             string queryString = @"select * From TestTable";
             using (SqlCeResultSet result = database.ExecuteResultSet(queryString, ResultSetOptions.Scrollable))
             {
                 Assert.IsNotNull(result);
             }
         }
     }
 }
示例#27
0
        public void CanCreateSQLSpecificParameters()
        {
            using (TestResourceFile dbFile = new TestResourceFile(this, "Datastore.sdf"))
            {
                using (SmartClientDatabase database = DatabaseFactory.CreateDatabase() as SmartClientDatabase)
                {
                    DbParameter param = database.CreateParameter("@Price", SqlDbType.Money, 19, 12.95);
                    Assert.IsTrue(typeof(SqlCeParameter).IsAssignableFrom(param.GetType()));

                    SqlCeParameter sqlParam = (SqlCeParameter)param;
                    Assert.AreEqual(SqlDbType.Money, sqlParam.SqlDbType);
                }
            }
        }
示例#28
0
        public void ExecuteSqlStringCommandWithNotEnoughParameterValues()
        {
            using (TestResourceFile dbFile = new TestResourceFile(this, "Datastore.sdf"))
            {
                using (SmartClientDatabase database = DatabaseFactory.CreateDatabase() as SmartClientDatabase)
                {
                    string sql = "select * from TestTable where (TestColumn=@Param1) and TestColumn2=@Param2";

                    DbParameter parameter = database.CreateParameter("@Param1", DbType.Int32, 0, 1);
                    DbParameter paramete2 = database.CreateParameter("@Param2", DbType.Int32, 0, 1);

                    database.ExecuteScalar(sql, parameter, paramete2);
                }
            }
        }
示例#29
0
 public void ExecuteResultSetReturnExpectedValues()
 {
     using (TestResourceFile dbFile = new TestResourceFile(this, "Datastore.sdf"))
     {
         using (SmartClientDatabase database = DatabaseFactory.CreateDatabase() as SmartClientDatabase)
         {
             string queryString = @"select * From TestTable";
             using (SqlCeResultSet result = database.ExecuteResultSet(queryString, ResultSetOptions.Scrollable))
             {
                 Assert.IsTrue(result.HasRows);
                 Assert.AreEqual(2, result.FieldCount);
             }
         }
     }
 }
示例#30
0
 public void ExecuteResultSetFromSqlStringSucceeds()
 {
     using (TestResourceFile dbFile = new TestResourceFile(this, "Datastore.sdf"))
     {
         using (SmartClientDatabase database = DatabaseFactory.CreateDatabase() as SmartClientDatabase)
         {
             string queryString = @"select * from TestTable";
             using (SqlCeResultSet resultSet = database.ExecuteResultSet(queryString, ResultSetOptions.None))
             {
                 Assert.IsNotNull(resultSet);
                 Assert.IsFalse(resultSet.IsClosed);
             }
         }
     }
 }