public async Task GetRedditAccessTokenAsync_WhenClientSecretIsEmpty_ThrowsArgumentNullException()
        {
            string clientId     = Guid.NewGuid().ToString("D");
            string clientSecret = string.Empty;
            string code         = Guid.NewGuid().ToString("D");
            Uri    redirectUri  = new Uri($"http://localhost/{Guid.NewGuid().ToString("D")}");

            IDataProviderFactory sut = CreateSut();

            await sut.GetRedditAccessTokenAsync(clientId, clientSecret, code, redirectUri);
        }
        public async Task GetRedditAccessTokenAsync_WhenRedirectUriIsNull_ThrowsArgumentNullException()
        {
            string    clientId     = Guid.NewGuid().ToString("D");
            string    clientSecret = Guid.NewGuid().ToString("D");
            string    code         = Guid.NewGuid().ToString("D");
            const Uri redirectUri  = null;

            IDataProviderFactory sut = CreateSut();

            await sut.GetRedditAccessTokenAsync(clientId, clientSecret, code, redirectUri);
        }
        public async Task GetRedditAccessTokenAsync_WhenCalled_ThrowsUnauthorizedAccessException()
        {
            string clientId     = Guid.NewGuid().ToString("D");
            string clientSecret = Guid.NewGuid().ToString("D");
            string code         = Guid.NewGuid().ToString("D");
            Uri    redirectUri  = new Uri($"http://localhost/{Guid.NewGuid().ToString("D")}");

            IDataProviderFactory sut = CreateSut();

            await sut.GetRedditAccessTokenAsync(clientId, clientSecret, code, redirectUri);
        }
Пример #4
0
        public Task <IRedditAccessToken> GetRedditAccessTokenAsync(string code, Uri redirectUri)
        {
            if (string.IsNullOrWhiteSpace(code))
            {
                throw new ArgumentNullException(nameof(code));
            }
            if (redirectUri == null)
            {
                throw new ArgumentNullException(nameof(redirectUri));
            }

            return(_dataProviderFactory.GetRedditAccessTokenAsync(ClientId, ClientSecret, code, redirectUri));
        }