parent
20586d8ada
commit
eebba7665b
13 changed files with 1094 additions and 233 deletions
69
src/FrostFS.SDK.Tests/Unit/NodeInfoTests.cs
Normal file
69
src/FrostFS.SDK.Tests/Unit/NodeInfoTests.cs
Normal file
|
@ -0,0 +1,69 @@
|
|||
using FrostFS.Netmap;
|
||||
using FrostFS.SDK.Client;
|
||||
using Google.Protobuf;
|
||||
|
||||
namespace FrostFS.SDK.Tests.Unit;
|
||||
|
||||
public class NodeInfoTests : NetworkTestsBase
|
||||
{
|
||||
[Theory]
|
||||
[InlineData(false)]
|
||||
[InlineData(true)]
|
||||
public async void NodeInfoTest(bool useContext)
|
||||
{
|
||||
var body = new LocalNodeInfoResponse.Types.Body
|
||||
{
|
||||
NodeInfo = new NodeInfo()
|
||||
{
|
||||
State = NodeInfo.Types.State.Online,
|
||||
PublicKey = ByteString.CopyFrom([1, 2, 3])
|
||||
},
|
||||
Version = new Refs.Version { Major = 2, Minor = 12 }
|
||||
};
|
||||
|
||||
body.NodeInfo.Addresses.Add("address1");
|
||||
body.NodeInfo.Addresses.Add("address2");
|
||||
body.NodeInfo.Attributes.Add(new NodeInfo.Types.Attribute { Key = "key1", Value = "value1" });
|
||||
body.NodeInfo.Attributes.Add(new NodeInfo.Types.Attribute { Key = "key2", Value = "value2" });
|
||||
|
||||
Mocker.NodeInfoResponse = new LocalNodeInfoResponse { Body = body };
|
||||
|
||||
var ctx = useContext
|
||||
? new CallContext(TimeSpan.FromSeconds(20), Mocker.CancellationTokenSource.Token)
|
||||
: default;
|
||||
|
||||
var validTimeoutFrom = DateTime.UtcNow.AddSeconds(20);
|
||||
|
||||
var result = await GetClient(DefaultSettings).GetNodeInfoAsync(ctx);
|
||||
|
||||
var validTimeoutTo = DateTime.UtcNow.AddSeconds(20);
|
||||
|
||||
Assert.NotNull(result);
|
||||
|
||||
Assert.Equal(NodeState.Online, result.State);
|
||||
|
||||
Assert.Equal(2, result.Addresses.Count);
|
||||
Assert.Equal("address1", result.Addresses.ElementAt(0));
|
||||
Assert.Equal("address2", result.Addresses.ElementAt(1));
|
||||
|
||||
Assert.Equal(2, result.Attributes.Count);
|
||||
Assert.Equal("value1", result.Attributes["key1"]);
|
||||
Assert.Equal("value2", result.Attributes["key2"]);
|
||||
|
||||
Assert.NotNull(Mocker.LocalNodeInfoRequest);
|
||||
if (useContext)
|
||||
{
|
||||
Assert.Empty(Mocker.LocalNodeInfoRequest.MetaHeader.XHeaders);
|
||||
Assert.Equal(Mocker.CancellationTokenSource.Token, Mocker.CancellationToken);
|
||||
Assert.NotNull(Mocker.DateTime);
|
||||
|
||||
Assert.True(Mocker.DateTime.Value >= validTimeoutFrom);
|
||||
Assert.True(Mocker.DateTime.Value <= validTimeoutTo);
|
||||
}
|
||||
else
|
||||
{
|
||||
Assert.Empty(Mocker.LocalNodeInfoRequest.MetaHeader.XHeaders);
|
||||
Assert.Null(Mocker.DateTime);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue