public void AddAgent() { using (CapriconContext context = new CapriconContext()) { var newAgent = new Agent() { FirstName = "Blaise", LastName = "Nyamwamba", OtherName = "", Gender = Gender.Female, MobilePhone = "0756 123 456", Email = "*****@*****.**", Town = "Nairobi", District = "Nairobi", DateOfBirth = DateTime.Now.AddYears(-40), }; var agentRep = new AgentRepository(context); agentRep.Add(newAgent); try { context.SaveChanges(); } catch (DbEntityValidationException ex) { //Retrieve validation errors ex.EntityValidationErrors.ToList().ForEach ( v => { v.ValidationErrors.ToList().ForEach ( e => { System.Diagnostics.Debug.WriteLine(e.ErrorMessage); } ); } ); Assert.Fail("Test failed"); } //retrieve saved object var context1 = new CapriconContext(); var repository = new AgentRepository(context1); var savedAgents = repository.GetAll().ToList(); Assert.AreEqual(savedAgents.Count(), 1, "returns 20 records"); var savedAgentsList = savedAgents; savedAgentsList.ForEach ( s => { Debug.WriteLine(s.AgentId + " - " + s.FirstName + " " + s.LastName); } ); }; }
public ActionResult Delete(int agentId) { AgentRepository repository = new AgentRepository(); var agentToDelete = repository.GetById(agentId); repository.Delete(agentToDelete); return RedirectToAction("Index"); }
public void AddAgentMessage() { using (var uow = new CapriconContext()) { //retreive an existing agent var agentRepository = new AgentRepository(uow); var existingAgent = agentRepository.GetAll().FirstOrDefault(); Assert.IsNotNull(existingAgent); //retreive an existing message var messageRepository = new MessageRepository(uow); var existingMessage = messageRepository.GetAll().LastOrDefault(); Assert.IsNotNull(existingMessage); //create new agent messsage var newAgentMessage = new AgentMessage() { Agent = existingAgent, Message = existingMessage }; //add the new agent message to the repository var agentMessageRepository = new AgentMessageRepository(uow); agentMessageRepository.Add(newAgentMessage); try { uow.SaveChanges(); } catch (DbEntityValidationException ex) { //Retrieve validation errors ex.EntityValidationErrors.ToList().ForEach ( v => { v.ValidationErrors.ToList().ForEach ( e => { System.Diagnostics.Debug.WriteLine(e.ErrorMessage); } ); } ); Assert.Fail("Test failed"); } //retrieve saved object var uow1 = new CapriconContext(); var repository = new AgentMessageRepository(uow1); var savedAgentMessages = repository.GetAll().ToList(); Assert.AreEqual(savedAgentMessages[0].Agent.FirstName, existingAgent.FirstName = "Blaise"); Assert.AreEqual(savedAgentMessages[0].Message.MessageId, existingMessage.MessageId = 1); }; }
public void Get_ListAgents_ReturnsAgentList() { //ARRANGE Entity.Agent("Agent1", "111", "Status1"); Entity.Agent("Agent2", "222", "Status2"); Entity.Agent("Agent3", "333", "Status3"); SaveChanges(); var repository = new AgentRepository(); //ACT var agents = repository.Get(); //ASSERT Assert.That(agents, Has.Length.EqualTo(3)); Assert.That(agents[0].Name, Is.EqualTo("Agent1")); Assert.That(agents[0].Extension, Is.EqualTo("111")); Assert.That(agents[0].Status, Is.EqualTo("Status1")); Assert.That(agents[1].Name, Is.EqualTo("Agent2")); Assert.That(agents[1].Extension, Is.EqualTo("222")); Assert.That(agents[1].Status, Is.EqualTo("Status2")); Assert.That(agents[2].Name, Is.EqualTo("Agent3")); Assert.That(agents[2].Extension, Is.EqualTo("333")); Assert.That(agents[2].Status, Is.EqualTo("Status3")); }
public ActionResult Edit(int agentId) { AgentRepository repository = new AgentRepository(); var agent = repository.GetById(agentId); var agentToEdit = new EditAgent { agentId = agent.id, agentName = agent.name }; return View(agentToEdit); }
public static bool ChooseAgent(Client client) { var agents = new AgentRepository().GetAll().ToArray(); int agentId; Random randomize = new Random(); int indexOfAgent = randomize.Next(0, agents.Count() - 1); agentId = agents[indexOfAgent].id; return AgentLogic.Apply(client, agentId); }
public ActionResult AddAgent(AddAgent agent) { AgentRepository repository = new AgentRepository(); Agents agentToAdd = new Agents { name = agent.agentName }; repository.Save(agentToAdd); return RedirectToAction("Index"); }
static void CreateBase() { AgentRepository agentRepository = new AgentRepository(); for (int i = 1; i <= 10; i++) { agentRepository.Add(new Agent(i, "Agent" + i.ToString())); } BuilderRepository builderRepository = new BuilderRepository(); for (int i = 1; i <= 3; i++) { builderRepository.Add(new Builder(i, "Builder" + i.ToString())); } }
public ActionResult Edit(int agentId, EditAgent agent) { AgentRepository repository = new AgentRepository(); Agents agentToUpdate = new Agents { id = agent.agentId, Contracts = repository.GetById(agentId).Contracts, name = agent.agentName }; repository.Update(agentToUpdate); return RedirectToAction("Index"); }
public void AgentRepositoryTest() { AgentRepository repository = new AgentRepository(); Agent expectedAgent = new Agent(repository.GetAll().Count() + 1, "agensomeagent"); repository.Add(expectedAgent); Agent realAgent = repository.GetItem(expectedAgent.id); Assert.AreEqual(expectedAgent, realAgent); repository.Delete(expectedAgent); realAgent = repository.GetItem(expectedAgent.id); Assert.AreEqual(null, realAgent); }
public ActionResult MakeContract(MakeContractModel contract) { Clients client; //если клиент с таким именем уже существует, то берем его //если нет то создаем новый try { client = new ClientRepository() .GetAll() .Where(x => x.name.TrimEnd() == contract.clientName).First(); } catch { //создаем клиента client = new Clients { name = contract.clientName }; } Projects project = new Projects { description = contract.projectDescription, name = contract.projectName, deadline = DateTime.Now.AddDays(20.0) }; Agents agent = new AgentRepository().GetAll().Where(x => x.name.TrimEnd() == contract.agentName).First(); Builders builder = new BuilderRepository().GetAll().Where(x => x.name.TrimEnd() == contract.builderName).First(); Contracts contractToAdd = new Contracts() { agentId = agent.id, builderId = builder.id, clientId = client.id, Clients = client, projectId = project.id, Projects = project }; new ContractRepository().Save(contractToAdd); return RedirectToAction("Index"); }
public void UpdateStatus_AgentNotFound_ReturnsFalse() { //ARRANGE Entity.Agent("Agent1", "111", "Status1"); SaveChanges(); var repository = new AgentRepository(); //ACT var success = repository.UpdateStatus(new AgentStatusModel { AgentId = 999, Status = "StatusNew" }); //ASSERT Assert.IsFalse(success); }
public void AgentRepositoryTest() { AgentRepository repository = new AgentRepository(); Agent expectedAgent = new Agent { name = "agensomeagent" }; repository.Add(expectedAgent); Agent realAgent = repository.GetAll().Last(); Assert.AreEqual(expectedAgent.name, realAgent.name); repository.Delete(realAgent); realAgent = repository.GetAll().Last(); Assert.AreNotEqual(expectedAgent.name, realAgent.name); }
// // GET: /Agent/ public ActionResult Index() { AgentRepository repository = new AgentRepository(); var agents = repository.GetAll(); var agentsToShow = new List<EditAgent>(); foreach (var agent in agents) { agentsToShow.Add ( new EditAgent { agentId = agent.id, agentName = agent.name } ); } return View(agentsToShow); }
public void UpdateAgent() { using (var uow = new CapriconContext()) { var agentRep = new AgentRepository(uow); var existingAgents = agentRep.GetAll().ToList(); var existingAgent = existingAgents.LastOrDefault(); Assert.IsNotNull(existingAgent); existingAgent.FirstName = "Hilda"; existingAgent.LastName = "Kunda"; existingAgent.OtherName = ""; existingAgent.Gender = Gender.Male; existingAgent.DateOfBirth = DateTime.Now.AddYears(-60); existingAgent.MobilePhone = "0777 700 700"; existingAgent.Email = "*****@*****.**"; existingAgent.Town = "Bugembe"; existingAgent.District = "Jinja"; //check for validation rules //existingAgent.FirstName = ""; //existingAgent.LastName = ""; //existingAgent.Gender = Gender.Not_Specified; //existingAgent.Email = ""; //existingAgent.Town = ""; //existingAgent.District = ""; agentRep.Attach(existingAgent); uow.Entry(existingAgent).State = EntityState.Modified; try { uow.SaveChanges(); } catch (DbEntityValidationException ex) { //Retrieve validation errors ex.EntityValidationErrors.ToList().ForEach ( v => { v.ValidationErrors.ToList().ForEach ( e => { System.Diagnostics.Debug.WriteLine(e.ErrorMessage); } ); } ); Assert.Fail("Test failed"); } }; //retrieve saved object var uow1 = new CapriconContext(); var repository = new AgentRepository(uow1); var savedAgents = repository.GetAll().ToList(); Assert.AreEqual(savedAgents[0].LastName, "Byanjeru"); }
public void UpdateStatus_AgentStatusUpdated_ReturnsTrue() { //ARRANGE var agent = Entity.Agent("Agent1", "111", "Status1"); SaveChanges(); var repository = new AgentRepository(); //ACT var success = repository.UpdateStatus(new AgentStatusModel { AgentId = agent.Id, Status = "StatusNew" }); //ASSERT Assert.IsTrue(success); RefreshContext(); var updatedAgent = Context.Agents.Find(agent.Id); Assert.That(updatedAgent.Status, Is.EqualTo("StatusNew")); }
public void UpdateAgentMessage() { using (var uow = new CapriconContext()) { var agentMessageRepository = new AgentMessageRepository(uow); var existingAgentMessage = agentMessageRepository.Find(am => am.Id == 1).FirstOrDefault(); Assert.IsNotNull(existingAgentMessage); //retreive an existing agent var agentRepository = new AgentRepository(uow); var existingAgent = agentRepository.Find(a => a.AgentId == 1).FirstOrDefault(); Assert.IsNotNull(existingAgent); //retreive an existing message var messageRepository = new MessageRepository(uow); var existingMessage = messageRepository.Find(m => m.MessageId == 1).FirstOrDefault(); Assert.IsNotNull(existingMessage); //edit an existing agent message existingAgentMessage.Agent = existingAgent; existingAgentMessage.Message = existingMessage; agentMessageRepository.Attach(existingAgentMessage); uow.Entry(existingAgentMessage).State = EntityState.Modified; try { uow.SaveChanges(); } catch (DbEntityValidationException ex) { //Retrieve validation errors ex.EntityValidationErrors.ToList().ForEach ( v => { v.ValidationErrors.ToList().ForEach ( e => { System.Diagnostics.Debug.WriteLine(e.ErrorMessage); } ); } ); Assert.Fail("Test failed"); } //retrieve saved object var uow1 = new CapriconContext(); var repository = new AgentMessageRepository(uow1); var savedAgentMessages = repository.GetAll().ToList(); Assert.AreEqual(savedAgentMessages[0].Agent, existingAgent); Assert.AreEqual(savedAgentMessages[0].Message, existingMessage); }; }
public void CaseSetup() { m_mockProvider = new Mock <IAgentDataProvider>(); m_repo = new AgentRepository(m_mockProvider.Object); }
public async Task TestAgentManager() { // arrange var options = new DbContextOptionsBuilder <StorageContext>() .UseInMemoryDatabase(databaseName: "AgentManager") .Options; Guid credentialId = Guid.NewGuid(); Guid agentId = Guid.NewGuid(); var context = new StorageContext(options); var dummyAgent = new AgentModel { Id = agentId, Name = "TesterAgent", MachineName = "TestingMachine", MacAddresses = "00:00:00:00:00:00", IPAddresses = "192.168.0.1", CredentialId = credentialId }; var dummyCredential = new Credential { Id = credentialId, Name = "TesterCredential" }; var dummyUserAgent = new AspNetUsers { Id = Guid.NewGuid().ToString(), UserName = "******", Name = "TesterAgent" }; var dummyJob = new Job { Id = Guid.NewGuid(), AgentId = agentId, JobStatus = JobStatusType.New }; Seed(context, dummyAgent, dummyCredential, dummyUserAgent, dummyJob); var agentLogger = Mock.Of <ILogger <AgentModel> >(); var usersLogger = Mock.Of <ILogger <AspNetUsers> >(); var scheduleLogger = Mock.Of <ILogger <Schedule> >(); var jobLogger = Mock.Of <ILogger <Job> >(); var credentialLogger = Mock.Of <ILogger <Credential> >(); var httpContextAccessor = new Mock <IHttpContextAccessor>(); httpContextAccessor.Setup(req => req.HttpContext.User.Identity.Name).Returns(It.IsAny <string>()); var userRepo = new AspNetUsersRepository(context, usersLogger, httpContextAccessor.Object); var agentRepo = new AgentRepository(context, agentLogger, httpContextAccessor.Object); var scheduleRepo = new ScheduleRepository(context, scheduleLogger, httpContextAccessor.Object); var jobRepo = new JobRepository(context, jobLogger, httpContextAccessor.Object); var credentialRepo = new CredentialRepository(context, credentialLogger, httpContextAccessor.Object); var manager = new AgentManager(agentRepo, scheduleRepo, jobRepo, userRepo, credentialRepo); //act AgentViewModel view = new AgentViewModel(); AgentModel agentModel = agentRepo.GetOne(agentId); view = view.Map(agentModel); var validAgentView = manager.GetAgentDetails(view);//Fetches agent details bool agentWithDependant = manager.CheckReferentialIntegrity(agentId.ToString()); dummyJob.JobStatus = JobStatusType.Completed;//Removes referential integrity violation bool agentWithoutDependant = manager.CheckReferentialIntegrity(agentId.ToString()); // assert Assert.Equal(dummyCredential.Name, validAgentView.CredentialName); Assert.Equal(dummyUserAgent.UserName, validAgentView.UserName); Assert.True(agentWithDependant); Assert.False(agentWithoutDependant); }
public AgentService(IUnitOfWork unitOfWork, AgentRepository agentRepository) : base(unitOfWork, agentRepository) { }
public void DeleteAgent() { using (var uow = new CapriconContext()) { var agentRep = new AgentRepository(uow); var existingAgent = agentRep.Find(a => a.AgentId == 2).FirstOrDefault(); Assert.IsNotNull(existingAgent); int agentId; if (existingAgent != null) { agentId = existingAgent.AgentId; agentRep.Delete(existingAgent); try { uow.SaveChanges(); } catch (DbEntityValidationException ex) { //Retrieve validation errors ex.EntityValidationErrors.ToList().ForEach ( v => { v.ValidationErrors.ToList().ForEach ( e => { System.Diagnostics.Debug.WriteLine(e.ErrorMessage); } ); } ); Assert.Fail("Test failed"); } Assert.IsNull(agentRep.Find(a => a.AgentId == agentId).FirstOrDefault()); } else //no agents were selected Assert.Fail("No agent was selected"); } }
public JobManagerTests() { //arrange var options = new DbContextOptionsBuilder <StorageContext>() .UseInMemoryDatabase(databaseName: "JobManager") .Options; StorageContext context = new StorageContext(options); _newJobAgentId = Guid.NewGuid(); _completedJobAgentId = Guid.NewGuid(); _newJobId = Guid.NewGuid(); //job with status of new Job newDummyJob = new Job { Id = Guid.NewGuid(), JobStatus = JobStatusType.New, AgentId = _newJobAgentId, CreatedOn = DateTime.UtcNow }; //job with status of completed Job completedDummyJob = new Job { Id = Guid.NewGuid(), JobStatus = JobStatusType.Completed, AgentId = _completedJobAgentId, CreatedOn = DateTime.UtcNow }; //job Parameter to be removed _jobParameter = new JobParameter { Id = Guid.NewGuid(), DataType = "text", Value = "Sample Value", JobId = _newJobId }; Job[] jobsToAdd = new[] { newDummyJob, completedDummyJob }; //populate in memory database Seed(context, jobsToAdd, _jobParameter); //create loggers var jobLogger = Mock.Of <ILogger <Job> >(); var agentLogger = Mock.Of <ILogger <Agent> >(); var processLogger = Mock.Of <ILogger <Automation> >(); var jobParameterLogger = Mock.Of <ILogger <JobParameter> >(); var jobCheckpointLogger = Mock.Of <ILogger <JobCheckpoint> >(); var automationVersionLogger = Mock.Of <ILogger <AutomationVersion> >(); //context accessor var httpContextAccessor = new Mock <IHttpContextAccessor>(); httpContextAccessor.Setup(req => req.HttpContext.User.Identity.Name).Returns(It.IsAny <string>()); //instance of necessary repositories var jobRepository = new JobRepository(context, jobLogger, httpContextAccessor.Object); var agentRepo = new AgentRepository(context, agentLogger, httpContextAccessor.Object); var automationRepo = new AutomationRepository(context, processLogger, httpContextAccessor.Object); var jobParameterRepo = new JobParameterRepository(context, jobParameterLogger, httpContextAccessor.Object); var jobCheckpointRepo = new JobCheckpointRepository(context, jobCheckpointLogger, httpContextAccessor.Object); var automationVersionRepo = new AutomationVersionRepository(context, automationVersionLogger, httpContextAccessor.Object); //manager to be tested /* _manager = new JobManager(jobRepository, agentRepo, automationRepo, jobParameterRepo, jobCheckpointRepo, automationVersionRepo); */ }