mirror of
https://github.com/2dust/v2rayN.git
synced 2026-10-25 06:34:59 +03:00
TUnit (#9981)
This commit is contained in:
@@ -1,15 +1,8 @@
|
||||
using AwesomeAssertions;
|
||||
using ServiceLib.Enums;
|
||||
using ServiceLib.Handler.Builder;
|
||||
using ServiceLib.Helper;
|
||||
using ServiceLib.Models;
|
||||
using Xunit;
|
||||
|
||||
namespace ServiceLib.Tests.CoreConfig.Context;
|
||||
|
||||
public class CoreConfigContextBuilderTests
|
||||
{
|
||||
[Fact]
|
||||
[Test]
|
||||
public async Task ResolveNodeAsync_DirectCycleDependency_ShouldFailWithCycleError()
|
||||
{
|
||||
var config = CoreConfigTestFactory.CreateConfig();
|
||||
@@ -27,13 +20,13 @@ public class CoreConfigContextBuilderTests
|
||||
|
||||
var (_, validatorResult) = await CoreConfigContextBuilder.ResolveNodeAsync(context, groupA, false);
|
||||
|
||||
validatorResult.Success.Should().BeFalse();
|
||||
validatorResult.Errors.Should().Contain(msg => ContainsCycleDependencyMessage(msg));
|
||||
context.AllProxiesMap.Should().NotContainKey(groupA.IndexId);
|
||||
context.AllProxiesMap.Should().NotContainKey(groupB.IndexId);
|
||||
await validatorResult.Success.Should().BeFalse();
|
||||
await validatorResult.Errors.Should().Contain(ContainsCycleDependencyMessage);
|
||||
await context.AllProxiesMap.Should().NotContainKey(groupA.IndexId);
|
||||
await context.AllProxiesMap.Should().NotContainKey(groupB.IndexId);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
[Test]
|
||||
public async Task ResolveNodeAsync_IndirectCycleDependency_ShouldFailWithCycleError()
|
||||
{
|
||||
var config = CoreConfigTestFactory.CreateConfig();
|
||||
@@ -53,14 +46,14 @@ public class CoreConfigContextBuilderTests
|
||||
|
||||
var (_, validatorResult) = await CoreConfigContextBuilder.ResolveNodeAsync(context, groupA, false);
|
||||
|
||||
validatorResult.Success.Should().BeFalse();
|
||||
validatorResult.Errors.Should().Contain(msg => ContainsCycleDependencyMessage(msg));
|
||||
context.AllProxiesMap.Should().NotContainKey(groupA.IndexId);
|
||||
context.AllProxiesMap.Should().NotContainKey(groupB.IndexId);
|
||||
context.AllProxiesMap.Should().NotContainKey(groupC.IndexId);
|
||||
await validatorResult.Success.Should().BeFalse();
|
||||
await validatorResult.Errors.Should().Contain(ContainsCycleDependencyMessage);
|
||||
await context.AllProxiesMap.Should().NotContainKey(groupA.IndexId);
|
||||
await context.AllProxiesMap.Should().NotContainKey(groupB.IndexId);
|
||||
await context.AllProxiesMap.Should().NotContainKey(groupC.IndexId);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
[Test]
|
||||
public async Task ResolveNodeAsync_CycleWithValidBranch_ShouldSkipCycleAndKeepValidChild()
|
||||
{
|
||||
var config = CoreConfigTestFactory.CreateConfig();
|
||||
@@ -80,14 +73,14 @@ public class CoreConfigContextBuilderTests
|
||||
|
||||
var (_, validatorResult) = await CoreConfigContextBuilder.ResolveNodeAsync(context, groupA, false);
|
||||
|
||||
validatorResult.Success.Should().BeTrue();
|
||||
validatorResult.Errors.Should().BeEmpty();
|
||||
validatorResult.Warnings.Should().Contain(msg => ContainsCycleDependencyMessage(msg));
|
||||
await validatorResult.Success.Should().BeTrue();
|
||||
await validatorResult.Errors.Should().BeEmpty();
|
||||
await validatorResult.Warnings.Should().Contain(ContainsCycleDependencyMessage);
|
||||
|
||||
context.AllProxiesMap.Should().ContainKey(leaf.IndexId);
|
||||
context.AllProxiesMap.Should().ContainKey(groupA.IndexId);
|
||||
context.AllProxiesMap.Should().NotContainKey(groupB.IndexId);
|
||||
groupA.GetProtocolExtra().ChildItems.Should().Be(leaf.IndexId);
|
||||
await context.AllProxiesMap.Should().ContainKey(leaf.IndexId);
|
||||
await context.AllProxiesMap.Should().ContainKey(groupA.IndexId);
|
||||
await context.AllProxiesMap.Should().NotContainKey(groupB.IndexId);
|
||||
await groupA.GetProtocolExtra().ChildItems.Should().BeEqualTo(leaf.IndexId);
|
||||
}
|
||||
|
||||
private static string NewId(string prefix)
|
||||
|
||||
Reference in New Issue
Block a user