/// <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()); }
/// <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"); }
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"); }
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); }
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"); }
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(); }
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"); }
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"); }
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); }
public QCController(IQCService QCService) { _QCService = QCService; }