/// <summary> /// Create client /// </summary> /// <param name="endpoints"></param> /// <param name="jobs"></param> /// <param name="serializer"></param> public PublisherJobClient(IEndpointRegistry endpoints, IJobScheduler jobs, IJobSerializer serializer) { _serializer = serializer ?? throw new ArgumentNullException(nameof(serializer)); _endpoints = endpoints ?? throw new ArgumentNullException(nameof(endpoints)); _jobs = jobs ?? throw new ArgumentNullException(nameof(jobs)); }
/// <summary> /// Create client /// </summary> /// <param name="endpoints"></param> /// <param name="jobs"></param> /// <param name="serializer"></param> /// <param name="config"></param> public PublisherJobService(IEndpointRegistry endpoints, IJobScheduler jobs, IJobSerializer serializer, IPublishServicesConfig config) { _serializer = serializer ?? throw new ArgumentNullException(nameof(serializer)); _endpoints = endpoints ?? throw new ArgumentNullException(nameof(endpoints)); _jobs = jobs ?? throw new ArgumentNullException(nameof(jobs)); _config = config ?? throw new ArgumentNullException(nameof(config)); }
/// <summary> /// Create certificate request /// </summary> /// <param name="applications"></param> /// <param name="supervisors"></param> /// <param name="endpoints"></param> /// <param name="groups"></param> public EntityInfoResolver(IApplicationRegistry applications, ISupervisorRegistry supervisors, IEndpointRegistry endpoints, IGroupRepository groups) { _applications = applications ?? throw new ArgumentNullException(nameof(applications)); _supervisors = supervisors ?? throw new ArgumentNullException(nameof(supervisors)); _endpoints = endpoints ?? throw new ArgumentNullException(nameof(endpoints)); _groups = groups ?? throw new ArgumentNullException(nameof(groups)); }
public SimpleRabbitMQTopology(IEndpointRegistry endpointRegistry, ConnectionFactory connectionFactory) { _endpointRegistry = endpointRegistry; _connectionFactory = connectionFactory; this._eventsExchange = new RabbitMQExchangeEndpoint(EVENTS_EXCHANGE, "direct", this._connectionFactory); this._endpointRegistry.Add(this._eventsExchange); this._commandsExchange = new RabbitMQExchangeEndpoint(COMMANDS_EXCHANGE, "direct", this._connectionFactory); this._endpointRegistry.Add(this._commandsExchange); }
/// <summary> /// Find endpoint. /// </summary> /// <param name="service"></param> /// <param name="endpointId"></param> /// <param name="ct"></param> /// <returns></returns> public static async Task <EndpointInfoModel> FindEndpointAsync( this IEndpointRegistry service, string endpointId, CancellationToken ct = default) { try { return(await service.GetEndpointAsync(endpointId, false, ct)); } catch (ResourceNotFoundException) { return(null); } }
public EndpointUpdateFrequencyGuard(IEndpointRegistry endpointRegistry, IContinuousTaskExecutor<Endpoint> taskExecutor, IMonitorSettings monitorSettings, ITimeCoordinator timeCoordinator) { _endpointRegistry = endpointRegistry; _taskExecutor = taskExecutor; _monitorSettings = monitorSettings; _timeCoordinator = timeCoordinator; _maxEndpointDelay = GetEndpointMaxUpdateDelay(); _endpointRegistry.EndpointAdded += AddEndpoint; foreach (var endpoint in _endpointRegistry.Endpoints) AddEndpoint(endpoint); }
public HealthMonitor(IEndpointRegistry registry, IMonitorSettings settings) { _registry = registry; _settings = settings; _registry.NewEndpointAdded += HandleNewEndpoint; _cancellation = new CancellationTokenSource(); foreach (var endpoint in _registry.Endpoints) _tasks.AddOrUpdate(endpoint, CreateTaskFor, (e, currentTask) => currentTask); _monitor = new Thread(Start) { Name = "Monitor" }; _monitor.Start(); }
public EndpointUpdateFrequencyGuard(IEndpointRegistry endpointRegistry, IContinuousTaskExecutor <Endpoint> taskExecutor, IMonitorSettings monitorSettings, ITimeCoordinator timeCoordinator) { _endpointRegistry = endpointRegistry; _taskExecutor = taskExecutor; _monitorSettings = monitorSettings; _timeCoordinator = timeCoordinator; _maxEndpointDelay = GetEndpointMaxUpdateDelay(); _endpointRegistry.EndpointAdded += AddEndpoint; foreach (var endpoint in _endpointRegistry.Endpoints) { AddEndpoint(endpoint); } }
public void ListAllTwinsUsingQuery() { CreateEndpointFixtures(out var site, out var super, out var endpoints, out var devices); using (var mock = AutoMock.GetLoose()) { mock.Provide <IIoTHubTwinServices>(IoTHubServices.Create(devices)); IEndpointRegistry service = mock.Create <EndpointRegistry>(); // Run var records = service.QueryEndpointsAsync(null, false, null).Result; // Assert Assert.True(endpoints.IsSameAs(records.Items)); } }
/// <summary> /// List all endpoints /// </summary> /// <param name="service"></param> /// <param name="onlyServerState"></param> /// <returns></returns> public static async Task <List <EndpointInfoModel> > ListAllEndpointsAsync( this IEndpointRegistry service, bool onlyServerState = false) { var registrations = new List <EndpointInfoModel>(); var result = await service.ListEndpointsAsync(null, onlyServerState); registrations.AddRange(result.Items); while (result.ContinuationToken != null) { result = await service.ListEndpointsAsync(result.ContinuationToken, onlyServerState); registrations.AddRange(result.Items); } return(registrations); }
public void GetTwinThatDoesNotExist() { CreateEndpointFixtures(out var site, out var super, out var endpoints, out var devices); using (var mock = AutoMock.GetLoose()) { mock.Provide <IIoTHubTwinServices>(IoTHubServices.Create(devices)); IEndpointRegistry service = mock.Create <EndpointRegistry>(); // Run var t = service.GetEndpointAsync("test", false); // Assert Assert.NotNull(t.Exception); Assert.IsType <AggregateException>(t.Exception); Assert.IsType <ResourceNotFoundException>(t.Exception.InnerException); } }
public void QueryTwinsBySecurityPolicyDifferentCase() { CreateEndpointFixtures(out var site, out var super, out var endpoints, out var devices); using (var mock = AutoMock.GetLoose()) { mock.Provide <IIoTHubTwinServices>(IoTHubServices.Create(devices)); IEndpointRegistry service = mock.Create <EndpointRegistry>(); // Run var records = service.QueryEndpointsAsync(new EndpointRegistrationQueryModel { SecurityPolicy = endpoints.First().Registration.Endpoint.SecurityPolicy.ToUpperInvariant() }, false, null).Result; // Assert Assert.True(records.Items.Count == 0); } }
/// <summary> /// Find endpoints using query /// </summary> /// <param name="service"></param> /// <param name="query"></param> /// <param name="onlyServerState"></param> /// <param name="ct"></param> /// <returns></returns> public static async Task <List <EndpointInfoModel> > QueryAllEndpointsAsync( this IEndpointRegistry service, EndpointRegistrationQueryModel query, bool onlyServerState = false, CancellationToken ct = default) { var registrations = new List <EndpointInfoModel>(); var result = await service.QueryEndpointsAsync(query, onlyServerState, null, ct); registrations.AddRange(result.Items); while (result.ContinuationToken != null) { result = await service.ListEndpointsAsync(result.ContinuationToken, onlyServerState, null, ct); registrations.AddRange(result.Items); } return(registrations); }
public void QueryTwinsBySignSecurityMode() { CreateEndpointFixtures(out var site, out var super, out var endpoints, out var devices); var count = endpoints.Count(x => x.Registration.Endpoint.SecurityMode == SecurityMode.Sign); using (var mock = AutoMock.GetLoose()) { mock.Provide <IIoTHubTwinServices>(IoTHubServices.Create(devices)); IEndpointRegistry service = mock.Create <EndpointRegistry>(); // Run var records = service.QueryEndpointsAsync(new EndpointRegistrationQueryModel { SecurityMode = SecurityMode.Sign }, false, null).Result; // Assert Assert.Equal(count, records.Items.Count); } }
public void GetTwinThatExists() { CreateEndpointFixtures(out var site, out var super, out var endpoints, out var devices); var first = endpoints.First(); var id = EndpointInfoModelEx.CreateEndpointId(first.ApplicationId, first.Registration.EndpointUrl, first.Registration.Endpoint.SecurityMode, first.Registration.Endpoint.SecurityPolicy); using (var mock = AutoMock.GetLoose()) { mock.Provide <IIoTHubTwinServices>(IoTHubServices.Create(devices)); IEndpointRegistry service = mock.Create <EndpointRegistry>(); // Run var result = service.GetEndpointAsync(id, false).Result; // Assert Assert.True(result.IsSameAs(endpoints.First())); } }
public EndpointMonitor(IEndpointRegistry registry, IHealthSampler sampler, IMonitorSettings settings) { _registry = registry; _sampler = sampler; _settings = settings; _registry.NewEndpointAdded += HandleNewEndpoint; _cancellation = new CancellationTokenSource(); foreach (var endpoint in _registry.Endpoints) { _tasks.AddOrUpdate(endpoint, CreateTaskFor, (e, currentTask) => currentTask); } _monitor = new Thread(Start) { Name = "Monitor" }; _monitor.Start(); }
public void ListAllTwinsUsingQuery() { CreateEndpointFixtures(out var site, out var super, out var endpoints, out var devices); using (var mock = AutoMock.GetLoose(builder => { var hub = IoTHubServices.Create(devices); builder.RegisterType <NewtonSoftJsonConverters>().As <IJsonSerializerConverterProvider>(); builder.RegisterType <NewtonSoftJsonSerializer>().As <IJsonSerializer>(); builder.RegisterInstance(hub).As <IIoTHubTwinServices>(); })) { IEndpointRegistry service = mock.Create <EndpointRegistry>(); // Run var records = service.QueryEndpointsAsync(null, false, null).Result; // Assert Assert.True(endpoints.IsSameAs(records.Items)); } }
public void GetTwinThatDoesNotExist() { CreateEndpointFixtures(out var site, out var super, out var endpoints, out var devices); using (var mock = AutoMock.GetLoose(builder => { var hub = IoTHubServices.Create(devices); builder.RegisterType <NewtonSoftJsonConverters>().As <IJsonSerializerConverterProvider>(); builder.RegisterType <NewtonSoftJsonSerializer>().As <IJsonSerializer>(); builder.RegisterInstance(hub).As <IIoTHubTwinServices>(); })) { IEndpointRegistry service = mock.Create <EndpointRegistry>(); // Run var t = service.GetEndpointAsync("test", false); // Assert Assert.NotNull(t.Exception); Assert.IsType <AggregateException>(t.Exception); Assert.IsType <ResourceNotFoundException>(t.Exception.InnerException); } }
public void QueryTwinsBySecurityPolicyDifferentCase() { CreateEndpointFixtures(out var site, out var super, out var endpoints, out var devices); using (var mock = AutoMock.GetLoose(builder => { var hub = IoTHubServices.Create(devices); builder.RegisterType <NewtonSoftJsonConverters>().As <IJsonSerializerConverterProvider>(); builder.RegisterType <NewtonSoftJsonSerializer>().As <IJsonSerializer>(); builder.RegisterInstance(hub).As <IIoTHubTwinServices>(); })) { IEndpointRegistry service = mock.Create <EndpointRegistry>(); // Run var records = service.QueryEndpointsAsync(new EndpointRegistrationQueryModel { SecurityPolicy = endpoints.First().Registration.Endpoint.SecurityPolicy.ToUpperInvariant() }, false, null).Result; // Assert Assert.True(records.Items.Count == 0); } }
public void QueryTwinsByDisconnectivity() { CreateEndpointFixtures(out var site, out var super, out var endpoints, out var devices); var count = endpoints.Count(x => !x.IsTwinConnected()); using (var mock = AutoMock.GetLoose(builder => { var hub = IoTHubServices.Create(devices); builder.RegisterType <NewtonSoftJsonConverters>().As <IJsonSerializerConverterProvider>(); builder.RegisterType <NewtonSoftJsonSerializer>().As <IJsonSerializer>(); builder.RegisterInstance(hub).As <IIoTHubTwinServices>(); })) { IEndpointRegistry service = mock.Create <EndpointRegistry>(); // Run var records = service.QueryEndpointsAsync(new EndpointRegistrationQueryModel { Connected = false }, false, null).Result; // Assert Assert.Equal(count, records.Items.Count); } }
public void GetTwinThatExists() { CreateEndpointFixtures(out var site, out var super, out var endpoints, out var devices); var first = endpoints.First(); var id = EndpointInfoModelEx.CreateEndpointId(first.ApplicationId, first.Registration.EndpointUrl, first.Registration.Endpoint.SecurityMode, first.Registration.Endpoint.SecurityPolicy); using (var mock = AutoMock.GetLoose(builder => { var hub = IoTHubServices.Create(devices); builder.RegisterType <NewtonSoftJsonConverters>().As <IJsonSerializerConverterProvider>(); builder.RegisterType <NewtonSoftJsonSerializer>().As <IJsonSerializer>(); builder.RegisterInstance(hub).As <IIoTHubTwinServices>(); })) { IEndpointRegistry service = mock.Create <EndpointRegistry>(); // Run var result = service.GetEndpointAsync(id, false).Result; // Assert Assert.True(result.IsSameAs(endpoints.First())); } }
/// <summary> /// Create controller for endpoints services /// </summary> /// <param name="endpoints"></param> public EndpointsController(IEndpointRegistry endpoints) { _endpoints = endpoints; }
public AuthenticationFilter(IEndpointRegistry endpointRegistry, ICredentialsProvider credentialsProvider) { CredentialsProvider = credentialsProvider; EndpointRegistry = endpointRegistry; }
/// <summary> /// Create controller for endpoints services /// </summary> /// <param name="endpoints"></param> /// <param name="activation"></param> public EndpointsController(IEndpointRegistry endpoints, IEndpointActivation activation) { _activation = activation; _endpoints = endpoints; }
public EndpointsController(IEndpointRegistry endpointRegistry, IEndpointStatsRepository endpointStatsRepository, ITimeCoordinator timeCoordinator) { _endpointRegistry = endpointRegistry; _endpointStatsRepository = endpointStatsRepository; _timeCoordinator = timeCoordinator; }
public EndpointsController(IEndpointRegistry endpointRegistry, IEndpointStatsRepository endpointStatsRepository, ITimeCoordinator timeCoordinator) { _endpointRegistry = endpointRegistry; _endpointStatsRepository = endpointStatsRepository; _timeCoordinator = timeCoordinator; }
public AuthenticationFilter(IEndpointRegistry endpointRegistry, ICredentialsProvider credentialsProvider) { CredentialsProvider = credentialsProvider; EndpointRegistry = endpointRegistry; }
public EndpointsController(IEndpointRegistry endpointRegistry, IEndpointStatsRepository endpointStatsRepository) { _endpointRegistry = endpointRegistry; _endpointStatsRepository = endpointStatsRepository; }
/// <summary> /// Create controller for endpoints services /// </summary> /// <param name="endpoints"></param> /// <param name="events"></param> public EndpointsController(IEndpointRegistry endpoints, IGroupRegistration events) { _endpoints = endpoints; _events = events; }
public EndpointsController(IEndpointRegistry endpointRegistry, IEndpointStatsRepository endpointStatsRepository) { _endpointRegistry = endpointRegistry; _endpointStatsRepository = endpointStatsRepository; }