Browse Source

Implement Login Tests for Bot and Bearer Tokens

pull/279/head
Christopher F 8 years ago
parent
commit
8d8be6d6d0
3 changed files with 44 additions and 2 deletions
  1. +12
    -0
      test/Discord.Net.Tests/Framework/Mocks/Rest/Users.cs
  2. +8
    -2
      test/Discord.Net.Tests/Framework/Routes/Users.cs
  3. +24
    -0
      test/Discord.Net.Tests/Rest/LoginTests.cs

+ 12
- 0
test/Discord.Net.Tests/Framework/Mocks/Rest/Users.cs View File

@@ -14,5 +14,17 @@ namespace Discord.Tests.Framework.Mocks.Rest
Verified = true,
Avatar = "cdd7ae679ef37ce03e097221c70aeed6"
};

public static User BotSelfUser => new User()
{
Id = 145584102551060480,
Username = "foxboat",
Discriminator = "8888",
Email = null,
MfaEnabled = true,
Verified = true,
Avatar = "5f0be46cea584d2225e6c15e8418fb52",
Bot = true
};
}
}

+ 8
- 2
test/Discord.Net.Tests/Framework/Routes/Users.cs View File

@@ -16,8 +16,14 @@ namespace Discord.Tests.Framework.Routes
public static object Me(string json, IReadOnlyDictionary<string, string> requestHeaders)
{
if (!requestHeaders.ContainsKey("authorization")) throw new HttpException(HttpStatusCode.Forbidden);
if (requestHeaders["authorization"] != UserToken) throw new HttpException(HttpStatusCode.Forbidden);
return UserMocks.SelfUser;
if (requestHeaders["authorization"] != UserToken
&& requestHeaders["authorization"] != $"Bot {BotToken}"
&& requestHeaders["authorization"] != $"Bearer {BearerToken}") throw new HttpException(HttpStatusCode.Forbidden);

if (requestHeaders["authorization"] == UserToken || requestHeaders["authorization"] == $"Bearer {BearerToken}")
return UserMocks.SelfUser;
else
return UserMocks.BotSelfUser;
}
}
}

+ 24
- 0
test/Discord.Net.Tests/Rest/LoginTests.cs View File

@@ -31,5 +31,29 @@ namespace Discord.Tests.Rest
var client = fixture.Client;
await Assert.ThrowsAsync<ArgumentException>(async () => await client.LoginAsync(TokenType.User, "token.invalid"));
}
[Fact]
public async Task LoginAsBot()
{
var client = fixture.Client;
await client.LoginAsync(TokenType.Bot, Routes.BotToken);
}
[Fact]
public async Task LoginAsBotWithInvalidToken()
{
var client = fixture.Client;
await Assert.ThrowsAsync<ArgumentException>(async () => await client.LoginAsync(TokenType.Bot, "token.invalid"));
}
[Fact]
public async Task LoginAsBearer()
{
var client = fixture.Client;
await client.LoginAsync(TokenType.Bearer, Routes.BearerToken);
}
[Fact]
public async Task LoginAsBearerWithInvalidToken()
{
var client = fixture.Client;
await Assert.ThrowsAsync<ArgumentException>(async () => await client.LoginAsync(TokenType.Bearer, "token.invalid"));
}
}
}

Loading…
Cancel
Save