Esempio n. 1
0
 /// <summary>
 /// Initializes a new instance of the <see cref="QCController" /> class.
 /// </summary>
 /// <param name="qcService">IQC Service object.</param>
 /// <param name="fileServiceFactory">File service factory</param>
 /// <param name="userService">User service</param>
 public QCController(IQCService qcService, IFileServiceFactory fileServiceFactory, IUserService userService)
 {
     this.qcService = qcService;
     this.fileServiceFactory = fileServiceFactory;
     this.userService = userService;
     this.user = IdentityHelper.GetCurrentUser(this.userService, this.User as ClaimsPrincipal);
     this.diagnostics = new DiagnosticsProvider(this.GetType());
 }
Esempio n. 2
0
 /// <summary>
 /// Initializes a new instance of the <see cref="QCController" /> class.
 /// </summary>
 /// <param name="qcService">IQC Service object.</param>
 /// <param name="fileServiceFactory">File service factory</param>
 /// <param name="userService">User service</param>
 public QCController(IQCService qcService, IFileServiceFactory fileServiceFactory, IUserService userService)
 {
     this.qcService          = qcService;
     this.fileServiceFactory = fileServiceFactory;
     this.userService        = userService;
     this.user        = IdentityHelper.GetCurrentUser(this.userService, this.User as ClaimsPrincipal);
     this.diagnostics = new DiagnosticsProvider(this.GetType());
 }
Esempio n. 3
0
 /// <summary>
 /// Initializes a new instance of the <see cref="FilesController" /> class.
 /// </summary>
 /// <param name="fileServiceFactory">IFileServiceFactory</param>
 /// <param name="repositoryService">IRepositoryService</param>
 /// <param name="qcService">IQCService</param>
 /// <param name="userService">IUserService</param>
 /// <param name="repositoryAdapterFactory">IRepositoryAdapterFactory</param>
 public FilesController(IFileServiceFactory fileServiceFactory, IRepositoryService repositoryService, IQCService qcService, IUserService userService, IRepositoryAdapterFactory repositoryAdapterFactory)
 {
     this.repositoryService        = repositoryService;
     this.qcService                = qcService;
     this.fileServiceFactory       = fileServiceFactory;
     this.userService              = userService;
     this.fileService              = fileServiceFactory.GetFileService(BaseRepositoryEnum.Default.ToString());
     this.diagnostics              = new DiagnosticsProvider(this.GetType());
     this.repositoryAdapterFactory = repositoryAdapterFactory;
     this.user = IdentityHelper.GetCurrentUser(this.userService, this.User as ClaimsPrincipal);
 }
        public void Get_All_Available_QC_Rules_When_No_QC_Rule_Available()
        {
            this.qcService = new StubIQCService()
            {
                GetQualityCheckRulesBoolean = (includeAdmin) => { return null; }
            };

            QCController qcController = CreateRequest(HttpMethod.Get);

            // Perform
            var response = qcController.RetrieveQualityCheckRules();

            // Assert
            Assert.AreEqual(response.StatusCode, HttpStatusCode.OK);
            var result = response.Content.ReadAsAsync<List<Repository>>().Result;
            Assert.IsNull(result, "Result is not null");

        }
        public void Get_All_Available_Quality_Check_Rules_Success()
        {
            List<QualityCheckColumnRule> lstCol = new List<QualityCheckColumnRule>();
            QualityCheckColumnRule colRule = new QualityCheckColumnRule() { Description = "Column 1 desc", ErrorMessage = "error msg", HeaderName = "Column 1", IsActive = true, IsRequired = true, Order = 1, QualityCheck = null, QualityCheckColumnRuleId = 1, QualityCheckColumnTypeId = 1, QualityCheckId = 1, Range = "" };
            QualityCheckColumnRule colRule1 = new QualityCheckColumnRule() { Description = "Column 2 desc", ErrorMessage = "error msg1", HeaderName = "Column 2", IsActive = true, IsRequired = true, Order = 2, QualityCheck = null, QualityCheckColumnRuleId = 2, QualityCheckColumnTypeId = 2, QualityCheckId = 1, Range = "" };
            lstCol.Add(colRule);
            lstCol.Add(colRule1);

            List<QualityCheckModel> lstModel = new List<QualityCheckModel>()
            {
                new QualityCheckModel(){ CreatedUser="******", QualityCheckData= new QualityCheck(){CreatedBy = 1, CreatedOn = DateTime.UtcNow, Description = "Test Rule", EnforceOrder = true, FileQualityChecks = null, IsActive = true, IsVisibleToAll = true, ModifiedBy = 1, ModifiedOn = DateTime.UtcNow, Name = "Test Rule", QualityCheckColumnRules = lstCol, QualityCheckId = 1}}          
            };

            this.qcService = new StubIQCService()
            {
                GetQualityCheckRulesBoolean = (includeAdmin) => { return lstModel; }
            };

            HttpResponseMessage response = null;
          
            QCController qcController = CreateRequest(HttpMethod.Get);

            // Perform
            response = qcController.RetrieveQualityCheckRules();
            
         
            // Assert
            Assert.AreEqual(response.StatusCode, HttpStatusCode.OK, "Status Code is not as Expected");
            var result = response.Content.ReadAsAsync<List<QualityCheckModel>>().Result;

            Assert.IsTrue(result.Count >= 1, "There is no Quality check rule in the List");
            Assert.AreEqual(result.Count, lstModel.Count, "Expected and Actula Repository Counts are not equal");

            Assert.AreEqual(result[0].CreatedUser, "Test User");
            Assert.AreEqual(result[0].QualityCheckData.CreatedBy, 1);
            Assert.AreEqual(result[0].QualityCheckData.Description, "Test Rule");
            Assert.AreEqual(result[0].QualityCheckData.EnforceOrder, true);
            Assert.AreEqual(result[0].QualityCheckData.IsActive, true);
            Assert.AreEqual(result[0].QualityCheckData.IsVisibleToAll, true);
            Assert.AreEqual(result[0].QualityCheckData.EnforceOrder, true);
            Assert.AreEqual(result[0].QualityCheckData.ModifiedBy, 1);
            Assert.AreEqual(result[0].QualityCheckData.Name, "Test Rule");
            Assert.AreEqual(result[0].QualityCheckData.QualityCheckId, 1);
        }
        public void Delete_Quality_Check_Fail()
        {
            this.qcService = new StubIQCService()
            {
                DeleteQualityCheckRuleInt32 = (id) => { return false; }
            };

            QCController qcController = CreateRequest(HttpMethod.Delete);

            // Perform
            var response = qcController.Delete(1);

            //// Assert
            Assert.AreEqual(response.StatusCode, HttpStatusCode.OK, "Status Code is not as Expected");
            var result = response.Content.ReadAsAsync<bool>().Result;

            Assert.IsFalse(result);
        }
        public void Get_Quality_Check_By_Id_Success()
        {
            List<QualityCheckColumnRule> lstCol = new List<QualityCheckColumnRule>();
            QualityCheckColumnRule colRule = new QualityCheckColumnRule() { Description = "Column 1 desc", ErrorMessage = "error msg", HeaderName = "Column 1", IsActive = true, IsRequired = true, Order = 1, QualityCheck = null, QualityCheckColumnRuleId = 1, QualityCheckColumnTypeId = 1, QualityCheckId = 1, Range = "" };
            QualityCheckColumnRule colRule1 = new QualityCheckColumnRule() { Description = "Column 2 desc", ErrorMessage = "error msg1", HeaderName = "Column 2", IsActive = true, IsRequired = true, Order = 2, QualityCheck = null, QualityCheckColumnRuleId = 2, QualityCheckColumnTypeId = 2, QualityCheckId = 1, Range = "" };

            lstCol.Add(colRule);
            lstCol.Add(colRule1);

            QualityCheckModel model = new QualityCheckModel() { CreatedUser = "******", QualityCheckData = new QualityCheck() { CreatedBy = 1, CreatedOn = DateTime.UtcNow, Description = "Test Rule", EnforceOrder = true, FileQualityChecks = null, IsActive = true, IsVisibleToAll = true, ModifiedBy = 1, ModifiedOn = DateTime.UtcNow, Name = "Test Rule", QualityCheckColumnRules = lstCol, QualityCheckId = 1 } };

            this.qcService = new StubIQCService()
            {
                GetQualityCheckByIdInt32 = (id) => { return model; }
            };

            QCController qcController = CreateRequest(HttpMethod.Get);

            // Perform
            var response = qcController.GetQualityCheckById(1);

            // Assert
            Assert.AreEqual(response.StatusCode, HttpStatusCode.OK, "Status Code is not as Expected");
            var result = response.Content.ReadAsAsync<QualityCheckModel>().Result;

            Assert.IsNotNull(result, "There is no Quality check rule for the mentioned id");

            Assert.AreEqual(result.CreatedUser, "Test User");
            Assert.AreEqual(result.QualityCheckData.CreatedBy, 1);
            Assert.AreEqual(result.QualityCheckData.Description, "Test Rule");
            Assert.AreEqual(result.QualityCheckData.EnforceOrder, true);
            Assert.AreEqual(result.QualityCheckData.IsActive, true);
            Assert.AreEqual(result.QualityCheckData.IsVisibleToAll, true);
            Assert.AreEqual(result.QualityCheckData.EnforceOrder, true);
            Assert.AreEqual(result.QualityCheckData.ModifiedBy, 1);
            Assert.AreEqual(result.QualityCheckData.Name, "Test Rule");
            Assert.AreEqual(result.QualityCheckData.QualityCheckId, 1);
        }
        public void Check_Rule_Exists_Error_Inner_Exeption()
        {
            this.qcService = new StubIQCService()
            {
                CheckRuleExistsString = (ruleName) => { throw new Exception("", new Exception("Some Inner Exception")); }
            };

            QCController qcController = CreateRequest(HttpMethod.Post);

            // Perform
            var response = qcController.CheckRuleExists("Rule");
            // Assert
            Assert.AreEqual(response.StatusCode, HttpStatusCode.InternalServerError, "Expexted and actual status are not equal");
            var result = response.Content.ReadAsAsync<HttpError>().Result;
            Assert.IsTrue(result.Message.Contains("Some Inner Exception"), "Result is as Expected");
        }
        public void Check_Rule_Exists_When_Invalid_Model_State()
        {
            this.qcService = new StubIQCService();

            QCController qcController = CreateRequest(HttpMethod.Post);
            qcController.ModelState.AddModelError("Invalid", "Invlaid Model State");

            // Perform
            var response = qcController.CheckRuleExists("Rule");

            // Assert
            Assert.AreEqual(response.StatusCode, HttpStatusCode.BadRequest, "Expexted and actual status are not equal");
            var result = response.Content.ReadAsAsync<HttpError>().Result;
            Assert.IsNotNull(result, "Result is null");
        }
