ProjectLighthouse/ProjectLighthouse.Tests.GameApiTests/Tests/AuthenticationTests.cs
Toru the Red Fox 6525ebe3cb
lbpEnvVer parity (somewhat, GameServer) and player polaroid resolution fix (Website) (#373)
* lbp2 beta tweaks

* tweaks

* oops

* pls work

* PLS

* Update UserCardPartial.cshtml

* news reimplementation testing

trying to fix it for lbp1

* a

* configurable envver

* Make numeric revision numbers only usable on full clones

* little comment to describe what EnvVer is

* remove news (again)

* remove redundancy when dirty

* document envver stuff

* remove numeric versioning for upstream merge

* Revert "remove numeric versioning for upstream merge"

This reverts commit 3e7d8eccbc.

* Revert "Revert "remove numeric versioning for upstream merge""

This reverts commit 7fbe145b80.

* Delete gitIsShallowRepo.txt

* accidentally deleted the wrong line oops

* Update VersionHelper.cs

Co-authored-by: Jayden <jvyden@jvyden.xyz>
2022-07-27 20:03:44 +00:00

63 lines
No EOL
2.1 KiB
C#

using System.Net;
using System.Net.Http;
using System.Threading.Tasks;
using LBPUnion.ProjectLighthouse.Configuration;
using LBPUnion.ProjectLighthouse.Helpers;
using LBPUnion.ProjectLighthouse.PlayerData;
using LBPUnion.ProjectLighthouse.Tests;
using Xunit;
namespace ProjectLighthouse.Tests.GameApiTests.Tests;
public class AuthenticationTests : LighthouseServerTest
{
[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);
}
}