Esempio n. 1
0
        public Settings(
            int topSize,
            FundaApiClientSettings apiClientSettings,
            FundaApiSettings apiSettings,
            RetryPolicySettings retrySettings
            )
        {
            if (topSize <= 0)
            {
                throw new ArgumentOutOfRangeException(nameof(topSize));
            }

            TopSize           = topSize;
            ApiClientSettings = apiClientSettings ?? throw new ArgumentNullException(nameof(apiClientSettings));
            ApiSettings       = apiSettings ?? throw new ArgumentNullException(nameof(apiSettings));
            RetrySettings     = retrySettings ?? throw new ArgumentNullException(nameof(retrySettings));
        }
Esempio n. 2
0
        public void Initialize()
        {
            mockedApiClient = new Mock <ApiClient>();
            mockedOption    = new Mock <IOptions <FundaApiSettings> >();
            mockedLogger    = new Mock <ILogger <OfferFilter> >();

            FundaApiSettings fundaApiSettings = new FundaApiSettings
            {
                BaseUri          = "http://partnerapi.funda.nl",
                Key              = "123456989abcdef",
                OfferUriTemplate = "feeds/Aanbod.svc/json/{key}?type=koop&zo={searchQuery}&page={pageIndex}&pagesize={pageSize}"
            };

            mockedOption.SetupGet(x => x.Value).Returns(fundaApiSettings);

            offerFilter = new OfferFilter(mockedOption.Object, mockedApiClient.Object, mockedLogger.Object);
        }
Esempio n. 3
0
        private static Settings GetSettings()
        {
            string apiKey = Environment.GetEnvironmentVariable("FUNDA_API_KEY");

            var apiClientSettings = new FundaApiClientSettings(apiKey);

            const int BATCH_SIZE            = 25;
            const int MAX_PAGES_TO_RETRIEVE = 5000;

            var apiSettings = new FundaApiSettings(BATCH_SIZE, MAX_PAGES_TO_RETRIEVE);

            const float DELAY       = 2.0f;
            const float JITTER      = 0.5f;
            const int   RETRY_COUNT = 7;

            var retryPolicySettings = new RetryPolicySettings(DELAY, JITTER, RETRY_COUNT);

            const int TOP_SIZE = 10;

            return(new Settings(TOP_SIZE, apiClientSettings, apiSettings, retryPolicySettings));
        }
Esempio n. 4
0
 /// <summary>
 /// The class constructor
 /// </summary>
 /// <param name="settings">Settings for this filter to run</param>
 /// <param name="apiClient">Client having functions to make REST calls</param>
 /// <param name="logger">Logger to log information</param>
 public OfferFilter(IOptions <FundaApiSettings> settings, ApiClient apiClient, ILogger <OfferFilter> logger)
 {
     this.apiClient = apiClient;
     apiSettings    = settings.Value;
     this.logger    = logger;
 }