Example #1
0
        static void StartSimulator()
        {
            // Dependencies to inject into the Bulk Device Tester
            var logger           = new TraceLogger();
            var configProvider   = new ConfigurationProvider();
            var telemetryFactory = new CoolerTelemetryFactory(logger);

            var serializer       = new JsonSerialize();
            var transportFactory = new IotHubTransportFactory(serializer, logger, configProvider);

            IVirtualDeviceStorage deviceStorage = null;
            var useConfigforDeviceList          = Convert.ToBoolean(configProvider.GetConfigurationSettingValueOrDefault("UseConfigForDeviceList", "False"));

            if (useConfigforDeviceList)
            {
                deviceStorage = new AppConfigRepository(configProvider, logger);
            }
            else
            {
                deviceStorage = new VirtualDeviceTableStorage(configProvider);
            }

            IDeviceFactory deviceFactory = new CoolerDeviceFactory();

            // Start Simulator
            Trace.TraceInformation("Starting Simulator");
            var tester = new BulkDeviceTester(transportFactory, logger, configProvider, telemetryFactory, deviceFactory, deviceStorage);

            Task.Run(() => tester.ProcessDevicesAsync(cancellationTokenSource.Token), cancellationTokenSource.Token);
        }
Example #2
0
        private async Task RunAsync(CancellationToken cancellationToken)
        {
            var startTime = DateTime.Now;

            // Dependencies to inject into the Bulk Device Tester
            var logger           = new TraceLogger();
            var configProvider   = new ConfigurationProvider();
            var telemetryFactory = new CoolerTelemetryFactory(logger);

            var serializer       = new JsonSerialize();
            var transportFactory = new IotHubTransportFactory(serializer, logger, configProvider);

            IVirtualDeviceStorage deviceStorage = null;
            var useConfigforDeviceList          = Convert.ToBoolean(configProvider.GetConfigurationSettingValueOrDefault("UseConfigForDeviceList", "False"));

            if (useConfigforDeviceList)
            {
                deviceStorage = new AppConfigRepository(configProvider, logger);
            }
            else
            {
                deviceStorage = new VirtualDeviceTableStorage(configProvider);
            }

            IDeviceFactory deviceFactory = new CoolerDeviceFactory();

            var tester = new BulkDeviceTester(transportFactory, logger, configProvider, telemetryFactory, deviceFactory, deviceStorage);
            await tester.ProcessDevicesAsync(cancellationToken);

            Trace.TraceInformation("");
            Trace.TraceInformation("*********************************************************************************************************************");
            Trace.TraceInformation("ELAPSED TIME: {0}ms", (DateTime.Now - startTime).TotalMilliseconds);
            Trace.TraceInformation("*********************************************************************************************************************");
            Trace.TraceInformation("");
        }
 public VirtualDeviceTableStorageTests()
 {
     _fixture = new Fixture();
     var configProviderMock = new Mock<IConfigurationProvider>();
     configProviderMock.Setup(x => x.GetConfigurationSettingValue(It.IsNotNull<string>()))
         .ReturnsUsingFixture(_fixture);
     _tableStorageClientMock = new Mock<IAzureTableStorageClient>();
     var tableStorageClientFactory = new AzureTableStorageClientFactory(_tableStorageClientMock.Object);
     _virtualDeviceStorage = new VirtualDeviceTableStorage(configProviderMock.Object, tableStorageClientFactory);
 }
 public DataInitializer(
     IIotHubRepository iotHubRepository,
     IVirtualDeviceStorage virtualDeviceStorage,
     ISecurityKeyGenerator securityKeyGenerator,
     IConfigurationProvider configProvider)
 {
     _iotHubRepository = iotHubRepository;
     _virtualDeviceStorage = virtualDeviceStorage;
     _securityKeyGenerator = securityKeyGenerator;
     _configProvider = configProvider;
 }
