private async Task ShouldRequestSessionCreateSessionOkResponse()
        {
            var request = new SessionRequest
            {
                Source = new SessionNetworkTokenSource
                {
                    Token = "token", ExpiryMonth = 12, ExpiryYear = 2024, Name = "name"
                }
            };
            var response = new CreateSessionOkResponse
            {
                Acs = new Acs {
                    ChallengeCancelReasonCode = "code"
                },
                SchemeInfo = new SchemeInfo
                {
                    Name = SessionScheme.CartesBancaires, Score = "score", Avalgo = "avalgo"
                }
            };

            _apiClient.Setup(apiClient =>
                             apiClient.Post <HttpMetadata>(Sessions,
                                                           _sdkCredentials.Object.GetSdkAuthorization(SdkAuthorizationType.OAuth),
                                                           SessionResponseMappings, request,
                                                           CancellationToken.None, null))
            .ReturnsAsync(() => response);

            _sessionsClient = new SessionsClient(_apiClient.Object, _configuration.Object);

            var getSessionResponse = await _sessionsClient.RequestSession(request, CancellationToken.None);

            getSessionResponse.ShouldNotBeNull();
            getSessionResponse.Accepted.ShouldBeNull();
            getSessionResponse.Created.ShouldNotBeNull();
            getSessionResponse.Created.Acs.ChallengeCancelReasonCode.ShouldNotBeNull();
            getSessionResponse.Created.SchemeInfo.ShouldNotBeNull();
            getSessionResponse.Created.SchemeInfo.Name.ShouldNotBeNull();
            getSessionResponse.Created.SchemeInfo.Score.ShouldNotBeNull();
            getSessionResponse.Created.SchemeInfo.Avalgo.ShouldNotBeNull();
        }
 public SessionResponse(CreateSessionOkResponse created)
 {
     Created = created;
 }