示例#1
0
 public async Task PostRelayThrowInvalidOperationExceptionWhenHttpRequestContainsNoBodyAsync()
 {
     // Arrange
     IRelayManagementService relayManagementService = A.Fake <IRelayManagementService>();
     ILogger logger      = A.Fake <ILogger>();
     var     sut         = new ShieldManagementApi(relayManagementService);
     var     httpContext = new DefaultHttpContext();
     var     httpRequest = new DefaultHttpRequest(httpContext);
     // Act & Assert
     await Assert.ThrowsAsync <InvalidOperationException>(() => sut.PostRelayInformationAsync(httpRequest, logger));
 }
示例#2
0
        public async Task ReturnBadRequestStatusCodeWhenPostRelayIsCalledAndSomethingWentWrongAsync()
        {
            // Arrange
            IRelayManagementService relayManagementService = A.Fake <IRelayManagementService>();
            ILogger logger      = A.Fake <ILogger>();
            var     sut         = new ShieldManagementApi(relayManagementService);
            var     httpContext = new DefaultHttpContext();
            var     httpRequest = new DefaultHttpRequest(httpContext)
            {
                Body = new MemoryStream(Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(TestHelper.GetCreateRelayStorageDto())))
            };

            A.CallTo(() => relayManagementService.StoreRelayAsync(TestHelper.GetCreateRelayStorageDto())).WithAnyArguments().Returns <HybridConnectionDto>(null);
            // Act
            IActionResult actual = await sut.PostRelayInformationAsync(httpRequest, logger);

            // Assert
            Assert.Equal(HttpStatusCode.BadRequest, (HttpStatusCode)((StatusCodeResult)actual).StatusCode);
        }