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); }
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)); }
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)); }