public void GetLatestForFreePlan_WithInvalidApiKey_ThrowsException()
        {
            var sut = new RateClient("invalid");

            var ex = Assert.Throws <Exception>(() => sut.GetLatest());

            Assert.IsTrue(ex.Message.Contains("Invalid API key"));
        }
        public void GetLatestForFreePlan_WithValidApiKey_ReturnsRates()
        {
            var sut = new RateClient(ApiKey);

            var result = sut.GetLatest();

            Assert.NotNull(result);
            Assert.IsTrue(result.Rates.Any());
        }
Пример #3
0
        private decimal GetConversionRate(string currency)
        {
            var response = RateClient.Execute(new RestSharp.RestRequest(Method.GET));

            if (response.StatusCode != System.Net.HttpStatusCode.OK)
            {
                OnMessage(new BrokerageMessageEvent(BrokerageMessageType.Error, (int)response.StatusCode, "GetConversionRate: error returned from conversion rate service."));
                return(0);
            }

            var raw  = JsonConvert.DeserializeObject <JObject>(response.Content);
            var rate = raw.SelectToken("rates." + currency).Value <decimal>();

            if (rate == 0)
            {
                OnMessage(new BrokerageMessageEvent(BrokerageMessageType.Error, (int)response.StatusCode, "GetConversionRate: zero value returned from conversion rate service."));
                return(0);
            }

            return(1m / rate);
        }
        public void Ctor_WithApiKey_SetsApiKey()
        {
            var sut = new RateClient("key");

            Assert.AreEqual("key", sut.ApiKey);
        }