示例#1
0
        public void GetBloodPressureAsync_Errors()
        {
            Func <HttpResponseMessage> responseMessage = Helper.CreateErrorResponse(HttpStatusCode.BadRequest);
            Action <HttpRequestMessage, CancellationToken> verification = new Action <HttpRequestMessage, CancellationToken>((message, token) =>
            {
                Assert.AreEqual(HttpMethod.Get, message.Method);
            });

            FitbitClient fitbitClient = Helper.CreateFitbitClient(responseMessage, verification);

            Func <Task <BloodPressureData> > result = () => fitbitClient.GetBloodPressureAsync(new DateTime(2014, 9, 27));

            result.ShouldThrow <FitbitRequestException>().Which.ApiErrors.Count.Should().Be(1);
        }
示例#2
0
        public async Task GetBloodPressureAsync_Success()
        {
            string content = SampleDataHelper.GetContent("GetBloodPressure.json");

            Func <HttpResponseMessage> responseMessage = new Func <HttpResponseMessage>(() =>
            {
                return(new HttpResponseMessage(HttpStatusCode.OK)
                {
                    Content = new StringContent(content)
                });
            });

            Action <HttpRequestMessage, CancellationToken> verification = new Action <HttpRequestMessage, CancellationToken>((message, token) =>
            {
                Assert.AreEqual(HttpMethod.Get, message.Method);
                Assert.AreEqual("https://api.fitbit.com/1/user/-/bp/date/2014-09-27.json", message.RequestUri.AbsoluteUri);
            });

            FitbitClient fitbitClient = Helper.CreateFitbitClient(responseMessage, verification);

            BloodPressureData response = await fitbitClient.GetBloodPressureAsync(new DateTime(2014, 9, 27));

            ValidateBloodPressureData(response);
        }