public RetrieveAndSendService(IConfiguration configuration, ICovidDataProvider dataProvider, ICovidStatisticsNotifier notifier, ILogger <RetrieveAndSendService> logger)
 {
     _dataProvider = dataProvider;
     _notifier     = notifier;
     _logger       = logger;
     _timer        = new Timer(configuration.GetAs <double>("statisticsSendIntervalInMinutes") * 60 * 1000)
     {
         AutoReset = true
     };
     _timer.Elapsed += timer_Elapsed;
 }
示例#2
0
        public void Setup()
        {
            _configuration     = new Mock <IConfiguration>(MockBehavior.Strict);
            _logger            = new Mock <ILogger <CovidDataProvider> >();
            _restClientFactory = new Mock <IRestClientFactory>(MockBehavior.Strict);
            _restClient        = new Mock <IRestClient>(MockBehavior.Strict);

            _configuration.Setup(x => x["covidStatisticsUrl"]).Returns("http://nekiurl.api.com");
            _configuration.Setup(x => x["RapidApiKey"]).Returns("12808941kakafkjaf781249814bfga");

            _restClientFactory.Setup(x => x.Create(It.IsAny <string>())).Returns(_restClient.Object);

            _restClient.Setup(x => x.ExecuteGetAsync(It.IsAny <RestRequest>(), default)).ReturnsAsync(SuccessfulRestResponse());

            _service = new CovidDataProvider(_restClientFactory.Object, _configuration.Object, _logger.Object);
        }