aboutsummaryrefslogtreecommitdiff
path: root/tests/Jellyfin.Server.Implementations.Tests/Users/UserManagerTests.cs
blob: 665afe111866b0eed44b45f0846c81ef8c9e6f97 (plain)
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
using System;
using Jellyfin.Server.Implementations.Users;
using Xunit;

namespace Jellyfin.Server.Implementations.Tests.Users
{
    public class UserManagerTests
    {
        [Theory]
        [InlineData("this_is_valid")]
        [InlineData("this is also valid")]
        [InlineData("0@_-' .")]
        [InlineData("Aa0@_-' .+")]
        [InlineData("thisisa+testemail@test.foo")]
        [InlineData("------@@@--+++----@@--abcdefghijklmn---------@----_-_-___-_ .9foo+")]
        public void ThrowIfInvalidUsername_WhenValidUsername_DoesNotThrowArgumentException(string username)
        {
            var ex = Record.Exception(() => UserManager.ThrowIfInvalidUsername(username));
            Assert.Null(ex);
        }

        [Theory]
        [InlineData(" ")]
        [InlineData("")]
        [InlineData("special characters like & $ ? are not allowed")]
        public void ThrowIfInvalidUsername_WhenInvalidUsername_ThrowsArgumentException(string username)
        {
            Assert.Throws<ArgumentException>(() => UserManager.ThrowIfInvalidUsername(username));
        }
    }
}