Esempio n. 10
0
        public void Check_Rule_Exists_When_QC_Service_Is_Not_Available()
        {
            this.qcService = null;

            QCController qcController = CreateRequest(HttpMethod.Post);

            // Perform
            var response = qcController.CheckRuleExists("Rule");

            // Assert
            Assert.AreEqual(response.StatusCode, HttpStatusCode.InternalServerError, "Expexted and actual status are not equal");
            var result = response.Content.ReadAsAsync<HttpError>().Result;
            Assert.IsNotNull(result, "Result is null");
        }
Esempio n. 11
0
        public void Check_Rule_Exists_Success()
        {
            this.qcService = new StubIQCService()
            {
                CheckRuleExistsString = (ruleName) => { return 1; }
            };

            QCController qcController = CreateRequest(HttpMethod.Post);

            // Perform
            var response = qcController.CheckRuleExists("Rule");

            //// Assert
            Assert.AreEqual(response.StatusCode, HttpStatusCode.OK, "Status Code is not as Expected");
            var result = response.Content.ReadAsAsync<int>().Result;

            Assert.AreEqual(result, 1);
        }
Esempio n. 12
0
        public void Delete_Quality_Check_Error_Inner_Exeption()
        {
            this.qcService = new StubIQCService()
            {
                DeleteQualityCheckRuleInt32 = (id) => { throw new Exception("", new Exception("Some Inner Exception")); }
            };

            QCController qcController = CreateRequest(HttpMethod.Delete);

            // Perform
            var response = qcController.Delete(1);

            // Assert
            Assert.AreEqual(response.StatusCode, HttpStatusCode.InternalServerError, "Expexted and actual status are not equal");
            var result = response.Content.ReadAsAsync<HttpError>().Result;
            Assert.IsTrue(result.Message.Contains("Some Inner Exception"), "Result is as Expected");
        }
Esempio n. 13
0
        public void Get_Quality_Check_By_Id_Error_Server_Exeption()
        {
            this.qcService = new StubIQCService()
            {
                GetQualityCheckByIdInt32 = (id) => { throw new Exception("Cannot Retrieve Repositiory"); }
            };

            QCController qcController = CreateRequest(HttpMethod.Get);

            // Perform
            var response = qcController.GetQualityCheckById(1);

            // Assert
            Assert.AreEqual(response.StatusCode, HttpStatusCode.InternalServerError, "Expexted and actual status are not equal");
            var result = response.Content.ReadAsAsync<HttpError>().Result;
            Assert.IsTrue(result.Message.Contains("Cannot Retrieve Repositiory"), "Result is as Expected");
        }
 private void InitializeServices()
 {
     _searchService = DI.CreateSearchService();
     _qcService = DI.CreateQCService();
     _documentService = DI.CreateDocumentService();
 }
