/// <summary> /// Configuration constructor /// </summary> /// <param name="configuration"></param> public Config(IConfiguration configuration) : base(configuration) { _sb = new ServiceBusConfig(configuration); _hub = new IoTHubConfig(configuration); _id = new IdentityTokenUpdaterConfig(configuration); _sync = new ActivationSyncConfig(configuration); _edge = new JobOrchestratorEndpointConfig(configuration); }
/// <summary> /// Setup mock /// </summary> /// <param name="ioTHubTwinServicesMock"></param> /// <param name="configuration"></param> private static AutoMock Setup( Mock <IIoTHubTwinServices> ioTHubTwinServicesMock = null, IConfiguration configuration = null ) { var mock = AutoMock.GetLoose(builder => { // Use empty configuration root if one is not passed. var conf = configuration ?? new ConfigurationBuilder() .AddInMemoryCollection() .Build(); // Setup configuration builder.RegisterInstance(conf) .As <IConfiguration>() .SingleInstance(); var syncConfig = new JobOrchestratorEndpointConfig(conf); builder.RegisterInstance(syncConfig) .AsImplementedInterfaces() .SingleInstance(); // Setup JSON serializer builder.RegisterType <NewtonSoftJsonConverters>() .As <IJsonSerializerConverterProvider>(); builder.RegisterType <NewtonSoftJsonSerializer>() .As <IJsonSerializer>(); // Setup IIoTHubTwinServices mock if (ioTHubTwinServicesMock is null) { var ioTHubTwinServices = new Mock <IIoTHubTwinServices>(); ioTHubTwinServices .Setup(e => e.QueryAsync(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <int?>(), It.IsAny <CancellationToken>())) .Returns((string query, string continuation, int?pageSize, CancellationToken ct) => Task.FromResult(new QueryResultModel())); ioTHubTwinServices .Setup(e => e.PatchAsync(It.IsAny <DeviceTwinModel>(), It.IsAny <bool>(), It.IsAny <CancellationToken>())) .Returns((DeviceTwinModel device, bool force, CancellationToken ct) => Task.FromResult(new DeviceTwinModel())); builder.RegisterMock(ioTHubTwinServices); } else { builder.RegisterMock(ioTHubTwinServicesMock); } builder.RegisterType <JobOrchestratorEndpointSync>() .AsSelf();; }); return(mock); }