public async Task GetSubscriptionsAsync_ThrowsExceptionWhenTapioReturnsErrorCode() { var messageHandlerMock = new Mock <HttpMessageHandler>() .SetupSendAsyncMethod(HttpStatusCode.Unauthorized, "{}"); using (var httpClient = new HttpClient(messageHandlerMock.Object)) { var machineOverviewService = new MachineOverviewService(httpClient, _standardTokenProviderMock.Object); Func <Task <SubscriptionOverview> > action = () => machineOverviewService.GetSubscriptionsAsync(CancellationToken.None, _machineStateServiceMock.Object); await action.Should().ThrowAsync <HttpRequestException>(); } }
public async Task GetSubscriptionsAsync_ThrowsNoException() { var messageHandlerMock = new Mock <HttpMessageHandler>() .SetupSendAsyncMethod(HttpStatusCode.OK, Content); using (var httpClient = new HttpClient(messageHandlerMock.Object)) { var machineOverviewService = new MachineOverviewService(httpClient, _standardTokenProviderMock.Object); Func <Task <SubscriptionOverview> > action = () => machineOverviewService.GetSubscriptionsAsync(CancellationToken.None, _machineStateServiceMock.Object); await action.Should().NotThrowAsync(); } }
public async Task GetSubscriptionsAsync_CallsServerExactlyOnce() { var messageHandlerMock = new Mock <HttpMessageHandler>() .SetupSendAsyncMethod(HttpStatusCode.OK, Content); using (var httpClient = new HttpClient(messageHandlerMock.Object)) { var machineOverviewService = new MachineOverviewService(httpClient, _standardTokenProviderMock.Object); await machineOverviewService.GetSubscriptionsAsync(CancellationToken.None, _machineStateServiceMock.Object); messageHandlerMock.VerifySendAsyncWasInvokedExactlyOnce(); } }
public async Task GivenOneUnauthorizedClient_WhenInvoking_ThenOneException_ShouldBeThrown() { var messageHandlerMock = new Mock <HttpMessageHandler>() .SetupSendAsyncMethod(HttpStatusCode.Unauthorized, "{}"); using (var httpClient = new HttpClient(messageHandlerMock.Object)) { var cut = new MachineOverviewService(httpClient, _standardTokenProviderMock.Object); Func <Task <SubscriptionOverview> > action = () => cut.GetSubscriptionAsync(CancellationToken.None); await action.Should().ThrowAsync <HttpRequestException>(); } }
public async Task GivenOneSimpleCall_WhenInvoking_ThenTheServer_ShouldBeCalledExactlyOnce() { var messageHandlerMock = new Mock <HttpMessageHandler>() .SetupSendAsyncMethod(HttpStatusCode.OK, Content); using (var httpClient = new HttpClient(messageHandlerMock.Object)) { var cut = new MachineOverviewService(httpClient, _standardTokenProviderMock.Object); await cut.GetSubscriptionAsync(CancellationToken.None); messageHandlerMock.VerifySendAsyncWasInvokedExactlyOnce(); } }
public async Task GetSubscriptionsAsync_TestMachineStateRunning() { var messageHandlerMock = new Mock <HttpMessageHandler>() .SetupSendAsyncMethod(HttpStatusCode.OK, Content); using (var httpClient = new HttpClient(messageHandlerMock.Object)) { var machineOverviewService = new MachineOverviewService(httpClient, _standardTokenProviderMock.Object); var result = await machineOverviewService.GetSubscriptionsAsync(CancellationToken.None, _machineStateServiceMock.Object); result.Subscriptions[0].AssignedMachines.Should().HaveCount(3); result.Subscriptions[0].AssignedMachines[0].MachineState.Should().Be(MachineState.Running); result.Subscriptions[0].AssignedMachines[1].MachineState.Should().Be(MachineState.Running); result.Subscriptions[0].AssignedMachines[2].MachineState.Should().Be(MachineState.Running); } }
public async Task GetSubscriptionsAsync_TestMachineStateOffline() { var messageHandlerMock = new Mock <HttpMessageHandler>() .SetupSendAsyncMethod(HttpStatusCode.OK, Content); using (var httpClient = new HttpClient(messageHandlerMock.Object)) { var machineOverviewService = new MachineOverviewService(httpClient, _standardTokenProviderMock.Object); var ct = new CancellationToken(); _machineStateServiceMock.Setup( machineStateService => machineStateService.GetMachineStateAsync( It.IsAny <string>(), ct ) ).Returns(() => Task.FromResult(JToken.FromObject(new JObject()))); var result = await machineOverviewService.GetSubscriptionsAsync(CancellationToken.None, _machineStateServiceMock.Object); result.Subscriptions[0].AssignedMachines.Should().HaveCount(3); result.Subscriptions[0].AssignedMachines[0].MachineState.Should().Be(MachineState.Offline); result.Subscriptions[0].AssignedMachines[1].MachineState.Should().Be(MachineState.Offline); result.Subscriptions[0].AssignedMachines[2].MachineState.Should().Be(MachineState.Offline); } }