mirror of
https://github.com/LBPUnion/ProjectLighthouse.git
synced 2025-05-17 07:12:32 +00:00
* Make tests run in release mode * Fix multiple command in ci * I forgot how yaml works * Shitty workaround * grr mondays * Add an NP ticket builder for unit tests * Add NP ticket unit testing * Fix range indexers for finding uid * Fix LoginTests * Validate unit test signatures * Make builder code follow same style conventions * Remove remnant of hardcoded issuer id
63 lines
No EOL
2.2 KiB
C#
63 lines
No EOL
2.2 KiB
C#
using System.Net;
|
|
using System.Net.Http;
|
|
using System.Threading.Tasks;
|
|
using LBPUnion.ProjectLighthouse.Helpers;
|
|
using LBPUnion.ProjectLighthouse.PlayerData;
|
|
using LBPUnion.ProjectLighthouse.Servers.GameServer.Startup;
|
|
using LBPUnion.ProjectLighthouse.Tests;
|
|
using Xunit;
|
|
|
|
namespace ProjectLighthouse.Tests.GameApiTests.Tests;
|
|
|
|
public class AuthenticationTests : LighthouseServerTest<GameServerTestStartup>
|
|
{
|
|
[Fact]
|
|
public async Task ShouldReturnErrorOnNoPostData()
|
|
{
|
|
HttpResponseMessage response = await this.Client.PostAsync("/LITTLEBIGPLANETPS3_XML/login", null!);
|
|
Assert.False(response.IsSuccessStatusCode);
|
|
Assert.True(response.StatusCode == HttpStatusCode.BadRequest);
|
|
}
|
|
|
|
[DatabaseFact]
|
|
public async Task ShouldReturnWithValidData()
|
|
{
|
|
HttpResponseMessage response = await this.AuthenticateResponse();
|
|
Assert.True(response.IsSuccessStatusCode);
|
|
string responseContent = await response.Content.ReadAsStringAsync();
|
|
Assert.Contains("MM_AUTH=", responseContent);
|
|
Assert.Contains(VersionHelper.EnvVer, responseContent);
|
|
}
|
|
|
|
[DatabaseFact]
|
|
public async Task CanSerializeBack()
|
|
{
|
|
LoginResult loginResult = await this.Authenticate();
|
|
|
|
Assert.NotNull(loginResult);
|
|
Assert.NotNull(loginResult.AuthTicket);
|
|
Assert.NotNull(loginResult.ServerBrand);
|
|
|
|
Assert.Contains("MM_AUTH=", loginResult.AuthTicket);
|
|
Assert.Equal(VersionHelper.EnvVer, loginResult.ServerBrand);
|
|
}
|
|
|
|
[DatabaseFact]
|
|
public async Task CanUseToken()
|
|
{
|
|
LoginResult loginResult = await this.Authenticate();
|
|
|
|
HttpResponseMessage response = await this.AuthenticatedRequest("/LITTLEBIGPLANETPS3_XML/enterLevel/420", loginResult.AuthTicket);
|
|
await response.Content.ReadAsStringAsync();
|
|
|
|
Assert.False(response.StatusCode == HttpStatusCode.Forbidden);
|
|
}
|
|
|
|
[DatabaseFact]
|
|
public async Task ShouldReturnForbiddenWhenNotAuthenticated()
|
|
{
|
|
HttpResponseMessage response = await this.Client.GetAsync("/LITTLEBIGPLANETPS3_XML/announce");
|
|
Assert.False(response.IsSuccessStatusCode);
|
|
Assert.True(response.StatusCode == HttpStatusCode.Forbidden);
|
|
}
|
|
} |