public HomeController(IDashboardFactory dashboardFactory, IViewModelBuilder <DashboardViewModel, IDashboard> dashboardViewModelBuilder, IModelExporter <DashboardExportModel, IDashboard> dashboardModelExporter, IRedditAccessTokenProviderFactory redditAccessTokenProviderFactory, IContentHelper contentHelper, ICookieHelper cookieHelper) { if (dashboardFactory == null) { throw new ArgumentNullException(nameof(dashboardFactory)); } if (dashboardViewModelBuilder == null) { throw new ArgumentNullException(nameof(dashboardViewModelBuilder)); } if (dashboardModelExporter == null) { throw new ArgumentNullException(nameof(dashboardModelExporter)); } if (redditAccessTokenProviderFactory == null) { throw new ArgumentNullException(nameof(redditAccessTokenProviderFactory)); } if (contentHelper == null) { throw new ArgumentNullException(nameof(contentHelper)); } if (cookieHelper == null) { throw new ArgumentNullException(nameof(cookieHelper)); } _dashboardFactory = dashboardFactory; _dashboardViewModelBuilder = dashboardViewModelBuilder; _dashboardModelExporter = dashboardModelExporter; _redditAccessTokenProviderFactory = redditAccessTokenProviderFactory; _contentHelper = contentHelper; _cookieHelper = cookieHelper; }
public async Task RenewRedditAccessTokenAsync_WhenRefreshTokenIsWhitespaces_ThrowsArgumentNullException() { const string refreshToken = " "; IRedditAccessTokenProviderFactory sut = CreateSut(); await sut.RenewRedditAccessTokenAsync(refreshToken); }
public async Task RenewRedditAccessTokenAsync_WhenRefreshTokenIsEmpty_ThrowsArgumentNullException() { string refreshToken = string.Empty; IRedditAccessTokenProviderFactory sut = CreateSut(); await sut.RenewRedditAccessTokenAsync(refreshToken); }
public async Task GetRedditAccessTokenAsync_WhenCodeIsWhitespaces_ThrowsArgumentNullException() { const string code = " "; Uri redirectUri = new Uri($"http://localhost/{Guid.NewGuid().ToString("D")}"); IRedditAccessTokenProviderFactory sut = CreateSut(); await sut.GetRedditAccessTokenAsync(code, redirectUri); }
public async Task GetRedditAccessTokenAsync_WhenRedirectUriIsNull_ThrowsArgumentNullException() { string code = Guid.NewGuid().ToString("D"); const Uri redirectUri = null; IRedditAccessTokenProviderFactory sut = CreateSut(); await sut.GetRedditAccessTokenAsync(code, redirectUri); }
public async Task AcquireRedditAuthorizationTokenAsync_WhenRedirectUriIsNull_ThrowsArgumentNullException() { string state = Guid.NewGuid().ToString("D"); const Uri redirectUri = null; IRedditAccessTokenProviderFactory sut = CreateSut(); await sut.AcquireRedditAuthorizationTokenAsync(state, redirectUri); }
public async Task AcquireRedditAuthorizationTokenAsync_WhenStateIsWhitespaces_ThrowsArgumentNullException() { const string state = " "; Uri redirectUri = new Uri($"http://localhost/{Guid.NewGuid().ToString("D")}"); IRedditAccessTokenProviderFactory sut = CreateSut(); await sut.AcquireRedditAuthorizationTokenAsync(state, redirectUri); }
public async Task RenewRedditAccessTokenAsync_WhenCalled_AssertAuthenticationRedditClientSecretWasCalledOnConfiguration() { string refreshToken = Guid.NewGuid().ToString("D"); IRedditAccessTokenProviderFactory sut = CreateSut(); await sut.RenewRedditAccessTokenAsync(refreshToken); _configurationMock.Verify(m => m[It.Is <string>(value => string.Compare("Authentication:Reddit:ClientSecret", value, StringComparison.Ordinal) == 0)], Times.Once); }
public void RenewRedditAccessTokenAsync_WhenCalled_ReturnsTaskFromDataProviderFactory() { string refreshToken = Guid.NewGuid().ToString("D"); Task <IRedditAccessToken> renewRedditAccessTokenTask = Task.Run <IRedditAccessToken>(() => CreateRedditAccessToken()); IRedditAccessTokenProviderFactory sut = CreateSut(renewRedditAccessTokenTask: renewRedditAccessTokenTask); Task <IRedditAccessToken> result = sut.RenewRedditAccessTokenAsync(refreshToken); Assert.AreEqual(renewRedditAccessTokenTask, result); }
public async Task GetRedditAccessTokenAsync_WhenCalled_AssertAuthenticationRedditClientIdWasCalledOnConfiguration() { string code = Guid.NewGuid().ToString("D"); Uri redirectUri = new Uri($"http://localhost/{Guid.NewGuid().ToString("D")}"); IRedditAccessTokenProviderFactory sut = CreateSut(); await sut.GetRedditAccessTokenAsync(code, redirectUri); _configurationMock.Verify(m => m[It.Is <string>(value => string.Compare("Authentication:Reddit:ClientId", value, StringComparison.Ordinal) == 0)], Times.Once); }
public void GetRedditAccessTokenAsync_WhenCalled_ReturnsTaskFromDataProviderFactory() { string code = Guid.NewGuid().ToString("D"); Uri redirectUri = new Uri($"http://localhost/{Guid.NewGuid().ToString("D")}"); Task <IRedditAccessToken> getRedditAccessTokenTask = Task.Run <IRedditAccessToken>(() => CreateRedditAccessToken()); IRedditAccessTokenProviderFactory sut = CreateSut(getRedditAccessTokenTask: getRedditAccessTokenTask); Task <IRedditAccessToken> result = sut.GetRedditAccessTokenAsync(code, redirectUri); Assert.AreEqual(getRedditAccessTokenTask, result); }
public void AcquireRedditAuthorizationTokenAsync_WhenCalled_ReturnsTaskFromDataProviderFactory() { string state = Guid.NewGuid().ToString("D"); Uri redirectUri = new Uri($"http://localhost/{Guid.NewGuid().ToString("D")}"); Task <Uri> acquireRedditAuthorizationTokenTask = Task.Run <Uri>(() => new Uri($"http://localhost/{Guid.NewGuid().ToString("D")}")); IRedditAccessTokenProviderFactory sut = CreateSut(acquireRedditAuthorizationTokenTask: acquireRedditAuthorizationTokenTask); Task <Uri> result = sut.AcquireRedditAuthorizationTokenAsync(state, redirectUri); Assert.AreEqual(acquireRedditAuthorizationTokenTask, result); }
public async Task RenewRedditAccessTokenAsync_WhenCalled_AssertRenewRedditAccessTokenAsyncWasCalledOnDataProviderFactory() { string refreshToken = Guid.NewGuid().ToString("D"); string clientId = Guid.NewGuid().ToString("D"); string clientSecret = Guid.NewGuid().ToString("D"); IRedditAccessTokenProviderFactory sut = CreateSut(clientId: clientId, clientSecret: clientSecret); await sut.RenewRedditAccessTokenAsync(refreshToken); _dataProviderFactoryMock.Verify(m => m.RenewRedditAccessTokenAsync( It.Is <string>(value => string.Compare(clientId, value, StringComparison.Ordinal) == 0), It.Is <string>(value => string.Compare(clientSecret, value, StringComparison.Ordinal) == 0), It.Is <string>(value => string.Compare(refreshToken, value, StringComparison.Ordinal) == 0)), Times.Once); }
public async Task AcquireRedditAuthorizationTokenAsync_WhenCalled_AssertAcquireRedditAuthorizationTokenAsyncWasCalledOnDataProviderFactory() { string state = Guid.NewGuid().ToString("D"); Uri redirectUri = new Uri($"http://localhost/{Guid.NewGuid().ToString("D")}"); string clientId = Guid.NewGuid().ToString("D"); IRedditAccessTokenProviderFactory sut = CreateSut(clientId: clientId); await sut.AcquireRedditAuthorizationTokenAsync(state, redirectUri); _dataProviderFactoryMock.Verify(m => m.AcquireRedditAuthorizationTokenAsync( It.Is <string>(value => string.Compare(clientId, value, StringComparison.Ordinal) == 0), It.Is <string>(value => string.Compare(state, value, StringComparison.Ordinal) == 0), It.Is <Uri>(value => value == redirectUri)), Times.Once); }