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; }
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); }