Beispiel #1
0
        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>();
            }
        }
Beispiel #2
0
        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();
            }
        }
Beispiel #3
0
        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();
            }
        }
Beispiel #4
0
        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>();
            }
        }
Beispiel #5
0
        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();
            }
        }
Beispiel #6
0
        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);
            }
        }
Beispiel #7
0
        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);
            }
        }