File: TunnelConstraintsTests.cs

package info (click to toggle)
golang-github-microsoft-dev-tunnels 0.0.25-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,988 kB
  • sloc: cs: 9,969; java: 2,767; javascript: 328; xml: 186; makefile: 5
file content (90 lines) | stat: -rw-r--r-- 2,543 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
using System;
using Microsoft.DevTunnels.Contracts;
using Xunit;

namespace Microsoft.DevTunnels.Test;

using static TunnelConstraints;

/// <summary>
/// Tests the validate <see cref="TunnelConstraints"/>.
/// </summary>
public class TunnelConstraintsTests
{
    [Theory]
    [InlineData("01234567")]
    [InlineData("89bcdfgh")]
    [InlineData("stvwxzzz")]
    public void IsValidTunnelId_Valid(string tunnelId)
    {
        Assert.True(IsValidOldTunnelId(tunnelId));
        ValidateOldTunnelId(tunnelId);
    }

    [Theory]
    [InlineData(null)]
    [InlineData("")]
    [InlineData("0000000")]   // 7 chars - shorter
    [InlineData("000000000")] // 9 chars - longer
    [InlineData("000-0000")]  // 8 chars with invalid char ('-')
    public void IsValidTunnelId_NotValid(string tunnelId)
    {
        Assert.False(IsValidOldTunnelId(tunnelId));
        if (tunnelId == null)
        {
            Assert.Throws<ArgumentNullException>(() => ValidateOldTunnelId(tunnelId));
        }
        else
        {
            Assert.Throws<ArgumentException>(() => ValidateOldTunnelId(tunnelId));
        }
    }

    [Theory]
    [InlineData("012345679")]
    [InlineData("89bcdfg")]
    [InlineData("test")]
    [InlineData("aaa")]
    [InlineData("bcd-ghjk")]
    [InlineData("jfullerton44-name-with-special-char--jrw9q5vrfjpwx")]
    [InlineData("012345678901234567890123456789012345678901234567890123456789")]
    public void IsValidTunnelName_Valid(string tunnelName)
    {
        Assert.True(IsValidTunnelName(tunnelName));
    }

    [Theory]
    [InlineData("a")]
    [InlineData("0123456789012345678901234567890123456789012345678901234567890")]
    [InlineData("89bcdfgh")]
    [InlineData("stvwxzzz")]
    [InlineData("stv wxzzz")]
    [InlineData("aaaa-bbb-ccc!!!")]
    public void IsValidTunnelName_NotValid(string tunnelName)
    {
        Assert.False(IsValidTunnelName(tunnelName));
    }

    [Theory]
    [InlineData("012345679")]
    [InlineData("89bcdfg")]
    [InlineData("test")]
    [InlineData("aa=a")]
    [InlineData("bcd-ghjk")]
    [InlineData("jfullerton44-name-with-special-char--jrw9q5vrfjpwx")]
    [InlineData("codespace_id=2e0ffd29-b8fa-42bd-94bc-e764a8381ca9")]
    public void IsValidTunnelTag_Valid(string tag)
    {
        Assert.True(IsValidTag(tag));
    }

    [Theory]
    [InlineData("a ")]
    [InlineData("89bcdfg,h")]
    [InlineData("stv wxzzz")]
    [InlineData("aaaa-bbb-ccc!!!")]
    public void IsValidTunnelTag_NotValid(string tag)
    {
        Assert.False(IsValidTag(tag));
    }
}