public void DoNotReturnExecutableIfNotRequestedWhenGetActivityLibrariesIsCalled() { using (ImplementationOfType impl = new ImplementationOfType(typeof(Database))) { // Simulate 10 items being returned by the database. int numberOfMatches = 10; DataTable table = CreateValidActivityLibraryResponseMock(numberOfMatches); DataReaderMock mockReader = new DataReaderMock(table); impl.Register<Database>(inst => inst.ExecuteReader(Argument<DbCommand>.Any)).Return(mockReader); CWF.DataContracts.ActivityLibraryDC request = CreateActivityLibraryGetRequest(); List<CWF.DataContracts.ActivityLibraryDC> reply = ActivityLibraryRepositoryService.GetActivityLibraries(request, false); Assert.IsNotNull(reply); Assert.AreEqual(numberOfMatches, reply.Count); for (int i = 0; i < numberOfMatches; i++) { Assert.AreEqual(table.Rows[i][DataFieldName.ActivityLibrary.AuthGroupName], reply[i].AuthGroupName); Assert.IsNull(reply[i].Executable); } } }
public void Setup() { var reader = new DataReaderMock(); _dataStore = new DataStore(new SqlConnectionMock(0, reader)); }
public void NullSafeGetTest() { UriUserType target = new UriUserType(); DataReaderMock rs = new DataReaderMock(); string[] names = { @"a" }; object owner = new object(); foreach (Uri uri in s_Subjects) { rs.VarChar = uri == null ? null : uri.AbsoluteUri; object actual = target.NullSafeGet(rs, names, owner); if (uri != null) { Assert.IsNotNull(actual); } else { Assert.IsNull(actual); } Assert.AreEqual(uri, actual); } }
public void RoundtripTest() { // writer UriUserType target = new UriUserType(); IDbCommand cmd = new SqlCommand(@"SELECT * FROM TUUT WHERE a = @a"); SqlParameter param = new SqlParameter(@"a", null); cmd.Parameters.Add(param); // reader DataReaderMock rs = new DataReaderMock(); string[] names = { @"a" }; object owner = new object(); // test foreach (Uri subject in s_Subjects) { target.NullSafeSet(cmd, subject, 0); string dbField = param.Value is DBNull ? null : param.Value.ToString(); rs.VarChar = dbField; object reading = target.NullSafeGet(rs, names, owner); Assert.AreEqual(subject, reading); target.NullSafeSet(cmd, subject, 0); string dbField2 = param.Value is DBNull ? null : param.Value.ToString(); Assert.AreEqual(dbField, dbField2); } }
public void ReturnActivityLibraryReturnedByDatabaseWhenGetActivityLibrariesIsCalled() { using (ImplementationOfType impl = new ImplementationOfType(typeof(Database))) { DataTable table = CreateValidActivityLibraryResponseMock(1); DataReaderMock mockReader = new DataReaderMock(table); impl.Register<Database>(inst => inst.ExecuteReader(Argument<DbCommand>.Any)).Return(mockReader); CWF.DataContracts.ActivityLibraryDC request = CreateActivityLibraryGetRequest(); List<CWF.DataContracts.ActivityLibraryDC> reply = ActivityLibraryRepositoryService.GetActivityLibraries(request, true); Assert.IsNotNull(reply); Assert.AreEqual(1, reply.Count); Assert.AreEqual(table.Rows[0][DataFieldName.ActivityLibrary.AuthGroupName], reply[0].AuthGroupName); Assert.IsNotNull(reply[0].Executable); Assert.AreEqual(((Byte[])table.Rows[0][DataFieldName.ActivityLibrary.Executable]).Length, reply[0].Executable.Length); } }
public void ReturnEmptyItemsListIfDatabaseDoesNotReturnAnyItemsWhenGetActivityLibrariesIsCalled() { using (ImplementationOfType impl = new ImplementationOfType(typeof(Database))) { DataTable table = new DataTable(); DataReaderMock mockReader = new DataReaderMock(table); impl.Register<Database>(inst => inst.ExecuteReader(Argument<DbCommand>.Any)).Return(mockReader); CWF.DataContracts.ActivityLibraryDC request = CreateActivityLibraryGetRequest(); List<CWF.DataContracts.ActivityLibraryDC> reply = ActivityLibraryRepositoryService.GetActivityLibraries(request, true); Assert.IsNotNull(reply); Assert.AreEqual(0, reply.Count); } }
public void ReturnDatabaseExceptionWithMatchingErrorCodeReturnedWithSqlExceptionWhenGetActivityLibrariesIsCalled() { using (LogSettingConfigIsolator.GetValidLogSettingConfigurationMock()) // Simulate valid log setting config in order to let the LogWriterFactory work as expected. using (EventLogWriterIsolator.GetNoLoggingEventLogWriterMock()) // Mock event log writer not to write events. using (ImplementationOfType impl = new ImplementationOfType(typeof(Database))) { int databaseErrorCode = 50001; DataTable table = CreateValidActivityLibraryResponseMock(3); DataReaderMock mockReader = new DataReaderMock(table); impl.Register<Database>(inst => inst.ExecuteReader(Argument<DbCommand>.Any)).Execute( delegate { CauseSqlException(databaseErrorCode); return null; }); try { CWF.DataContracts.ActivityLibraryDC request = CreateActivityLibraryGetRequest(); List<CWF.DataContracts.ActivityLibraryDC> reply = ActivityLibraryRepositoryService.GetActivityLibraries(request, true); } catch (DataAccessException e) { Assert.IsTrue(e.ErrorCode > 0); } } }
public void TestFillInMissingStatuses() { var workflowName = "Test " + Guid.NewGuid().ToString(); var testWorkflow = CreateTestStoreActivity(workflowName, TestVersionString, false); var testDependencyName = "Test Dependency " + Guid.NewGuid().ToString(); //var testDependency = CreateTestStoreActivity(testDependencyName, TestVersionString, true); var request = new StoreLibraryAndActivitiesRequestDC(); request.StoreActivitiesList = new List<StoreActivitiesDC>(); request.StoreActivitiesList.Add(testWorkflow); request.StoreActivityLibraryDependenciesGroupsRequestDC = new StoreActivityLibraryDependenciesGroupsRequestDC(); request.StoreActivityLibraryDependenciesGroupsRequestDC.List = new List<StoreActivityLibraryDependenciesGroupsRequestDC>(); CreateTestDependencies(request.StoreActivityLibraryDependenciesGroupsRequestDC.List); var item = request.StoreActivityLibraryDependenciesGroupsRequestDC.List[1]; item.Status = String.Empty; item.Name = testDependencyName; item.Version = "1.0.0.0"; using (ImplementationOfType impl = new ImplementationOfType(typeof(Database))) { var table = new System.Data.DataTable(); DataReaderMock mockReader; table.Columns.Add("AuthGroupId", typeof(int)); table.Columns.Add("AuthGroupName", typeof(string)); table.Columns.Add("Category", typeof(Guid)); table.Columns.Add("CategoryId", typeof(int)); table.Columns.Add("Description", typeof(string)); table.Columns.Add("Executable", typeof(byte[])); table.Columns.Add("Guid", typeof(Guid)); table.Columns.Add("HasActivities", typeof(bool)); table.Columns.Add("Id", typeof(string)); table.Columns.Add("ImportedBy", typeof(string)); table.Columns.Add("MetaTags", typeof(string)); table.Columns.Add("Name", typeof(string)); table.Columns.Add("Status", typeof(int)); table.Columns.Add("StatusName", typeof(string)); table.Columns.Add("VersionNumber", typeof(string)); table.Columns.Add("FriendlyName", typeof(string)); table.Columns.Add("ReleaseNotes", typeof(string)); table.Rows.Add( 0, String.Empty, Guid.Empty, 0, String.Empty, DBNull.Value, Guid.Empty, false, 0, String.Empty, String.Empty, testDependencyName, 0, DefaultStatusCodeName, String.Empty, String.Empty, String.Empty ); mockReader = new DataReaderMock(table); impl.Register<Database>(inst => inst.ExecuteReader(Argument<DbCommand>.Any)).Return(mockReader); VersionHelper.GetMissingDependencyStates(request.StoreActivityLibraryDependenciesGroupsRequestDC.List); Assert.IsFalse(request .StoreActivityLibraryDependenciesGroupsRequestDC .List .Any(resultItem => string.IsNullOrEmpty(item.Status)), "All items should have their status property filled in."); } }