From b15d56f6e99a1b45d01c2699bdb02f17f6fca183 Mon Sep 17 00:00:00 2001 From: jvyden Date: Wed, 22 Dec 2021 18:49:44 -0500 Subject: [PATCH] Fix tests not using randomized usernames --- ProjectLighthouse.Tests/Tests/DatabaseTests.cs | 7 +++++-- ProjectLighthouse.Tests/Tests/SlotTests.cs | 11 +++++++---- ProjectLighthouse/Database.cs | 7 +++++-- 3 files changed, 17 insertions(+), 8 deletions(-) diff --git a/ProjectLighthouse.Tests/Tests/DatabaseTests.cs b/ProjectLighthouse.Tests/Tests/DatabaseTests.cs index 9c45708d..19416bcb 100644 --- a/ProjectLighthouse.Tests/Tests/DatabaseTests.cs +++ b/ProjectLighthouse.Tests/Tests/DatabaseTests.cs @@ -2,6 +2,7 @@ using System; using System.Threading.Tasks; using LBPUnion.ProjectLighthouse.Helpers; using LBPUnion.ProjectLighthouse.Types; +using Xunit; namespace LBPUnion.ProjectLighthouse.Tests { @@ -16,8 +17,10 @@ namespace LBPUnion.ProjectLighthouse.Tests User userA = await database.CreateUser("createUserTwiceTest" + rand, HashHelper.GenerateAuthToken()); User userB = await database.CreateUser("createUserTwiceTest" + rand, HashHelper.GenerateAuthToken()); - await database.RemoveUser(userA); - await database.RemoveUser(userB); + Assert.NotNull(userA); + Assert.NotNull(userB); + + await database.RemoveUser(userA); // Only remove userA since userA and userB are the same user await database.SaveChangesAsync(); } diff --git a/ProjectLighthouse.Tests/Tests/SlotTests.cs b/ProjectLighthouse.Tests/Tests/SlotTests.cs index 761583e9..4eef03b6 100644 --- a/ProjectLighthouse.Tests/Tests/SlotTests.cs +++ b/ProjectLighthouse.Tests/Tests/SlotTests.cs @@ -1,3 +1,4 @@ +using System; using System.Net.Http; using System.Threading.Tasks; using LBPUnion.ProjectLighthouse.Helpers; @@ -15,8 +16,10 @@ namespace LBPUnion.ProjectLighthouse.Tests { await using Database database = new(); - User userA = await database.CreateUser("unitTestUser0", HashHelper.GenerateAuthToken()); - User userB = await database.CreateUser("unitTestUser1", HashHelper.GenerateAuthToken()); + Random r = new(); + + User userA = await database.CreateUser($"unitTestUser{r.Next()}", HashHelper.GenerateAuthToken()); + User userB = await database.CreateUser($"unitTestUser{r.Next()}", HashHelper.GenerateAuthToken()); Location l = new() { @@ -57,9 +60,9 @@ namespace LBPUnion.ProjectLighthouse.Tests LoginResult loginResult = await this.Authenticate(); HttpResponseMessage respMessageA = await this.AuthenticatedRequest - ("LITTLEBIGPLANETPS3_XML/slots/by?u=unitTestUser0&pageStart=1&pageSize=1", loginResult.AuthTicket); + ($"LITTLEBIGPLANETPS3_XML/slots/by?u={userA.Username}&pageStart=1&pageSize=1", loginResult.AuthTicket); HttpResponseMessage respMessageB = await this.AuthenticatedRequest - ("LITTLEBIGPLANETPS3_XML/slots/by?u=unitTestUser1&pageStart=1&pageSize=1", loginResult.AuthTicket); + ($"LITTLEBIGPLANETPS3_XML/slots/by?u={userB.Username}&pageStart=1&pageSize=1", loginResult.AuthTicket); Assert.True(respMessageA.IsSuccessStatusCode); Assert.True(respMessageB.IsSuccessStatusCode); diff --git a/ProjectLighthouse/Database.cs b/ProjectLighthouse/Database.cs index a8b5b45e..a8ab002d 100644 --- a/ProjectLighthouse/Database.cs +++ b/ProjectLighthouse/Database.cs @@ -256,9 +256,10 @@ namespace LBPUnion.ProjectLighthouse public async Task PhotoFromSubject(PhotoSubject subject) => await this.Photos.FirstOrDefaultAsync(p => p.PhotoSubjectIds.Contains(subject.PhotoSubjectId.ToString())); - - public async Task RemoveUser(User user) + public async Task RemoveUser(User? user) { + if (user == null) return; + if (user.Location != null) this.Locations.Remove(user.Location); LastContact? lastContact = await this.LastContacts.FirstOrDefaultAsync(l => l.UserId == user.UserId); if (lastContact != null) this.LastContacts.Remove(lastContact); @@ -270,11 +271,13 @@ namespace LBPUnion.ProjectLighthouse this.PhotoSubjects.RemoveRange(this.PhotoSubjects.Where(s => s.UserId == user.UserId)); this.HeartedLevels.RemoveRange(this.HeartedLevels.Where(h => h.UserId == user.UserId)); this.VisitedLevels.RemoveRange(this.VisitedLevels.Where(v => v.UserId == user.UserId)); + this.RatedReviews.RemoveRange(this.RatedReviews.Where(r => r.UserId == user.UserId)); this.QueuedLevels.RemoveRange(this.QueuedLevels.Where(q => q.UserId == user.UserId)); this.RatedLevels.RemoveRange(this.RatedLevels.Where(r => r.UserId == user.UserId)); this.GameTokens.RemoveRange(this.GameTokens.Where(t => t.UserId == user.UserId)); this.WebTokens.RemoveRange(this.WebTokens.Where(t => t.UserId == user.UserId)); this.Comments.RemoveRange(this.Comments.Where(c => c.PosterUserId == user.UserId)); + this.Reviews.RemoveRange(this.Reviews.Where(r => r.ReviewerId == user.UserId)); this.Photos.RemoveRange(this.Photos.Where(p => p.CreatorId == user.UserId)); this.Users.Remove(user);