Example #5
0
 public DeviceLogic(IIotHubRepository iotHubRepository, IDeviceRegistryCrudRepository deviceRegistryCrudRepository,
                    IDeviceRegistryListRepository deviceRegistryListRepository, IVirtualDeviceStorage virtualDeviceStorage,
                    ISecurityKeyGenerator securityKeyGenerator, IConfigurationProvider configProvider)
 {
     _iotHubRepository             = iotHubRepository;
     _deviceRegistryCrudRepository = deviceRegistryCrudRepository;
     _deviceRegistryListRepository = deviceRegistryListRepository;
     _virtualDeviceStorage         = virtualDeviceStorage;
     _securityKeyGenerator         = securityKeyGenerator;
     _configProvider = configProvider;
 }
 public DataInitializer(
     IIotHubRepository iotHubRepository,
     IVirtualDeviceStorage virtualDeviceStorage,
     ISecurityKeyGenerator securityKeyGenerator,
     IConfigurationProvider configProvider)
 {
     _iotHubRepository     = iotHubRepository;
     _virtualDeviceStorage = virtualDeviceStorage;
     _securityKeyGenerator = securityKeyGenerator;
     _configProvider       = configProvider;
 }
 public DeviceLogic(IIotHubRepository iotHubRepository, IDeviceRegistryCrudRepository deviceRegistryCrudRepository, 
     IDeviceRegistryListRepository deviceRegistryListRepository, IVirtualDeviceStorage virtualDeviceStorage, 
     ISecurityKeyGenerator securityKeyGenerator, IConfigurationProvider configProvider, IDeviceRulesLogic deviceRulesLogic)
 {
     _iotHubRepository = iotHubRepository;
     _deviceRegistryCrudRepository = deviceRegistryCrudRepository;
     _deviceRegistryListRepository = deviceRegistryListRepository;
     _virtualDeviceStorage = virtualDeviceStorage;
     _securityKeyGenerator = securityKeyGenerator;
     _configProvider = configProvider;
     _deviceRulesLogic = deviceRulesLogic;
 }
Example #8
0
 public DeviceLogic(IIotHubRepository iotHubRepository, IDeviceRegistryCrudRepository deviceRegistryCrudRepository,
                    IDeviceRegistryListRepository deviceRegistryListRepository, IVirtualDeviceStorage virtualDeviceStorage,
                    ISecurityKeyGenerator securityKeyGenerator, IConfigurationProvider configProvider, IDeviceRulesLogic deviceRulesLogic)
 {
     this._iotHubRepository             = iotHubRepository;
     this._deviceRegistryCrudRepository = deviceRegistryCrudRepository;
     this._deviceRegistryListRepository = deviceRegistryListRepository;
     this._virtualDeviceStorage         = virtualDeviceStorage;
     this._securityKeyGenerator         = securityKeyGenerator;
     this._configProvider   = configProvider;
     this._deviceRulesLogic = deviceRulesLogic;
 }
        public VirtualDeviceTableStorageTests()
        {
            _fixture = new Fixture();
            var configProviderMock = new Mock <IConfigurationProvider>();

            configProviderMock.Setup(x => x.GetConfigurationSettingValue(It.IsNotNull <string>()))
            .ReturnsUsingFixture(_fixture);
            _tableStorageClientMock = new Mock <IAzureTableStorageClient>();
            var tableStorageClientFactory = new AzureTableStorageClientFactory(_tableStorageClientMock.Object);

            _virtualDeviceStorage = new VirtualDeviceTableStorage(configProviderMock.Object, tableStorageClientFactory);
        }
        public BulkDeviceTester(ITransportFactory transportFactory, ILogger logger, IConfigurationProvider configProvider, 
            ITelemetryFactory telemetryFactory, IDeviceFactory deviceFactory, IVirtualDeviceStorage virtualDeviceStorage)
        {
            _transportFactory = transportFactory;
            _logger = logger;
            _configProvider = configProvider;
            _telemetryFactory = telemetryFactory;
            _deviceFactory = deviceFactory;
            _deviceStorage = virtualDeviceStorage;
            _deviceList = new List<InitialDeviceConfig>();

            _devicePollIntervalSeconds = Convert.ToInt32(_configProvider.GetConfigurationSettingValueOrDefault("DevicePollIntervalSeconds", DEFAULT_DEVICE_POLL_INTERVAL_SECONDS.ToString()));
        }
        public BulkDeviceTester(ITransportFactory transportFactory, ILogger logger, IConfigurationProvider configProvider,
                                ITelemetryFactory telemetryFactory, IDeviceFactory deviceFactory, IVirtualDeviceStorage virtualDeviceStorage)
        {
            _transportFactory = transportFactory;
            _logger           = logger;
            _configProvider   = configProvider;
            _telemetryFactory = telemetryFactory;
            _deviceFactory    = deviceFactory;
            _deviceStorage    = virtualDeviceStorage;
            _deviceList       = new List <InitialDeviceConfig>();

            _devicePollIntervalSeconds = Convert.ToInt32(_configProvider.GetConfigurationSettingValueOrDefault("DevicePollIntervalSeconds", DEFAULT_DEVICE_POLL_INTERVAL_SECONDS.ToString()));
        }
 public DeviceLogic(IIotHubRepository iotHubRepository, IDeviceRegistryCrudRepository deviceRegistryCrudRepository,
                    IDeviceRegistryListRepository deviceRegistryListRepository, IVirtualDeviceStorage virtualDeviceStorage,
                    ISecurityKeyGenerator securityKeyGenerator, IConfigurationProvider configProvider, IDeviceRulesLogic deviceRulesLogic,
                    INameCacheLogic nameCacheLogic, IDeviceListFilterRepository deviceListFilterRepository)
 {
     _iotHubRepository             = iotHubRepository;
     _deviceRegistryCrudRepository = deviceRegistryCrudRepository;
     _deviceRegistryListRepository = deviceRegistryListRepository;
     _virtualDeviceStorage         = virtualDeviceStorage;
     _securityKeyGenerator         = securityKeyGenerator;
     _configProvider             = configProvider;
     _deviceRulesLogic           = deviceRulesLogic;
     _nameCacheLogic             = nameCacheLogic;
     _deviceListFilterRepository = deviceListFilterRepository;
 }
