Inheritance: IOAuth2TokenClient
        public async Task GetApiLinksWithInvalidAccessTokenTriggersTokenRenewal()
        {
            this.Fixture.AdPostingApiService
                .UponReceiving("a GET index request to retrieve API links with an invalid access token")
                .With(new ProviderServiceRequest
                {
                    Method = HttpVerb.Get,
                    Path = "/",
                    Headers = new Dictionary<string, string>
                    {
                        { "Authorization", "Bearer " + AccessTokens.InvalidAccessToken },
                        { "Accept", $"{ResponseContentTypes.Hal}, {ResponseContentTypes.AdvertisementErrorVersion1}" },
                        { "User-Agent", AdPostingApiFixture.UserAgentHeaderValue }
                    }
                })
                .WillRespondWith(new ProviderServiceResponse
                {
                    Status = (int)HttpStatusCode.Unauthorized,
                    Headers = new Dictionary<string, string>
                    {
                        { "WWW-Authenticate", "Bearer error=\"Invalid request\"" }
                    }
                });

            this.Fixture.RegisterIndexPageInteractions(new OAuth2TokenBuilder().Build());

            using (var fakeOAuth2Client = new FakeOAuth2Client())
            {
                using (var client = new AdPostingApiClient(this.Fixture.AdPostingApiServiceBaseUri, fakeOAuth2Client))
                {
                    await client.InitialiseIndexResource(this.Fixture.AdPostingApiServiceBaseUri);
                }
            }
        }
Esempio n. 2
0
        public async Task GetApiLinksWithInvalidAccessTokenTriggersTokenRenewal()
        {
            this.Fixture.AdPostingApiService
            .UponReceiving("a GET index request to retrieve API links with an invalid access token")
            .With(new ProviderServiceRequest
            {
                Method  = HttpVerb.Get,
                Path    = "/",
                Headers = new Dictionary <string, string>
                {
                    { "Authorization", "Bearer " + AccessTokens.InvalidAccessToken },
                    { "Accept", $"{ResponseContentTypes.Hal}, {ResponseContentTypes.AdvertisementErrorVersion1}" },
                    { "User-Agent", AdPostingApiFixture.UserAgentHeaderValue }
                }
            })
            .WillRespondWith(new ProviderServiceResponse
            {
                Status  = (int)HttpStatusCode.Unauthorized,
                Headers = new Dictionary <string, string>
                {
                    { "WWW-Authenticate", "Bearer error=\"Invalid request\"" }
                }
            });

            this.Fixture.RegisterIndexPageInteractions(new OAuth2TokenBuilder().Build());

            using (var fakeOAuth2Client = new FakeOAuth2Client())
            {
                using (var client = new AdPostingApiClient(this.Fixture.AdPostingApiServiceBaseUri, fakeOAuth2Client))
                {
                    await client.InitialiseIndexResource(this.Fixture.AdPostingApiServiceBaseUri);
                }
            }
        }