public ComponentRegistryService( StorageService storageService, SystemStatusService systemStatusService, MessageBusService messageBusService, AppService appService, ComponentInitializerService componentInitializerService, ILogger <ComponentRegistryService> logger) { _storageService = storageService ?? throw new ArgumentNullException(nameof(storageService)); _messageBusService = messageBusService ?? throw new ArgumentNullException(nameof(messageBusService)); _componentInitializerService = componentInitializerService ?? throw new ArgumentNullException(nameof(componentInitializerService)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _messageBusWrapper = new ComponentRegistryMessageBusWrapper(messageBusService); if (systemStatusService == null) { throw new ArgumentNullException(nameof(systemStatusService)); } systemStatusService.Set("component_registry.count", () => _components.Count); if (appService is null) { throw new ArgumentNullException(nameof(appService)); } appService.RegisterStatusProvider("components", () => { return(GetComponents().Select(c => ComponentsController.CreateComponentModel(c))); }); }
public void AddTest() { var account = TestHelper.GetTestAccount(); var user = TestHelper.GetAccountAdminUser(account.Id); var componentTypeId = TestHelper.CreateRandomComponentTypeId(account.Id); ComponentAddModel model; using (var controller = new ComponentsController(account.Id, user.Id)) { var result = (ViewResultBase)controller.Add(); model = (ComponentAddModel)result.Model; } model.SystemName = Guid.NewGuid().ToString(); model.DisplayName = Guid.NewGuid().ToString(); model.ComponentTypeId = componentTypeId; model.Version = "1.2.3.4"; using (var controller = new ComponentsController(account.Id, user.Id)) { controller.Add(model); } var accountContext = AccountDbContext.CreateFromAccountId(account.Id); var component = accountContext.Components.Single(x => x.SystemName == model.SystemName); Assert.NotNull(component); Assert.Equal(model.SystemName, component.SystemName); Assert.Equal(model.DisplayName, component.DisplayName); Assert.Equal(model.ComponentTypeId, component.ComponentTypeId); Assert.Equal(model.Version, component.Version); }
/// <summary> /// Детализация по компоненту - общее состояние /// </summary> public ActionResult ComponentDetailsState(Guid id) { var repository = CurrentAccountDbContext.GetComponentRepository(); var component = repository.GetById(id); var eventsMiniStatus = ComponentsController.GetEventsMiniStatusModel(id, CurrentAccountDbContext); var unittestsMiniStatus = ComponentsController.GetUnittestsMiniStatusModel(CurrentUser.AccountId, id, CurrentAccountDbContext); var metricsMiniStatus = ComponentsController.GetMetricsMiniStatusModel(CurrentUser.AccountId, id, CurrentAccountDbContext); var childsMiniStatus = ComponentsController.GetChildsMiniStatusModel(CurrentUser.AccountId, id, CurrentAccountDbContext); var model = new ComponentDetailsStateModel() { Id = id, SystemName = component.SystemName, Status = component.ExternalStatus.Status, StatusEventId = component.ExternalStatus.StatusEventId, StatusDuration = component.ExternalStatus.GetDuration(MvcApplication.GetServerDateTime()), CanEdit = CurrentUser.CanEditCommonData() && !component.IsRoot, IsEnabled = component.Enable, EventsMiniStatus = eventsMiniStatus, UnittestsMiniStatus = unittestsMiniStatus, MetricsMiniStatus = metricsMiniStatus, ChildsMiniStatus = childsMiniStatus }; return(PartialView(model)); }
public void CreateTest() { var mockComSet = new Mock <DbSet <Component> >(); mockComSet.As <IQueryable <Component> >().Setup(m => m.Provider).Returns(Components.Provider); mockComSet.As <IQueryable <Component> >().Setup(m => m.Expression).Returns(Components.Expression); mockComSet.As <IQueryable <Component> >().Setup(m => m.ElementType).Returns(Components.ElementType); mockComSet.As <IQueryable <Component> >().Setup(m => m.GetEnumerator()).Returns(Components.GetEnumerator()); Mock <DatabaseContext> mockContext = new Mock <DatabaseContext>(); mockContext.Setup(x => x.Components).Returns(mockComSet.Object); var controller = new ComponentsController(mockContext.Object); var vModel = new CreateComponentViewmodel(); vModel.Component = new Component(); vModel.Component.ComponentName = "TEST"; vModel.SpecificComponentListAsJson = "[{'ComponentNumber':'1','SerieNr':'a','LoanInformation':null},{'ComponentNumber':'2','SerieNr':'b','LoanInformation':null}]"; var result = controller.Create(vModel); mockComSet.Verify(x => x.Add(It.IsAny <Component>()), Times.Exactly(1)); }
public void EditTest() { var mockComSet = new Mock <DbSet <Component> >(); mockComSet.As <IQueryable <Component> >().Setup(m => m.Provider).Returns(Components.Provider); mockComSet.As <IQueryable <Component> >().Setup(m => m.Expression).Returns(Components.Expression); mockComSet.As <IQueryable <Component> >().Setup(m => m.ElementType).Returns(Components.ElementType); mockComSet.As <IQueryable <Component> >().Setup(m => m.GetEnumerator()).Returns(Components.GetEnumerator()); Mock <DatabaseContext> mockContext = new Mock <DatabaseContext>(); mockContext.Setup(x => x.Components).Returns(mockComSet.Object); var controller = new ComponentsController(mockContext.Object); var vModel = new CreateComponentViewmodel(); vModel.Component = new Component(); vModel.Component.ComponentName = "TEST"; vModel.SpecificComponentListAsJson = "[{'ComponentNumber':'1','SerieNr':'a','LoanInformation':null},{'ComponentNumber':'2','SerieNr':'b','LoanInformation':null}]"; var result = controller.Edit(vModel) as RedirectToRouteResult; mockContext.Verify(x => x.SaveChanges(), Times.Exactly(1)); Assert.IsTrue(result.RouteValues.ContainsValue("Index")); }
public void About() { // Arrange ComponentsController controller = new ComponentsController(); // Act ViewResult result = controller.Alerts() as ViewResult; // Assert Assert.AreEqual("Alerts go here.", result.ViewBag.Message); }
public void Index() { // Arrange ComponentsController controller = new ComponentsController(); // Act ViewResult result = controller.Index() as ViewResult; // Assert Assert.IsNotNull(result); }
public void DeleteTest() { var account = TestHelper.GetTestAccount(); var user = TestHelper.GetAccountAdminUser(account.Id); // Создадим компонент var componentInfo = account.CreateTestApplicationComponent(); // Удалим его using (var controller = new ComponentsController(account.Id, user.Id)) { controller.Delete(componentInfo.Id, "fake"); } // Проверим, что компонент удалился var accountContext = AccountDbContext.CreateFromAccountId(account.Id); var repository = accountContext.GetComponentRepository(); var component = repository.GetByIdOrNull(componentInfo.Id); Assert.NotNull(component); Assert.True(component.IsDeleted); }