Example #1
0
        public SportsRuApiFixture()
        {
            var logger = Mock.Of <ILogger <SportsRuApiService> >();
            var sportsRuApiSettings = new SportsRuApiSettings("https://www.sports.ru", "https://stat.sports.ru");

            SportsRuApiService = new SportsRuApiService(sportsRuApiSettings, logger);
        }
        public async Task GetHotContent_ErrorResponse()
        {
            var sportsRuApiSettings = new SportsRuApiSettings("https://www.sports.ru", "https://anyvalid.url");
            var sportsRuApiService  = new SportsRuApiService(sportsRuApiSettings, Mock.Of <ILogger <SportsRuApiService> >());
            var hotContentResponse  = await sportsRuApiService.GetHotContentAsync().ConfigureAwait(false);

            Assert.False(hotContentResponse.IsSuccess);
            Assert.Equal(SportsRuApiResources.Error_Unknown, hotContentResponse.ErrorMessage);
        }
 public SportsRuApiService(SportsRuApiSettings sportsRuApiSettings, ILogger <SportsRuApiService> logger)
 {
     _httpClient = new HttpClient
     {
         BaseAddress = sportsRuApiSettings.SportsRuBaseAddress
     };
     _statHttpClient = new HttpClient()
     {
         BaseAddress = sportsRuApiSettings.SportsRuStatBaseAddress
     };
     _logger = logger;
 }
Example #4
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddControllers();

            string connectionString = Configuration.GetConnectionString("database");

            services.AddDbContext <SportsContext>(builder
                                                  => builder.ConfigureSportsContextOptions(connectionString));

            services.AddScoped <INewsArticleDataService, NewsArticleDataService>();

            services.AddScoped <IAliceService, AliceService>();
            services.AddScoped <ISyncService, SyncService>();
            services.AddSingleton <ISportsRuApiService, SportsRuApiService>();
            services.AddScoped <INewsService, NewsService>();
            services.AddScoped <INewsArticleCommentService, NewsArticleCommentService>();

            services.AddScoped <IScenesProvider, ScenesProvider>();
            services.AddScoped <WelcomeScene>();
            services.AddScoped <LatestNewsScene>();
            services.AddScoped <MainNewsScene>();
            services.AddScoped <BestCommentsScene>();
            services.AddScoped <HelpScene>();

            var            sportsSettingsSection = Configuration.GetSection("SportsSettings");
            SportsSettings sportsSettings        = new();

            sportsSettingsSection.Bind(sportsSettings);
            services.AddSingleton(sportsSettings);

            var sportsRuApiSettingsSection = Configuration.GetSection("SportsRuApiSettings");
            var sportsRuApiSettings        = new SportsRuApiSettings();

            sportsRuApiSettingsSection.Bind(sportsRuApiSettings);
            services.AddSingleton(sportsRuApiSettings);

            services.AddHostedService <SyncNewsWorker>();
            services.AddHostedService <SyncNewsCommentsWorker>();
            services.AddHostedService <CleanWorker>();

            services.AddApplicationInsightsTelemetry();
        }
Example #5
0
        public SportsFixture()
        {
            var builder = new DbContextOptionsBuilder();

            builder
            .UseLazyLoadingProxies()
            .UseSqlite("Data Source=sports.db");
            SportsContext = new SportsContext(builder.Options);
            SportsContext.Database.EnsureDeleted();
            SportsContext.Database.EnsureCreated();

            var sportsRuLogger      = Mock.Of <ILogger <SportsRuApiService> >();
            var sportsRuApiSettings = new SportsRuApiSettings("https://www.sports.ru", "https://stat.sports.ru");
            ISportsRuApiService sportsRuApiService = new SportsRuApiService(sportsRuApiSettings, sportsRuLogger);
            var newsArticleDataService             = new NewsArticleDataService(SportsContext);

            NewsService = new NewsService(SportsContext, newsArticleDataService);
            var syncServiceLogger = Mock.Of <ILogger <SyncService> >();

            SyncService = new SyncService(SportsContext, sportsRuApiService, newsArticleDataService, syncServiceLogger);
            NewsArticleCommentService = new NewsArticleCommentService(SportsContext);
        }