/// <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 IdentityTokenUpdaterConfig(conf);
                builder.RegisterInstance(syncConfig)
                .AsImplementedInterfaces()
                .SingleInstance();

                // Setup JSON serializer
                builder.RegisterType <NewtonSoftJsonConverters>()
                .As <IJsonSerializerConverterProvider>();
                builder.RegisterType <NewtonSoftJsonSerializer>()
                .As <IJsonSerializer>();

                // Setup IPasswordGenerator
                builder.RegisterType <PasswordGenerator>()
                .AsImplementedInterfaces()
                .SingleInstance();

                // 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 <TwinIdentityTokenUpdater>()
                .AsSelf();;
            });

            return(mock);
        }
Example #2
0
 /// <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);
 }
Example #3
0
 /// <summary>
 /// Configuration constructor
 /// </summary>
 /// <param name="configuration"></param>
 public Config(IConfiguration configuration) :
     base(configuration)
 {
     _hub     = new IoTHubConfig(configuration);
     _service = new IdentityTokenUpdaterConfig(configuration);
 }