/// <summary> /// Create endpoint registry /// </summary> /// <param name="iothub"></param> /// <param name="broker"></param> /// <param name="logger"></param> /// <param name="activator"></param> /// <param name="certificates"></param> /// <param name="supervisors"></param> /// <param name="serializer"></param> /// <param name="events"></param> public EndpointRegistry(IIoTHubTwinServices iothub, IJsonSerializer serializer, IRegistryEventBroker <IEndpointRegistryListener> broker, IActivationServices <EndpointRegistrationModel> activator, ICertificateServices <EndpointRegistrationModel> certificates, ISupervisorRegistry supervisors, ILogger logger, IRegistryEvents <IApplicationRegistryListener> events = null) { _iothub = iothub ?? throw new ArgumentNullException(nameof(iothub)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _certificates = certificates ?? throw new ArgumentNullException(nameof(certificates)); _supervisors = supervisors ?? throw new ArgumentNullException(nameof(supervisors)); _activator = activator ?? throw new ArgumentNullException(nameof(activator)); _serializer = serializer ?? throw new ArgumentNullException(nameof(serializer)); _broker = broker ?? throw new ArgumentNullException(nameof(broker)); // Register for application registry events _unregister = events?.Register(this); }
public void ListAllSupervisorsUsingQuery() { CreateSupervisorFixtures(out var site, out var supervisors, out var modules); using (var mock = AutoMock.GetLoose(builder => { var hub = IoTHubServices.Create(modules); builder.RegisterType <NewtonSoftJsonConverters>().As <IJsonSerializerConverterProvider>(); builder.RegisterType <NewtonSoftJsonSerializer>().As <IJsonSerializer>(); builder.RegisterInstance(hub).As <IIoTHubTwinServices>(); })) { ISupervisorRegistry service = mock.Create <SupervisorRegistry>(); // Run var records = service.QuerySupervisorsAsync(null, false, null).Result; // Assert Assert.True(supervisors.IsSameAs(records.Items)); } }
public void GetSupervisorThatExists() { CreateSupervisorFixtures(out var site, out var supervisors, out var modules); using (var mock = AutoMock.GetLoose(builder => { var hub = IoTHubServices.Create(modules); builder.RegisterType <NewtonSoftJsonConverters>().As <IJsonSerializerConverterProvider>(); builder.RegisterType <NewtonSoftJsonSerializer>().As <IJsonSerializer>(); builder.RegisterInstance(hub).As <IIoTHubTwinServices>(); })) { ISupervisorRegistry service = mock.Create <SupervisorRegistry>(); // Run var result = service.GetSupervisorAsync(supervisors.First().Id, false).Result; // Assert Assert.True(result.IsSameAs(supervisors.First())); } }
public void GetSupervisorThatDoesNotExist() { CreateSupervisorFixtures(out var site, out var supervisors, out var modules); using (var mock = AutoMock.GetLoose(builder => { var hub = IoTHubServices.Create(modules); builder.RegisterType <NewtonSoftJsonConverters>().As <IJsonSerializerConverterProvider>(); builder.RegisterType <NewtonSoftJsonSerializer>().As <IJsonSerializer>(); builder.RegisterInstance(hub).As <IIoTHubTwinServices>(); })) { ISupervisorRegistry service = mock.Create <SupervisorRegistry>(); // Run var t = service.GetSupervisorAsync("test", false); // Assert Assert.NotNull(t.Exception); Assert.IsType <AggregateException>(t.Exception); Assert.IsType <ResourceNotFoundException>(t.Exception.InnerException); } }
public void QuerySupervisorsByNoneExistantSiteId() { CreateSupervisorFixtures(out var site, out var supervisors, out var modules, true); using (var mock = AutoMock.GetLoose(builder => { var hub = IoTHubServices.Create(modules); builder.RegisterType <NewtonSoftJsonConverters>().As <IJsonSerializerConverterProvider>(); builder.RegisterType <NewtonSoftJsonSerializer>().As <IJsonSerializer>(); builder.RegisterInstance(hub).As <IIoTHubTwinServices>(); })) { ISupervisorRegistry service = mock.Create <SupervisorRegistry>(); // Run var records = service.QuerySupervisorsAsync(new SupervisorQueryModel { SiteId = "test" }, false, null).Result; // Assert Assert.True(records.Items.Count == 0); } }
/// <summary> /// Create controller for supervisor services /// </summary> /// <param name="supervisors"></param> /// <param name="diagnostics"></param> public SupervisorsController(ISupervisorRegistry supervisors, ISupervisorDiagnostics diagnostics) { _supervisors = supervisors; _diagnostics = diagnostics; }