public async Task Should_Create_New_Encrypted_Signal()
        {
            // Arrange
            _mediatorMock.Setup(x => x.Send(It.IsAny <EncryptionRequest>(), It.IsAny <CancellationToken>())).ReturnsAsync((EncryptionRequest encryptionRequest, CancellationToken token)
                                                                                                                          => Convert.ToBase64String(Encoding.UTF8.GetBytes(encryptionRequest.ToEncrypt)));
            _mediatorMock.Setup(x => x.Send(It.IsAny <GetSettingRequest>(), It.IsAny <CancellationToken>())).ReturnsAsync(Convert.ToBase64String(Encoding.UTF8.GetBytes("Test Public Key")));

            var request = new CreateSignalRequest
            {
                Value = "Test Signal",
                Tags  = new List <string> {
                    "Test", "Tags"
                },
                Encrypted = true
            };

            // Act
            var result = await _sut.Handle(request, CancellationToken.None).ConfigureAwait(false);

            // Assert
            result.ShouldNotBeNull();
            var signal = await _context.Signals.FirstOrDefaultAsync(s => s.ResourceId == result).ConfigureAwait(false);

            signal.ShouldNotBeNull();
            signal.Value.ShouldNotBeNull();
            signal.Tags.ShouldContain(Constants.EncryptedTag);
        }
        public async Task Should_Create_New_Signal_With_No_Tags()
        {
            // Arrange
            var request = new CreateSignalRequest
            {
                Value = "Test Signal"
            };

            // Act
            var result = await _sut.Handle(request, CancellationToken.None).ConfigureAwait(false);

            // Assert
            result.ShouldNotBeNull();
            (await _context.Signals.FirstOrDefaultAsync(signal => signal.ResourceId == result).ConfigureAwait(false)).ShouldNotBeNull();
        }
        public async Task Should_Throw_If_Already_Exists()
        {
            // Arrange
            var signalResponse = new SignalResponse();
            var request        = new CreateSignalRequest
            {
                Value = "Test Signal"
            };

            _mediatorMock.Setup(x => x.Send(It.IsAny <GetSignalByNameRequest>(), It.IsAny <CancellationToken>())).ReturnsAsync(signalResponse);

            // Act
            var result = await Should.ThrowAsync <InvalidOperationException>(_sut.Handle(request, CancellationToken.None)).ConfigureAwait(false);

            // Assert
            result.Message.ShouldContain(CreateSignalRequestHandler.SignalAlreadyExistsErrorMessage);
        }
Пример #4
0
        public async Task <IActionResult> Post([FromBody] CreateSignalRequest request)
        {
            await _mediator.Send(request);

            return(Ok());
        }