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);
                }
            }
        }
Exemplo n.º 2
0
        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);
                }
            }
        }
Exemplo n.º 8
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.");

            }
        }