31 lines
1.1 KiB
C#
31 lines
1.1 KiB
C#
using ZB.MOM.WW.LmxProxy.Client.Domain;
|
|
|
|
namespace ZB.MOM.WW.LmxProxy.Client.IntegrationTests;
|
|
|
|
public class WriteTests : IntegrationTestBase
|
|
{
|
|
[Fact]
|
|
public async Task WriteAndReadBack_StringValue()
|
|
{
|
|
string testValue = $"IntTest-{DateTime.UtcNow:HHmmss}";
|
|
await Client!.WriteAsync("TestChildObject.TestString",
|
|
new TypedValue { StringValue = testValue });
|
|
|
|
await Task.Delay(500); // Allow time for write to propagate
|
|
var vtq = await Client.ReadAsync("TestChildObject.TestString");
|
|
Assert.Equal(testValue, vtq.Value);
|
|
}
|
|
|
|
[Fact]
|
|
public async Task WriteWithReadOnlyKey_ThrowsPermissionDenied()
|
|
{
|
|
using var readOnlyClient = CreateClient(ReadOnlyApiKey);
|
|
await readOnlyClient.ConnectAsync();
|
|
|
|
var ex = await Assert.ThrowsAsync<Grpc.Core.RpcException>(
|
|
() => readOnlyClient.WriteAsync("TestChildObject.TestString",
|
|
new TypedValue { StringValue = "should-fail" }));
|
|
Assert.Equal(Grpc.Core.StatusCode.PermissionDenied, ex.StatusCode);
|
|
}
|
|
}
|