public CourseSearchServiceTests()
        {
            configuration = new ConfigurationBuilder()
                            .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
                            .Build();

            var courseSearchClientSettings = new CourseSearchClientSettings
            {
                CourseSearchSvcSettings           = configuration.GetSection("Configuration:CourseSearchClient:CourseSearchSvc").Get <CourseSearchSvcSettings>() ?? new CourseSearchSvcSettings(),
                CourseSearchAuditCosmosDbSettings = configuration.GetSection("Configuration:CourseSearchClient:CosmosAuditConnection").Get <CourseSearchAuditCosmosDbSettings>() ?? new CourseSearchAuditCosmosDbSettings(),
                PolicyOptions = configuration.GetSection("Configuration:CourseSearchClient:Policies").Get <PolicyOptions>() ?? new PolicyOptions(),
            };

            var serviceProvider = new ServiceCollection()
                                  .AddFindACourseServices(courseSearchClientSettings);

            serviceProvider.AddSingleton(sp =>
            {
                return(new MapperConfiguration(cfg =>
                {
                    cfg.AddProfile(typeof(FindACourseProfile));
                    cfg.AddProfile(typeof(TLevelDetailsProfile));
                }).CreateMapper());
            });

            var services = serviceProvider.BuildServiceProvider();

            findACourseClient = services.GetService <IFindACourseClient>();
            auditService      = services.GetService <IAuditService>();
            mapper            = services.GetService <IMapper>();
        }
        public CourseSearchServiceTests()
        {
            // Set the security protocol
            ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

            var builder = new ContainerBuilder();

            builder.Register(c =>
            {
                return(new CourseSearchClientSettings
                {
                    CourseSearchSvcSettings = new CourseSearchSvcSettings()
                    {
                        ServiceEndpoint = new Uri(this.GetConfig <string>(Constants.CourseSearchClientCourseSearchSvcServiceEndpoint)),
                        ApiKey = this.GetConfig <string>(Constants.CourseSearchClientCourseSearchSvcAPIKey),
                        SearchPageSize = this.GetConfig <string>(Constants.CourseSearchClientCourseSearchSvcSearchPageSize),
                        RequestTimeOutSeconds = this.GetConfig <int>(Constants.CourseSearchClientCourseSearchSvcRequestTimeOutSeconds),
                        TransientErrorsNumberOfRetries = this.GetConfig <int>(Constants.CourseSearchClientCourseSearchSvcTransientErrorsNumberOfRetries),
                    },
                    CourseSearchAuditCosmosDbSettings = new CourseSearchAuditCosmosDbSettings()
                    {
                        AccessKey = this.GetConfig <string>(Constants.CourseSearchClientCosmosAuditConnectionAccessKey),
                        EndpointUrl = new Uri(this.GetConfig <string>(Constants.CourseSearchClientCosmosAuditConnectionEndpointUrl)),
                        DatabaseId = this.GetConfig <string>(Constants.CourseSearchClientCosmosAuditConnectionDatabaseId),
                        CollectionId = this.GetConfig <string>(Constants.CourseSearchClientCosmosAuditConnectionCollectionId),
                        PartitionKey = this.GetConfig <string>(Constants.CourseSearchClientCosmosAuditConnectionPartitionKey),
                        Environment = this.GetConfig <string>(Constants.CourseSearchClientCosmosAuditConnectionEnvironment),
                    },
                });
            });

            builder.RegisterType <LoggerFactory>().As <ILoggerFactory>().SingleInstance();
            builder.RegisterGeneric(typeof(Logger <>)).As(typeof(ILogger <>)).SingleInstance();

            builder.RegisterFindACourseClientSdk();
            builder.Register(ctx => new MapperConfiguration(cfg =>
            {
                cfg.AddProfile <FindACourseProfile>();
            }));

            builder.Register(ctx => ctx.Resolve <MapperConfiguration>().CreateMapper()).As <IMapper>();

            this.container         = builder.Build();
            this.findACourseClient = this.container.Resolve <IFindACourseClient>();
            this.auditService      = this.container.Resolve <IAuditService>();
            this.mapper            = this.container.Resolve <IMapper>();
        }
        public FindACourseClientTests()
        {
            configuration = new ConfigurationBuilder()
                            .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
                            .Build();

            var courseSearchClientSettings = new CourseSearchClientSettings
            {
                CourseSearchSvcSettings           = configuration.GetSection("Configuration:CourseSearchClient:CourseSearchSvc").Get <CourseSearchSvcSettings>() ?? new CourseSearchSvcSettings(),
                CourseSearchAuditCosmosDbSettings = configuration.GetSection("Configuration:CourseSearchClient:CosmosAuditConnection").Get <CourseSearchAuditCosmosDbSettings>() ?? new CourseSearchAuditCosmosDbSettings(),
                PolicyOptions = configuration.GetSection("Configuration:CourseSearchClient:Policies").Get <PolicyOptions>() ?? new PolicyOptions(),
            };

            var serviceProvider = new ServiceCollection()
                                  .AddFindACourseServices(courseSearchClientSettings);

            var services = serviceProvider.BuildServiceProvider();

            findACourseClient = services.GetService <IFindACourseClient>();
        }
Esempio n. 4
0
 public CourseSearchApiService(IFindACourseClient findACourseClient, IAuditService auditService, IMapper mapper)
 {
     this.findACourseClient = findACourseClient;
     this.auditService      = auditService;
     this.mapper            = mapper;
 }