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