- using System;
- using System.Collections.Generic;
- using System.Text;
- using Xunit;
-
- namespace Discord
- {
-
-
-
- public class TokenUtilsTests
- {
-
-
-
-
-
- [Theory]
- [InlineData(null)]
- [InlineData("")]
- [InlineData(" ")]
- [InlineData(" ")]
- [InlineData("\t")]
- public void NullOrWhitespaceToken(string token)
- {
-
- Assert.Throws<ArgumentNullException>(() => TokenUtils.ValidateToken(TokenType.Bearer, token));
- Assert.Throws<ArgumentNullException>(() => TokenUtils.ValidateToken(TokenType.Bot, token));
- Assert.Throws<ArgumentNullException>(() => TokenUtils.ValidateToken(TokenType.Webhook, token));
- }
-
-
-
-
-
-
- [Theory]
- [InlineData("123123123")]
-
- [InlineData("MTk4NjIyNDgzNDcxOTI1MjQ4.Cl2FMQ.ZnCjm1XVW7vRze4b7Cq4se7kKWs")]
-
- [InlineData("6qrZcUqja7812RVdnEKjpzOL4CvHBFG")]
-
- [InlineData("937it3ow87i4ery69876wqire")]
- public void WebhookTokenDoesNotThrowExceptions(string token)
- {
- TokenUtils.ValidateToken(TokenType.Webhook, token);
- }
-
-
-
-
-
-
-
-
- [Theory]
- [InlineData("123123123")]
-
- [InlineData("MTk4NjIyNDgzNDcxOTI1MjQ4.Cl2FMQ.ZnCjm1XVW7vRze4b7Cq4se7kKWs")]
-
- [InlineData("6qrZcUqja7812RVdnEKjpzOL4CvHBFG")]
-
- [InlineData("937it3ow87i4ery69876wqire")]
- public void BearerTokenDoesNotThrowExceptions(string token)
- {
- TokenUtils.ValidateToken(TokenType.Bearer, token);
- }
-
-
-
-
-
-
-
-
- [Theory]
-
- [InlineData("MTk4NjIyNDgzNDcxOTI1MjQ4.Cl2FMQ.ZnCjm1XVW7vRze4b7Cq4se7kKW")]
-
- [InlineData("MTk4NjIyNDgzNDcxOTI1MjQ4.Cl2FMQ.ZnCjm1XVW7vRze4b7Cq4se7kKWs")]
- [InlineData("MTk4NjIyNDgzNDcxOTI1MjQ4.Cl2FMQ.ZnCjm1XVW7vRze4b7Cq4se7kKWss")]
- public void BotTokenDoesNotThrowExceptions(string token)
- {
-
-
-
- TokenUtils.ValidateToken(TokenType.Bot, token);
- }
-
-
-
-
-
- [Theory]
- [InlineData("This is invalid")]
-
- [InlineData("6qrZcUqja7812RVdnEKjpzOL4CvHBFG")]
-
- [InlineData("937it3ow87i4ery69876wqire")]
-
- [InlineData("MTk4NjIyNDgzNDcxOTI1MjQ4.Cl2FMQ.ZnCjm1XVW7vRze4b7Cq4se7kK")]
-
- [InlineData("MTk4NjIyNDgzNDcxOTI1MjQ4.Cl2FMQ.ZnCjm1XVW7vRze4b7Cq4se7k ")]
- [InlineData("MTk4NjIyNDgzNDcxOTI1MjQ4.Cl2FMQ.ZnCjm1XVW7vRze4b7Cq4se7k\n")]
- [InlineData("MTk4NjIyNDgzNDcxOTI1MjQ4.Cl2FMQ.ZnCjm1XVW7vRze4b7Cq4se7k\t")]
- [InlineData("MTk4NjIyNDgzNDcxOTI1MjQ4.Cl2FMQ.ZnCjm1XVW7vRze4b7Cq4se7k\r\n")]
-
- [InlineData(" MTk4NjIyNDgzNDcxOTI1MjQ4.Cl2FMQ.ZnCjm1XVW7vRze4b7Cq4se7k")]
- [InlineData("\nMTk4NjIyNDgzNDcxOTI1MjQ4.Cl2FMQ.ZnCjm1XVW7vRze4b7Cq4se7k")]
- [InlineData("\tMTk4NjIyNDgzNDcxOTI1MjQ4.Cl2FMQ.ZnCjm1XVW7vRze4b7Cq4se7k")]
- [InlineData("\r\nMTk4NjIyNDgzNDcxOTI1MjQ4.Cl2FMQ.ZnCjm1XVW7vRze4b7Cq4se7k")]
- [InlineData("This is an invalid token, but it passes the check for string length.")]
-
- [InlineData("MTk4NjIyNDgzNDcxOTI1MjQ4.Cl2FMQ.ZnCjm1XVW7vRze4b7Cq4se7kKWsMTk4NjIyNDgzNDcxOTI1MjQ4.Cl2FMQ.ZnCjm1XVW7vRze4b7Cq4se7kKWs")]
- public void BotTokenInvalidThrowsArgumentException(string token)
- {
- Assert.Throws<ArgumentException>(() => TokenUtils.ValidateToken(TokenType.Bot, token));
- }
-
-
-
-
-
-
-
-
-
- [Theory]
-
- [InlineData(-1)]
- [InlineData(4)]
- [InlineData(7)]
- public void UnrecognizedTokenType(int type)
- {
- Assert.Throws<ArgumentException>(() =>
- TokenUtils.ValidateToken((TokenType)type, "MTk4NjIyNDgzNDcxOTI1MjQ4.Cl2FMQ.ZnCjm1XVW7vRze4b7Cq4se7kKWs"));
- }
-
-
-
-
-
-
- [Theory]
-
- [InlineData("MTk4NjIyNDgzNDcxOTI1MjQ4..", true)]
- [InlineData("MTk4NjIyNDgzNDcxOTI1MjQ4.Cl2FMQ.ZnCjm1XVW7vRze4b7Cq4se7kK", true)]
- [InlineData("MTk4NjIyNDgzNDcxOTI1MjQ4. this part is invalid. this part is also invalid", true)]
- [InlineData("MTk4NjIyNDgzNDcxOTI1MjQ4.", false)]
- [InlineData("MTk4NjIyNDgzNDcxOTI1MjQ4", false)]
- [InlineData("NDI4NDc3OTQ0MDA5MTk1NTIw.xxxx.xxxxx", true)]
-
- [InlineData("", false)]
- [InlineData(null, false)]
- public void CheckBotTokenValidity(string token, bool expected)
- {
- Assert.Equal(expected, TokenUtils.CheckBotTokenValidity(token));
- }
-
- [Theory]
-
-
- [InlineData("NDI4NDc3OTQ0MDA5MTk1NTIw", false, 428477944009195520)]
-
- [InlineData("", true, 0)]
- [InlineData(" ", true, 0)]
- [InlineData(null, true, 0)]
- [InlineData("these chars aren't allowed @U#)*@#!)*", true, 0)]
- public void DecodeBase64UserId(string encodedUserId, bool isNull, ulong expectedUserId)
- {
- var result = TokenUtils.DecodeBase64UserId(encodedUserId);
- if (isNull)
- Assert.Null(result);
- else
- Assert.Equal(expectedUserId, result);
- }
- }
- }
|