예제 #1
0
        public void ListAllSupervisorsUsingQuery()
        {
            CreateSupervisorFixtures(out var site, out var supervisors, out var modules);

            using (var mock = AutoMock.GetLoose()) {
                mock.Provide <IIoTHubTwinServices>(IoTHubServices.Create(modules));
                ISupervisorRegistry service = mock.Create <SupervisorRegistry>();

                // Run
                var records = service.QuerySupervisorsAsync(null, false, null).Result;

                // Assert
                Assert.True(supervisors.IsSameAs(records.Items));
            }
        }
예제 #2
0
        public void QuerySupervisorsByDiscoveryMode()
        {
            CreateSupervisorFixtures(out var site, out var supervisors, out var modules);

            using (var mock = AutoMock.GetLoose()) {
                mock.Provide <IIoTHubTwinServices>(IoTHubServices.Create(modules));
                ISupervisorRegistry service = mock.Create <SupervisorRegistry>();

                // Run
                var records = service.QuerySupervisorsAsync(new SupervisorQueryModel {
                    Discovery = DiscoveryMode.Network
                }, false, null).Result;

                // Assert
                Assert.True(records.Items.Count == supervisors.Count(x => x.Discovery == DiscoveryMode.Network));
            }
        }
예제 #3
0
        public void QuerySupervisorsByNoneExistantSiteId()
        {
            CreateSupervisorFixtures(out var site, out var supervisors, out var modules, true);

            using (var mock = AutoMock.GetLoose()) {
                mock.Provide <IIoTHubTwinServices>(IoTHubServices.Create(modules));
                ISupervisorRegistry service = mock.Create <SupervisorRegistry>();

                // Run
                var records = service.QuerySupervisorsAsync(new SupervisorQueryModel {
                    SiteId = "test"
                }, false, null).Result;

                // Assert
                Assert.True(records.Items.Count == 0);
            }
        }
예제 #4
0
        /// <summary>
        /// Query all supervisors
        /// </summary>
        /// <param name="service"></param>
        /// <param name="query"></param>
        /// <param name="onlyServerState"></param>
        /// <param name="ct"></param>
        /// <returns></returns>
        public static async Task <List <SupervisorModel> > QueryAllSupervisorsAsync(
            this ISupervisorRegistry service, SupervisorQueryModel query,
            bool onlyServerState = false, CancellationToken ct = default)
        {
            var supervisors = new List <SupervisorModel>();
            var result      = await service.QuerySupervisorsAsync(query, onlyServerState, null, ct);

            supervisors.AddRange(result.Items);
            while (result.ContinuationToken != null)
            {
                result = await service.ListSupervisorsAsync(result.ContinuationToken,
                                                            onlyServerState, null, ct);

                supervisors.AddRange(result.Items);
            }
            return(supervisors);
        }
예제 #5
0
        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));
            }
        }
예제 #6
0
        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);
            }
        }