Esempio n. 15
0
        public void Get_Quality_Check_By_Id_When_QC_Service_Is_Not_Available()
        {
            this.qcService = null;

            QCController qcController = CreateRequest(HttpMethod.Get);

            // Perform
            var response = qcController.GetQualityCheckById(1);

            // Assert
            Assert.AreEqual(response.StatusCode, HttpStatusCode.InternalServerError, "Expexted and actual status are not equal");
            var result = response.Content.ReadAsAsync<HttpError>().Result;
            Assert.IsNotNull(result, "Result is null");
        }
Esempio n. 16
0
        public void Get_Quality_Check_By_Id_When_No_QC_Rule_Available()
        {
            this.qcService = new StubIQCService()
            {
                GetQualityCheckByIdInt32 = (id) => { return null; }
            };

            QCController qcController = CreateRequest(HttpMethod.Get);

            // Perform
            var response = qcController.GetQualityCheckById(1);

            // Assert
            Assert.AreEqual(response.StatusCode, HttpStatusCode.OK);
            var result = response.Content.ReadAsAsync<QualityCheckModel>().Result;
            Assert.IsNull(result, "Result is not null");

        }
Esempio n. 17
0
        public void Initialize()
        {
            List<QualityCheckColumnRule> lstCol = new List<QualityCheckColumnRule>();
            QualityCheckColumnRule colRule = new QualityCheckColumnRule() { Description = "Column 1 desc", ErrorMessage = "error msg", HeaderName = "Column 1", IsActive = true, IsRequired = true, Order = 1, QualityCheck = null, QualityCheckColumnRuleId = 1, QualityCheckColumnTypeId = 1, QualityCheckId = 1, Range = "" };
            QualityCheckColumnRule colRule1 = new QualityCheckColumnRule() { Description = "Column 2 desc", ErrorMessage = "error msg1", HeaderName = "Column 2", IsActive = true, IsRequired = true, Order = 2, QualityCheck = null, QualityCheckColumnRuleId = 2, QualityCheckColumnTypeId = 2, QualityCheckId = 1, Range = "" };
            lstCol.Add(colRule);
            lstCol.Add(colRule1);

            // Unit of work code
            this.unitOfWork =
                new StubIUnitOfWork()
                {
                    Commit = () => { return; }
                };

            // User repository
            this.userRepository = new StubIUserRepository()
            {
                GetUserbyUserIdInt32 = (userId) =>
                    {
                        List<UserRole> userRoles = new List<UserRole>();
                        userRoles.Add(new UserRole() { Role = null, RoleId = 1, UserId = userId, UserRoleId = 1 });
                        User userNew = new User() { CreatedOn = DateTime.UtcNow, EmailId = "*****@*****.**", FirstName = "First", IdentityProvider = "identity", IsActive = true, LastName = "Last", MiddleName = "midele", ModifiedOn = DateTime.UtcNow, NameIdentifier = "nameIdentifier", Organization = "Test Org", UserAttributes = null, UserId = userId, UserRoles = userRoles };
                        return userNew;
                    }
            };

            // file Service implementation
            this.fileService = new StubIFileService()
            {
                GetFileByFileIdInt32 = (fileId) =>
                    {
                        File fileToAdd = new File() { Citation = "Citation 1", CreatedBy = 1, CreatedOn = DateTime.Now, Description = "Document 1", FileAttributes = null, FileColumns = null, FileId = fileId, FileQualityChecks = null, Identifier = "asdahgsdfsghadfsghad", isDeleted = false, MimeType = "Mime type 1", ModifiedBy = 1, ModifiedOn = DateTime.Now, Name = "Document One", Repository = null, RepositoryId = null, Size = 20.90, Status = "Uploaded", Title = "Document 1" };
                        return null;
                    }
            };

            // Quality check repository implementation
            this.qcRepository = new StubIQualityCheckRepository()
            {
                RetrieveQualityCheckRules = () =>
                    {
                        List<QualityCheck> lstQCRule = new List<QualityCheck>();
                        lstQCRule.Add(new QualityCheck() { CreatedBy = 1, CreatedOn = DateTime.UtcNow, Description = "Test Rule", EnforceOrder = true, FileQualityChecks = null, IsActive = true, IsVisibleToAll = true, ModifiedBy = 1, ModifiedOn = DateTime.UtcNow, Name = "Test Rule", QualityCheckColumnRules = lstCol, QualityCheckId = 1 });
                        // lstQCRule.Add(new QualityCheck() { CreatedBy = 1, CreatedOn = DateTime.UtcNow, Description = "Test Rule1", EnforceOrder = true, FileQualityChecks = null, IsActive = true, IsVisibleToAll = true, ModifiedBy = 1, ModifiedOn = DateTime.UtcNow, Name = "Test Rule1", QualityCheckColumnRules = lstCol, QualityCheckId = 1 });

                        return lstQCRule;
                    },
                RetrieveQCColumnTypes = () =>
                    {
                        List<QualityCheckColumnType> qcTypes = new List<QualityCheckColumnType>();
                        qcTypes.Add(new QualityCheckColumnType() { Description = "No check", Name = "None", QualityCheckColumnTypeId = 1 });
                        qcTypes.Add(new QualityCheckColumnType() { Description = "Number type", Name = "Numeric", QualityCheckColumnTypeId = 2 });
                        return qcTypes;
                    },
                GetQualityCheckByIDInt32 = (qualityCheckId) =>
                    {
                        QualityCheck qc = new QualityCheck() { CreatedBy = 1, CreatedOn = DateTime.UtcNow, Description = "Get by id desc", EnforceOrder = true, FileQualityChecks = null, IsActive = true, IsVisibleToAll = true, ModifiedBy = 1, ModifiedOn = DateTime.UtcNow, Name = "Get by id Rule", QualityCheckColumnRules = lstCol, QualityCheckId = qualityCheckId };
                        return qc;
                    },
                AddQualityCheckRuleQualityCheck = (qualityCheck) =>
                    {
                        qualityCheck.QualityCheckId = 2;
                        return qualityCheck;
                    },
                UpdateQualityCheckRuleQualityCheck = (qualityCheck) =>
                     {
                         qualityCheck.Name = "Updated rule From rep";
                         return qualityCheck;
                     },
                DeleteQualityCheckRuleInt32 = (qualityCheckId) =>
                      {
                          QualityCheck qc = new QualityCheck() { CreatedBy = 1, CreatedOn = DateTime.UtcNow, Description = "Delete", EnforceOrder = true, FileQualityChecks = null, IsActive = true, IsVisibleToAll = true, ModifiedBy = 1, ModifiedOn = DateTime.UtcNow, Name = "Delete Rule", QualityCheckColumnRules = lstCol, QualityCheckId = qualityCheckId };
                          return qc;
                      },
                DeleteColumnRulesInt32 = (qualityCheckId) =>
                    {
                        return true;
                    },
                AddFileQualityCheckFileQualityCheck = (fileQualityCheck) =>
                    {
                        fileQualityCheck.Status = true;
                        return fileQualityCheck;
                    },
                GetQualityCheckByNameString = (ruleName) =>
                    {
                        QualityCheck qc = new QualityCheck() { CreatedBy = 1, CreatedOn = DateTime.UtcNow, Description = "Get by rule name", EnforceOrder = true, FileQualityChecks = null, IsActive = true, IsVisibleToAll = true, ModifiedBy = 1, ModifiedOn = DateTime.UtcNow, Name = ruleName, QualityCheckColumnRules = lstCol, QualityCheckId = 10 };
                        return qc;
                    }
            };

            qcService = new QCS.QCService(this.qcRepository, this.unitOfWork, this.userRepository, this.fileService, this.blobRepository);
        }
Esempio n. 18
0
 /// <summary>
 /// Initializes a new instance of the <see cref="FilesController" /> class.
 /// </summary>
 /// <param name="fileServiceFactory">IFileServiceFactory</param>
 /// <param name="repositoryService">IRepositoryService</param>
 /// <param name="qcService">IQCService</param>
 /// <param name="userService">IUserService</param>
 /// <param name="repositoryAdapterFactory">IRepositoryAdapterFactory</param>
 public FilesController(IFileServiceFactory fileServiceFactory, IRepositoryService repositoryService, IQCService qcService, IUserService userService, IRepositoryAdapterFactory repositoryAdapterFactory)
 {
     this.repositoryService = repositoryService;
     this.qcService = qcService;
     this.fileServiceFactory = fileServiceFactory;
     this.userService = userService;
     this.fileService = fileServiceFactory.GetFileService(BaseRepositoryEnum.Default.ToString());
     this.diagnostics = new DiagnosticsProvider(this.GetType());
     this.repositoryAdapterFactory = repositoryAdapterFactory;
     this.user = IdentityHelper.GetCurrentUser(this.userService, this.User as ClaimsPrincipal);
 }
Esempio n. 19
0
 public QCController(IQCService QCService)
 {
     _QCService = QCService;
 }