示例#1
0
        public async Task Given_CorrectCredentials_When_CallingGetAccessTokenAsync_Should_ReturnValidToken()
        {
            //arrange
            _classUnderTest = new Dynamics365AuthenticationService(new Dynamics365Settings
            {
                AppKey          = Environment.GetEnvironmentVariable("Dynamics365Settings__AppKey"),
                ClientId        = Environment.GetEnvironmentVariable("Dynamics365Settings__ClientId"),
                OrganizationUrl = Environment.GetEnvironmentVariable("Dynamics365Settings__OrganizationUrl"),
                TenantId        = Environment.GetEnvironmentVariable("Dynamics365Settings__TenantId"),
                AadInstance     = Environment.GetEnvironmentVariable("Dynamics365Settings__AadInstance"),
            });
            //act
            var response = await _classUnderTest.GetAccessTokenAsync().ConfigureAwait(false);

            //assert
            response.Should().NotBeEmpty();
        }
        public async Task <IHttpClient> CreateClientAsync(bool formatForFetchXml)
        {
            var accessToken = await _dynamics365AuthenticationService.GetAccessTokenAsync().ConfigureAwait(false);

            _client = new RestfulHttpClient();
            _client.SetBaseUrl(_configuration.OrganizationUrl);
            _client.AddDefaultHeader("OData-MaxVersion", "4.0");
            _client.AddDefaultHeader("OData-Version", "4.0");
            _client.AddDefaultHeader("Accept", "application/json");
            _client.AddDefaultHeader("Authorization", "Bearer " + accessToken);

            if (formatForFetchXml)
            {
                _client.AddDefaultHeader("Prefer", "odata.include-annotations=\"OData.Community.Display.V1.FormattedValue\"");
            }

            return(_client);
        }
示例#3
0
 public async Task GivenNullSettings_When_CallingGetAccessTokenAsync_Should_ThrowException()
 {
     //arrange
     _classUnderTest = new Dynamics365AuthenticationService(null);
     //act
     //assert
     await Assert.ThrowsAsync <Dynamics365IsNotConfiguredException>(async() => await _classUnderTest.GetAccessTokenAsync().ConfigureAwait(false));
 }
示例#4
0
 public async Task Given_IncorrectCredentials_When_CallingGetAccessTokenAsync_Should_ThrowException()
 {
     //arrange
     _classUnderTest = new Dynamics365AuthenticationService(new Dynamics365Settings
     {
         AppKey          = "",
         ClientId        = Environment.GetEnvironmentVariable("Dynamics365Settings__ClientId"),
         OrganizationUrl = Environment.GetEnvironmentVariable("Dynamics365Settings__OrganizationUrl"),
         TenantId        = Environment.GetEnvironmentVariable("Dynamics365Settings__TenantId"),
         AadInstance     = Environment.GetEnvironmentVariable("Dynamics365Settings__AadInstance"),
     });
     //act
     //assert
     await Assert.ThrowsAsync <Dynamics365IsNotConfiguredException>(async() => await _classUnderTest.GetAccessTokenAsync().ConfigureAwait(false));
 }