Example #13
0
        public BulkDeviceTester(ITransportFactory transportFactory, ILogger logger, IConfigurationProvider configProvider,
                                ITelemetryFactory telemetryFactory, IDeviceFactory deviceFactory, IVirtualDeviceStorage virtualDeviceStorage)
        {
            _transportFactory = transportFactory;
            _logger           = logger;
            _configProvider   = configProvider;
            _telemetryFactory = telemetryFactory;
            _deviceFactory    = deviceFactory;
            _deviceStorage    = virtualDeviceStorage;

            string pollingIntervalString = _configProvider.GetConfigurationSettingValueOrDefault(
                "DevicePollIntervalSeconds",
                DEFAULT_DEVICE_POLL_INTERVAL_SECONDS.ToString(CultureInfo.InvariantCulture));

            _devicePollIntervalSeconds = Convert.ToInt32(pollingIntervalString, CultureInfo.InvariantCulture);
        }
        public DeviceManager(ILogger logger, CancellationToken token)
        {
            _logger = logger;

            _token = token;
            _mutex = new Mutex(true, mutexId);
            _cancellationTokens = new Dictionary<string, CancellationTokenSource>();
            _devices = new Dictionary<string, IDevice >();

           //   Sensors = new SensorsCollection<AbstractSensor>(); //We may need leave only one sensor collection

            _configProvider = new ConfigurationProvider();
            _deviceConfiguration = new DeviceConfigTableStorage(_configProvider);

            var serializer = new JsonSerialize();
            _transportFactory = new IotHubTransportFactory(serializer, _logger, _configProvider);

            _telemetryFactory = new WeatherShieldTelemetryFactory(_logger);

            RunReadSensorsThread();
        }
 public DeviceLogicWithIoTHubDM(IIotHubRepository iotHubRepository, IDeviceRegistryCrudRepository deviceRegistryCrudRepository,
                                IDeviceRegistryListRepository deviceRegistryListRepository, IVirtualDeviceStorage virtualDeviceStorage,
                                ISecurityKeyGenerator securityKeyGenerator, IConfigurationProvider configProvider, IDeviceRulesLogic deviceRulesLogic,
                                INameCacheLogic nameCacheLogic, IDeviceListFilterRepository deviceListFilterRepository) :
     base(iotHubRepository, deviceRegistryCrudRepository, deviceRegistryListRepository, virtualDeviceStorage, securityKeyGenerator, configProvider, deviceRulesLogic, nameCacheLogic, deviceListFilterRepository)
 {
     _configProvider = configProvider;
 }