public async Task Should_Get_Object_Signal_By_Name_And_Tag() { // Arrange var value = new TestObject { Value = Value }; await _context.Signals.AddAsync(new Signal { Id = 2, ResourceId = Guid.NewGuid(), Name = $"{Name}_object", Value = JsonConvert.SerializeObject(value), ValueType = value.GetSignalValueType(), IsBaseType = value.IsBaseType(), DateCreated = DateTime.Now, DateLastUpdated = DateTime.Now }).ConfigureAwait(false); await _context.SaveChangesAsync().ConfigureAwait(false); // Arrange var request = new GetSignalByNameRequest { Name = $"{Name}_object" }; // Act var result = await _sut.Handle(request, CancellationToken.None).ConfigureAwait(false); // Assert result.ShouldNotBeNull(); result.Value.ShouldBeOfType <TestObject>(); }
public async Task Should_Get_Encrypted_Object_Signal_With_No_PrivateKey() { // Arrange var value = new TestObject { Value = Value }; await _context.Signals.AddAsync(new Signal { Id = 3, ResourceId = Guid.NewGuid(), Name = $"{Name}_object_encrypted", Value = Convert.ToBase64String(Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(value))), ValueType = value.GetSignalValueType(), IsBaseType = value.IsBaseType(), Tags = Constants.EncryptedTag, DateCreated = DateTime.Now, DateLastUpdated = DateTime.Now }).ConfigureAwait(false); await _context.SaveChangesAsync().ConfigureAwait(false); var request = new GetSignalByNameRequest { Name = $"{Name}_object_encrypted" }; // Act var result = await _sut.Handle(request, CancellationToken.None).ConfigureAwait(false); // Assert result.ShouldNotBeNull(); result.Value.ShouldBeOfType <string>(); }
public async Task Should_Get_Signal_By_Name() { // Arrange var request = new GetSignalByNameRequest { Name = Name }; // Act var result = await _sut.Handle(request, CancellationToken.None).ConfigureAwait(false); // Assert result.ShouldNotBeNull(); result.ResourceId.ShouldBe(_resourceId); result.Name.ShouldBe(Name); result.Value.ShouldBe(Value); }
public async Task Should_Only_Call_For_Decryption_If_Signal_Is_Marked_As_Encrypted(bool isEncrypted) { // Arrange var value = new TestObject { Value = Value }; await _context.Signals.AddAsync(new Signal { Id = 3, ResourceId = Guid.NewGuid(), Name = $"{Name}_object_encrypted", Value = isEncrypted ? Convert.ToBase64String(Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(value))) : JsonConvert.SerializeObject(value), ValueType = value.GetSignalValueType(), IsBaseType = value.IsBaseType(), Tags = isEncrypted ? Constants.EncryptedTag : string.Empty, DateCreated = DateTime.Now, DateLastUpdated = DateTime.Now }).ConfigureAwait(false); await _context.SaveChangesAsync().ConfigureAwait(false); _mediatorMock.Setup(x => x.Send(It.IsAny <DecryptionRequest>(), It.IsAny <CancellationToken>())).ReturnsAsync(JsonConvert.SerializeObject(value)); var request = new GetSignalByNameRequest { Name = $"{Name}_object_encrypted", PrivateKey = "Private Key" }; // Act await _sut.Handle(request, CancellationToken.None).ConfigureAwait(false); // Assert _mediatorMock.Verify(x => x.Send(It.IsAny <DecryptionRequest>(), It.IsAny <CancellationToken>()), () => isEncrypted ? Times.Once() : Times.Never()); }