GetTokenAsync() public method

주어진 아임포트 토큰 요청을 인증하고 결과 토큰을 반환합니다. 인증에 실패하거나 입력 정보에 문제가 있을 경우 예외를 발생시킵니다. 이 API 호출은 내부 HttpClient의 Authorization 헤더를 설정하지 않습니다. 단지 요청한 토큰 정보에 대한 응답을 반환할 뿐입니다.
public GetTokenAsync ( IamportTokenRequest request ) : Task
request Iamport.RestApi.Models.IamportTokenRequest 아임포트 토큰 요청
return Task
        public async Task GetTokenAsync_throws_UnauthorizedAccessException_with_invalid_key_and_secret()
        {
            // arrange
            var client = GetMockClient();
            var sut = new UsersApi(client);
            var request = new IamportTokenRequest
            {
                ApiKey = "invalid",
                ApiSecret = "invalid"
            };

            // act/assert
            await Assert.ThrowsAsync<UnauthorizedAccessException>(
                () => sut.GetTokenAsync(request));
        }
        public async Task GetTokenAsync_throws_UnauthorizedAccessException_with_empty_or_null(string key, string secret)
        {
            // arrange
            var client = GetMockClient();
            var sut = new UsersApi(client);
            var request = new IamportTokenRequest
            {
                ApiKey = key,
                ApiSecret = secret
            };

            // act/assert
            await Assert.ThrowsAsync<UnauthorizedAccessException>(
                () => sut.GetTokenAsync(request));
        }
        public async Task GetTokenAsync_returns_token()
        {
            // arrange
            var client = GetMockClient();
            var sut = new UsersApi(client);
            var request = new IamportTokenRequest
            {
                ApiKey = "key",
                ApiSecret = "secret"
            };

            // act
            var result = await sut.GetTokenAsync(request);

            // assert
            Assert.False(string.IsNullOrEmpty(result.AccessToken));
            Assert.True(result.ExpiredAt >= DateTime.UtcNow);
        }