[#33] Client: Add extended life tests
Signed-off-by: Pavel Gross <p.gross@yadro.com>
This commit is contained in:
parent
2e56c13946
commit
bd8eb7cc60
24 changed files with 1020 additions and 976 deletions
|
@ -1,4 +1,7 @@
|
|||
namespace FrostFS.SDK;
|
||||
using System.Linq;
|
||||
using FrostFS.Netmap;
|
||||
|
||||
namespace FrostFS.SDK;
|
||||
|
||||
public class FrostFsFilter(string name, string key, int operation, string value, FrostFsFilter[] filters) : IFrostFsFilter
|
||||
{
|
||||
|
@ -7,4 +10,19 @@ public class FrostFsFilter(string name, string key, int operation, string value,
|
|||
public int Operation { get; } = operation;
|
||||
public string Value { get; } = value;
|
||||
public FrostFsFilter[] Filters { get; } = filters;
|
||||
|
||||
internal Filter GetMessage()
|
||||
{
|
||||
var filter = new Filter()
|
||||
{
|
||||
Name = Name,
|
||||
Key = Key,
|
||||
Op = (Operation)Operation,
|
||||
Value = Value,
|
||||
};
|
||||
|
||||
filter.Filters.AddRange(Filters.Select(f => f.GetMessage()));
|
||||
|
||||
return filter;
|
||||
}
|
||||
}
|
|
@ -51,6 +51,16 @@ public struct FrostFsPlacementPolicy(bool unique,
|
|||
ContainerBackupFactor = BackupFactor
|
||||
};
|
||||
|
||||
if (Selectors != null && Selectors.Count > 0)
|
||||
{
|
||||
policy.Selectors.AddRange(Selectors.Select(s => s.GetMessage()));
|
||||
}
|
||||
|
||||
if (Filters != null && Filters.Count > 0)
|
||||
{
|
||||
policy.Filters.AddRange(Filters.Select(s => s.ToMessage()));
|
||||
}
|
||||
|
||||
foreach (var replica in Replicas)
|
||||
{
|
||||
policy.Replicas.Add(replica.ToMessage());
|
||||
|
|
|
@ -1,10 +1,24 @@
|
|||
namespace FrostFS.SDK;
|
||||
using FrostFS.Netmap;
|
||||
|
||||
namespace FrostFS.SDK;
|
||||
|
||||
public class FrostFsSelector(string name)
|
||||
{
|
||||
public string Name { get; set; } = name;
|
||||
public string Name { get; } = name;
|
||||
public uint Count { get; set; }
|
||||
public int Clause { get; set; }
|
||||
public string? Attribute { get; set; }
|
||||
public string? Filter { get; set; }
|
||||
|
||||
internal Selector GetMessage()
|
||||
{
|
||||
return new Selector()
|
||||
{
|
||||
Name = Name,
|
||||
Clause = (Clause)Clause,
|
||||
Count = Count,
|
||||
Filter = Filter ?? string.Empty,
|
||||
Attribute = Attribute ?? string.Empty,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,8 +1,36 @@
|
|||
namespace FrostFS.SDK;
|
||||
|
||||
public class FrostFsAttributePair(string key, string value)
|
||||
public struct FrostFsAttributePair(string key, string value) : System.IEquatable<FrostFsAttributePair>
|
||||
{
|
||||
public string Key { get; set; } = key;
|
||||
|
||||
public string Value { get; set; } = value;
|
||||
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
if (obj == null || obj is not FrostFsAttributePair)
|
||||
return false;
|
||||
|
||||
return Equals((FrostFsAttributePair)obj);
|
||||
}
|
||||
|
||||
public override int GetHashCode()
|
||||
{
|
||||
return Key.GetHashCode() ^ Value.GetHashCode();
|
||||
}
|
||||
|
||||
public static bool operator ==(FrostFsAttributePair left, FrostFsAttributePair right)
|
||||
{
|
||||
return left.Equals(right);
|
||||
}
|
||||
|
||||
public static bool operator !=(FrostFsAttributePair left, FrostFsAttributePair right)
|
||||
{
|
||||
return !(left == right);
|
||||
}
|
||||
|
||||
public bool Equals(FrostFsAttributePair other)
|
||||
{
|
||||
return GetHashCode().Equals(other.GetHashCode());
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue