From 47b85c9ea75b8e7702953c9c91b849d21310fa9b Mon Sep 17 00:00:00 2001 From: Thomas <gltron3000@gmail.com> Date: Fri, 29 May 2020 15:20:22 +0200 Subject: [PATCH] Random fixs --- docker-compose.yml | 2 +- mozen/src/main/java/mozen/model/Model.java | 31 ++++++++++- .../java/mozen/business/UserManagerTest.java | 51 ++++++++++++++++--- .../java/mozen/web/UserControllerTest.java | 2 +- 4 files changed, 76 insertions(+), 10 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 6f555f0..06e81b6 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -24,5 +24,5 @@ services: ports: - 8007:8181 volumes: - - /data/mozen_data/store:/home/data + - /data/mozen_data/store:/data restart: unless-stopped diff --git a/mozen/src/main/java/mozen/model/Model.java b/mozen/src/main/java/mozen/model/Model.java index 1be7cc0..f0bcaa6 100644 --- a/mozen/src/main/java/mozen/model/Model.java +++ b/mozen/src/main/java/mozen/model/Model.java @@ -122,10 +122,18 @@ public class Model implements Serializable{ @OneToMany(mappedBy = "model", fetch = FetchType.LAZY, cascade = CascadeType.ALL, orphanRemoval = true) private Set<Comment> comments; + @Basic + @ManyToMany(fetch = FetchType.LAZY, cascade = {CascadeType.MERGE, CascadeType.PERSIST}) + private Set<User> upvotes; + + @Basic + @ManyToMany(fetch = FetchType.LAZY, cascade = {CascadeType.MERGE, CascadeType.PERSIST}) + private Set<User> downvotes; + public Model() { } - public Model(Long id, String name, String shortDescription, String longDescription, Date added, Date lastModified, int votes, double performance, String performanceUnit, double performanceIndex, int parameterCount, String fileName, String contentId, long contentLength, String fileType, String checksum, boolean isVerified, User author, Set<Tag> tags, Set<CustomLayer> customLayers, Set<Comment> comments) { + public Model(Long id, String name, String shortDescription, String longDescription, Date added, Date lastModified, int votes, double performance, String performanceUnit, double performanceIndex, int parameterCount, String fileName, String contentId, long contentLength, String fileType, String checksum, boolean isVerified, User author, Set<Tag> tags, Set<CustomLayer> customLayers, Set<Comment> comments, Set<User> upvotes, Set<User> downvotes) { this.id = id; this.name = name; this.shortDescription = shortDescription; @@ -147,8 +155,10 @@ public class Model implements Serializable{ this.tags = tags; this.customLayers = customLayers; this.comments = comments; + this.upvotes = upvotes; + this.downvotes = downvotes; } - + @JsonIgnore public double getPerformanceIndex() { return this.performanceIndex; @@ -325,5 +335,22 @@ public class Model implements Serializable{ this.fileName = fileName; } + @JsonIgnore + public Set<User> getUpvotes() { + return this.upvotes; + } + + public void setUpvotes(Set<User> upvotes) { + this.upvotes = upvotes; + } + + @JsonIgnore + public Set<User> getDownvotes() { + return this.downvotes; + } + + public void setDownvotes(Set<User> downvotes) { + this.downvotes = downvotes; + } } \ No newline at end of file diff --git a/mozen/src/test/java/mozen/business/UserManagerTest.java b/mozen/src/test/java/mozen/business/UserManagerTest.java index 574a0e8..5ab01ce 100644 --- a/mozen/src/test/java/mozen/business/UserManagerTest.java +++ b/mozen/src/test/java/mozen/business/UserManagerTest.java @@ -11,6 +11,7 @@ import org.springframework.boot.test.context.SpringBootTest; import org.springframework.transaction.annotation.Transactional; import mozen.messages.SignupMessage; +import mozen.messages.UserUpdateMessage; import mozen.model.User; @SpringBootTest @@ -20,12 +21,12 @@ public class UserManagerTest { @Test @Transactional - void addUserTest () { + void addUserTest() { SignupMessage message = new SignupMessage(); message.setEmail("test@test.com"); message.setUsername("testuser"); message.setPassword("1234"); - + User user = userManager.addUser(message); assertEquals(message.getEmail(), user.getEmail()); @@ -35,7 +36,7 @@ public class UserManagerTest { @Test @Transactional - void getUserTest () { + void getUserTest() { User user = userManager.addUser(new SignupMessage("testuser", "1234", "test@test.com")); User userFind = userManager.getUser(user.getId()); @@ -45,7 +46,7 @@ public class UserManagerTest { @Test @Transactional - void getUserByUsernameTest () { + void getUserByUsernameTest() { User user = userManager.addUser(new SignupMessage("testuser", "1234", "test@test.com")); User userFind = userManager.getUserByUsername(user.getUsername()); @@ -54,8 +55,46 @@ public class UserManagerTest { } @Test - void updateUserTest () { - assertTrue(true); + void updateUserTest() { + User user = userManager.addUser(new SignupMessage("testuser", "1234", "test@test.com")); + + UserUpdateMessage message = new UserUpdateMessage(); + message.setId(user.getId()); + message.setUsername("newtestuser"); + message.setEmail("newtest@test.com"); + + try { + userManager.updateUser(user, message); + } catch (Exception e) { + assertTrue(false); + } + + User userFind = userManager.getUser(user.getId()); + assertEquals(message.getUsername(), userFind.getUsername()); + assertEquals(message.getEmail(), userFind.getEmail()); + assertEquals(message.getUsername(), userFind.getUsername()); + } + + @Test + void updateUserNotRightTest() { + User user = userManager.addUser(new SignupMessage("testuser", "1234", "test@test.com")); + User user2 = userManager.addUser(new SignupMessage("testuser2", "1234", "test2@test.com")); + + UserUpdateMessage message = new UserUpdateMessage(); + message.setId(user.getId()); + message.setUsername("newtestuser"); + message.setEmail("newtest@test.com"); + + try { + userManager.updateUser(user2, message); + assertTrue(false); + } catch (Exception e) { + assertTrue(true); + User userFind = userManager.getUser(user.getId()); + assertEquals(message.getUsername(), userFind.getUsername()); + assertEquals(message.getEmail(), userFind.getEmail()); + assertEquals(message.getUsername(), userFind.getUsername()); + } } @Test diff --git a/mozen/src/test/java/mozen/web/UserControllerTest.java b/mozen/src/test/java/mozen/web/UserControllerTest.java index 34310e2..558323d 100644 --- a/mozen/src/test/java/mozen/web/UserControllerTest.java +++ b/mozen/src/test/java/mozen/web/UserControllerTest.java @@ -7,5 +7,5 @@ import org.springframework.test.context.junit.jupiter.SpringExtension; @ExtendWith(SpringExtension.class) @SpringBootTest public class UserControllerTest { - + } \ No newline at end of file -- GitLab