private static void StartSimulator() { // Dependencies to inject into the Bulk Device Tester var logger = new TraceLogger(); var configProvider = new ConfigurationProvider(); var tableStorageClientFactory = new AzureTableStorageClientFactory(); var telemetryFactory = new CoolerTelemetryFactory(logger); var deviceFactory = new CoolerDeviceFactory(); var transportFactory = new IotHubTransportFactory(logger, configProvider); IVirtualDeviceStorage deviceStorage; var useConfigforDeviceList = Convert.ToBoolean(configProvider.GetConfigurationSettingValueOrDefault("UseConfigForDeviceList", "False"), CultureInfo.InvariantCulture); if (useConfigforDeviceList) { deviceStorage = new AppConfigRepository(configProvider, logger); } else { deviceStorage = new VirtualDeviceTableStorage(configProvider, tableStorageClientFactory); } // Start Simulator Trace.TraceInformation("Starting Simulator"); var tester = new BulkDeviceTester(transportFactory, logger, configProvider, telemetryFactory, deviceFactory, deviceStorage); Task.Run(() => tester.ProcessDevicesAsync(CancellationTokenSource.Token), CancellationTokenSource.Token); }
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 CoolerTelemetryFactoryTests() { this._loggerMock = new Mock <ILogger>(); this.factory = new CoolerTelemetryFactory(this._loggerMock.Object); this._fixture = new Fixture(); }