/// <summary> /// Create fixture /// </summary> public TwinModuleFixture() { HubContainer = CreateHubContainer(); _hub = HubContainer.Resolve <IIoTHubTwinServices>(); DeviceId = Guid.NewGuid().ToString(); ModuleId = Guid.NewGuid().ToString(); // Create module identitity var twin = _hub.CreateOrUpdateAsync(new DeviceTwinModel { Id = DeviceId, ModuleId = ModuleId }).Result; _etag = twin.Etag; // Get device registration and create module host with controller _device = _hub.GetRegistrationAsync(twin.Id, twin.ModuleId).Result; _running = false; _module = new ModuleProcess(null, this); var tcs = new TaskCompletionSource <bool>(); _module.OnRunning += (_, e) => tcs.TrySetResult(e); _process = Task.Run(() => _module.RunAsync()); // Wait _running = tcs.Task.Result; }
/// <summary> /// Create fixture /// </summary> public TwinModuleFixture() { HubContainer = CreateHubContainer(); _hub = HubContainer.Resolve <IIoTHubTwinServices>(); DeviceId = Guid.NewGuid().ToString(); ModuleId = Guid.NewGuid().ToString(); // Create module identitity var twin = _hub.CreateAsync(new DeviceTwinModel { Id = DeviceId, ModuleId = ModuleId }).Result; _etag = twin.Etag; // Get device registration and create module host with controller _device = _hub.GetRegistrationAsync(twin.Id, twin.ModuleId).Result; _running = false; var configuration = new ConfigurationBuilder() .AddInMemoryCollection(new Dictionary <string, string> { { "EnableMetrics", "false" } }) .Build(); _module = new ModuleProcess(configuration, this); var tcs = new TaskCompletionSource <bool>(); _module.OnRunning += (_, e) => tcs.TrySetResult(e); _process = Task.Run(() => _module.RunAsync()); // Wait _running = tcs.Task.Result; }
/// <summary> /// Create fixture /// </summary> public TwinModuleFixture() { DeviceId = Utils.GetHostName(); ModuleId = Guid.NewGuid().ToString(); ServerPkiRootPath = Path.Combine(Directory.GetCurrentDirectory(), "pki", Guid.NewGuid().ToByteArray().ToBase16String()); ClientPkiRootPath = Path.Combine(Directory.GetCurrentDirectory(), "pki", Guid.NewGuid().ToByteArray().ToBase16String()); _config = new ConfigurationBuilder() .AddInMemoryCollection(new Dictionary <string, string> { { "EnableMetrics", "false" }, { "PkiRootPath", ClientPkiRootPath } }) .Build(); HubContainer = CreateHubContainer(); _hub = HubContainer.Resolve <IIoTHubTwinServices>(); // Create module identitity var twin = _hub.CreateOrUpdateAsync(new DeviceTwinModel { Id = DeviceId, ModuleId = ModuleId }).Result; _etag = twin.Etag; // Get device registration and create module host with controller _device = _hub.GetRegistrationAsync(twin.Id, twin.ModuleId).Result; _running = false; _module = new ModuleProcess(_config, this); var tcs = new TaskCompletionSource <bool>(); _module.OnRunning += (_, e) => tcs.TrySetResult(e); _process = Task.Run(() => _module.RunAsync()); // Wait _running = tcs.Task.Result; }