Beispiel #1
0
        private BunqResponseRaw SendRequest(HttpRequestMessage requestMessage,
                                            IDictionary <string, string> customHeaders, string uriRelative)
        {
            if (!URIS_NOT_REQUIRING_ACTIVE_SESSION.Contains(uriRelative) && apiContext.EnsureSessionActive())
            {
                BunqContext.UpdateApiContext(apiContext);
            }

            SetDefaultHeaders(requestMessage);
            SetHeaders(requestMessage, customHeaders);
            SetSessionHeaders(requestMessage);
            var responseMessage = client.SendAsync(requestMessage).Result;

            AssertResponseSuccess(responseMessage);
            ValidateResponse(responseMessage);

            return(CreateBunqResponseRaw(responseMessage));
        }
        public void TestAutoApiContextReLoad()
        {
            var contextJson = JObject.Parse(apiContext.ToJson());
            var expiredTime = DateTime.Now.Subtract(TimeSpan.FromDays(20));

            contextJson.SelectToken(FIELD_FIELD_SESSION_CONTEXT)[FIELD_FIELD_EXPIRY_TIME] = expiredTime.ToString();

            var expiredApiContext = ApiContext.FromJson(contextJson.ToString());

            Assert.NotEqual(apiContext, expiredApiContext);

            BunqContext.UpdateApiContext(expiredApiContext);

            Assert.Equal(expiredApiContext, BunqContext.ApiContext);

            BunqContext.UserContext.RefreshUserContext();

            Assert.True(BunqContext.ApiContext.IsSessionActive());
        }