diff --git a/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/Donation.java b/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/Donation.java index 16e44cb..c72fbee 100644 --- a/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/Donation.java +++ b/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/Donation.java @@ -1,5 +1,7 @@ package ntnu.sytemutvikling.team6.models; +import ntnu.sytemutvikling.team6.models.user.User; + import java.time.LocalDateTime; import java.util.UUID; diff --git a/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/Feedback.java b/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/Feedback.java index 2a0657e..4825c95 100644 --- a/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/Feedback.java +++ b/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/Feedback.java @@ -1,5 +1,7 @@ package ntnu.sytemutvikling.team6.models; +import ntnu.sytemutvikling.team6.models.user.User; + import java.time.LocalDateTime; import java.util.UUID; diff --git a/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/Inbox.java b/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/user/Inbox.java similarity index 97% rename from helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/Inbox.java rename to helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/user/Inbox.java index 00c8f52..2aa0605 100644 --- a/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/Inbox.java +++ b/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/user/Inbox.java @@ -1,4 +1,4 @@ -package ntnu.sytemutvikling.team6.models; +package ntnu.sytemutvikling.team6.models.user; import java.util.*; diff --git a/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/Language.java b/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/user/Language.java similarity index 70% rename from helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/Language.java rename to helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/user/Language.java index d4ab0ae..0afb14c 100644 --- a/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/Language.java +++ b/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/user/Language.java @@ -1,4 +1,4 @@ -package ntnu.sytemutvikling.team6.models; +package ntnu.sytemutvikling.team6.models.user; /** * Supported application languages. diff --git a/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/Message.java b/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/user/Message.java similarity index 97% rename from helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/Message.java rename to helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/user/Message.java index 10ea569..eba920f 100644 --- a/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/Message.java +++ b/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/user/Message.java @@ -1,4 +1,4 @@ -package ntnu.sytemutvikling.team6.models; +package ntnu.sytemutvikling.team6.models.user; import java.time.LocalDateTime; import java.util.UUID; diff --git a/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/Role.java b/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/user/Role.java similarity index 70% rename from helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/Role.java rename to helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/user/Role.java index cde9117..74e134f 100644 --- a/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/Role.java +++ b/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/user/Role.java @@ -1,4 +1,4 @@ -package ntnu.sytemutvikling.team6.models; +package ntnu.sytemutvikling.team6.models.user; /** * Available users diff --git a/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/Settings.java b/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/user/Settings.java similarity index 97% rename from helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/Settings.java rename to helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/user/Settings.java index cd70f0a..6bbc685 100644 --- a/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/Settings.java +++ b/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/user/Settings.java @@ -1,4 +1,4 @@ -package ntnu.sytemutvikling.team6.models; +package ntnu.sytemutvikling.team6.models.user; // Mangler Enhetstesting diff --git a/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/User.java b/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/user/User.java similarity index 94% rename from helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/User.java rename to helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/user/User.java index a6a87ad..654fff6 100644 --- a/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/User.java +++ b/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/user/User.java @@ -1,4 +1,6 @@ -package ntnu.sytemutvikling.team6.models; +package ntnu.sytemutvikling.team6.models.user; + +import ntnu.sytemutvikling.team6.security.PasswordHasher; import java.util.UUID; diff --git a/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/PasswordHasher.java b/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/security/PasswordHasher.java similarity index 98% rename from helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/PasswordHasher.java rename to helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/security/PasswordHasher.java index 72d3562..60b2876 100644 --- a/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/PasswordHasher.java +++ b/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/security/PasswordHasher.java @@ -1,4 +1,4 @@ -package ntnu.sytemutvikling.team6.models; +package ntnu.sytemutvikling.team6.security; import java.security.MessageDigest; import java.security.SecureRandom; diff --git a/helpmehelpapplication/src/test/java/ntnu/sytemutvikling/team6/security/PasswordHasherTest.java b/helpmehelpapplication/src/test/java/ntnu/sytemutvikling/team6/security/PasswordHasherTest.java new file mode 100644 index 0000000..68a9409 --- /dev/null +++ b/helpmehelpapplication/src/test/java/ntnu/sytemutvikling/team6/security/PasswordHasherTest.java @@ -0,0 +1,70 @@ +package ntnu.sytemutvikling.team6.security; + +import org.junit.jupiter.api.Nested; +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.*; + +class PasswordHasherTest { + private final PasswordHasher hasher = new PasswordHasher(); + + @Nested + class getHashPasswordTest { + + @Test + void shouldThrowIfPasswordIsNull() { + assertThrows(IllegalArgumentException.class, () -> hasher.getHashPassword(null)); + } + + @Test + void shouldThrowIfPasswordIsBlank() { + assertThrows(IllegalArgumentException.class, () -> hasher.getHashPassword(" ")); + } + + @Test + void shouldReturnDifferentHashesForSamePasswordBecauseSaltIsRandom() { + String test1 = hasher.getHashPassword("Password"); + String test2 = hasher.getHashPassword("Password"); + + assertNotEquals(test1, test2); + } + } + + @Nested + class isValidPasswordTest { + + @Test + void shouldReturnTrueForCorrectPassword() { + String test = hasher.getHashPassword("Password"); + assertTrue(hasher.isValidPassword("Password", test)); + } + + @Test + void shouldReturnFalseForWrongPassword() { + String test = hasher.getHashPassword("Password"); + assertFalse(hasher.isValidPassword("password", test)); + } + + @Test + void shouldReturnFalseIfPasswordIsBlank() { + String test = hasher.getHashPassword("Test"); + assertFalse(hasher.isValidPassword(" ", test)); + } + + @Test + void shouldReturnFalseIfPasswordIsNull() { + String test = hasher.getHashPassword("Test"); + assertFalse(hasher.isValidPassword(null, test)); + } + + @Test + void shouldThrowIfStoredHashIsNull() { + assertThrows(RuntimeException.class, () -> hasher.isValidPassword("Password", null)); + } + + @Test + void shouldThrowIfStoredHashIsBlank() { + assertThrows(RuntimeException.class, () -> hasher.isValidPassword("Password", " ")); + } + } +} \ No newline at end of file diff --git a/helpmehelpapplication/target/classes/ntnu/sytemutvikling/team6/Main.class b/helpmehelpapplication/target/classes/ntnu/sytemutvikling/team6/Main.class new file mode 100644 index 0000000..110f8b9 Binary files /dev/null and b/helpmehelpapplication/target/classes/ntnu/sytemutvikling/team6/Main.class differ diff --git a/helpmehelpapplication/target/classes/ntnu/sytemutvikling/team6/models/Charity.class b/helpmehelpapplication/target/classes/ntnu/sytemutvikling/team6/models/Charity.class index 7803742..ef0710b 100644 Binary files a/helpmehelpapplication/target/classes/ntnu/sytemutvikling/team6/models/Charity.class and b/helpmehelpapplication/target/classes/ntnu/sytemutvikling/team6/models/Charity.class differ diff --git a/helpmehelpapplication/target/classes/ntnu/sytemutvikling/team6/models/CharityRegistry.class b/helpmehelpapplication/target/classes/ntnu/sytemutvikling/team6/models/CharityRegistry.class index 61b8503..c923756 100644 Binary files a/helpmehelpapplication/target/classes/ntnu/sytemutvikling/team6/models/CharityRegistry.class and b/helpmehelpapplication/target/classes/ntnu/sytemutvikling/team6/models/CharityRegistry.class differ diff --git a/helpmehelpapplication/target/classes/ntnu/sytemutvikling/team6/models/Donation.class b/helpmehelpapplication/target/classes/ntnu/sytemutvikling/team6/models/Donation.class index 78d4151..eeddec5 100644 Binary files a/helpmehelpapplication/target/classes/ntnu/sytemutvikling/team6/models/Donation.class and b/helpmehelpapplication/target/classes/ntnu/sytemutvikling/team6/models/Donation.class differ diff --git a/helpmehelpapplication/target/classes/ntnu/sytemutvikling/team6/models/DonationRegistry.class b/helpmehelpapplication/target/classes/ntnu/sytemutvikling/team6/models/DonationRegistry.class index 1b81460..4f9d393 100644 Binary files a/helpmehelpapplication/target/classes/ntnu/sytemutvikling/team6/models/DonationRegistry.class and b/helpmehelpapplication/target/classes/ntnu/sytemutvikling/team6/models/DonationRegistry.class differ diff --git a/helpmehelpapplication/target/classes/ntnu/sytemutvikling/team6/models/Feedback.class b/helpmehelpapplication/target/classes/ntnu/sytemutvikling/team6/models/Feedback.class index 28853ec..e4b6592 100644 Binary files a/helpmehelpapplication/target/classes/ntnu/sytemutvikling/team6/models/Feedback.class and b/helpmehelpapplication/target/classes/ntnu/sytemutvikling/team6/models/Feedback.class differ diff --git a/helpmehelpapplication/target/classes/ntnu/sytemutvikling/team6/models/Inbox.class b/helpmehelpapplication/target/classes/ntnu/sytemutvikling/team6/models/Inbox.class deleted file mode 100644 index 72613e7..0000000 Binary files a/helpmehelpapplication/target/classes/ntnu/sytemutvikling/team6/models/Inbox.class and /dev/null differ diff --git a/helpmehelpapplication/target/classes/ntnu/sytemutvikling/team6/models/Language.class b/helpmehelpapplication/target/classes/ntnu/sytemutvikling/team6/models/Language.class deleted file mode 100644 index de22840..0000000 Binary files a/helpmehelpapplication/target/classes/ntnu/sytemutvikling/team6/models/Language.class and /dev/null differ diff --git a/helpmehelpapplication/target/classes/ntnu/sytemutvikling/team6/models/Message.class b/helpmehelpapplication/target/classes/ntnu/sytemutvikling/team6/models/Message.class deleted file mode 100644 index 12c1cec..0000000 Binary files a/helpmehelpapplication/target/classes/ntnu/sytemutvikling/team6/models/Message.class and /dev/null differ diff --git a/helpmehelpapplication/target/classes/ntnu/sytemutvikling/team6/models/Role.class b/helpmehelpapplication/target/classes/ntnu/sytemutvikling/team6/models/Role.class deleted file mode 100644 index f19f0d3..0000000 Binary files a/helpmehelpapplication/target/classes/ntnu/sytemutvikling/team6/models/Role.class and /dev/null differ diff --git a/helpmehelpapplication/target/classes/ntnu/sytemutvikling/team6/models/Settings.class b/helpmehelpapplication/target/classes/ntnu/sytemutvikling/team6/models/Settings.class deleted file mode 100644 index 9420861..0000000 Binary files a/helpmehelpapplication/target/classes/ntnu/sytemutvikling/team6/models/Settings.class and /dev/null differ diff --git a/helpmehelpapplication/target/classes/ntnu/sytemutvikling/team6/models/User.class b/helpmehelpapplication/target/classes/ntnu/sytemutvikling/team6/models/User.class deleted file mode 100644 index c0cc6c8..0000000 Binary files a/helpmehelpapplication/target/classes/ntnu/sytemutvikling/team6/models/User.class and /dev/null differ diff --git a/helpmehelpapplication/target/classes/ntnu/sytemutvikling/team6/models/UserRegistry.class b/helpmehelpapplication/target/classes/ntnu/sytemutvikling/team6/models/UserRegistry.class index 970aced..ce901b4 100644 Binary files a/helpmehelpapplication/target/classes/ntnu/sytemutvikling/team6/models/UserRegistry.class and b/helpmehelpapplication/target/classes/ntnu/sytemutvikling/team6/models/UserRegistry.class differ diff --git a/helpmehelpapplication/target/classes/ntnu/sytemutvikling/team6/models/user/Inbox.class b/helpmehelpapplication/target/classes/ntnu/sytemutvikling/team6/models/user/Inbox.class new file mode 100644 index 0000000..4e08a72 Binary files /dev/null and b/helpmehelpapplication/target/classes/ntnu/sytemutvikling/team6/models/user/Inbox.class differ diff --git a/helpmehelpapplication/target/classes/ntnu/sytemutvikling/team6/models/user/Language.class b/helpmehelpapplication/target/classes/ntnu/sytemutvikling/team6/models/user/Language.class new file mode 100644 index 0000000..5520821 Binary files /dev/null and b/helpmehelpapplication/target/classes/ntnu/sytemutvikling/team6/models/user/Language.class differ diff --git a/helpmehelpapplication/target/classes/ntnu/sytemutvikling/team6/models/user/Message.class b/helpmehelpapplication/target/classes/ntnu/sytemutvikling/team6/models/user/Message.class new file mode 100644 index 0000000..e556e51 Binary files /dev/null and b/helpmehelpapplication/target/classes/ntnu/sytemutvikling/team6/models/user/Message.class differ diff --git a/helpmehelpapplication/target/classes/ntnu/sytemutvikling/team6/models/user/Role.class b/helpmehelpapplication/target/classes/ntnu/sytemutvikling/team6/models/user/Role.class new file mode 100644 index 0000000..8d6c32e Binary files /dev/null and b/helpmehelpapplication/target/classes/ntnu/sytemutvikling/team6/models/user/Role.class differ diff --git a/helpmehelpapplication/target/classes/ntnu/sytemutvikling/team6/models/user/Settings.class b/helpmehelpapplication/target/classes/ntnu/sytemutvikling/team6/models/user/Settings.class new file mode 100644 index 0000000..26851ad Binary files /dev/null and b/helpmehelpapplication/target/classes/ntnu/sytemutvikling/team6/models/user/Settings.class differ diff --git a/helpmehelpapplication/target/classes/ntnu/sytemutvikling/team6/models/user/User.class b/helpmehelpapplication/target/classes/ntnu/sytemutvikling/team6/models/user/User.class new file mode 100644 index 0000000..3a155f9 Binary files /dev/null and b/helpmehelpapplication/target/classes/ntnu/sytemutvikling/team6/models/user/User.class differ diff --git a/helpmehelpapplication/target/classes/ntnu/sytemutvikling/team6/security/PasswordHasher.class b/helpmehelpapplication/target/classes/ntnu/sytemutvikling/team6/security/PasswordHasher.class new file mode 100644 index 0000000..e454773 Binary files /dev/null and b/helpmehelpapplication/target/classes/ntnu/sytemutvikling/team6/security/PasswordHasher.class differ diff --git a/helpmehelpapplication/target/test-classes/ntnu/sytemutvikling/team6/security/PasswordHasherTest$getHashPasswordTest.class b/helpmehelpapplication/target/test-classes/ntnu/sytemutvikling/team6/security/PasswordHasherTest$getHashPasswordTest.class new file mode 100644 index 0000000..4047693 Binary files /dev/null and b/helpmehelpapplication/target/test-classes/ntnu/sytemutvikling/team6/security/PasswordHasherTest$getHashPasswordTest.class differ diff --git a/helpmehelpapplication/target/test-classes/ntnu/sytemutvikling/team6/security/PasswordHasherTest$isValidPasswordTest.class b/helpmehelpapplication/target/test-classes/ntnu/sytemutvikling/team6/security/PasswordHasherTest$isValidPasswordTest.class new file mode 100644 index 0000000..7d04343 Binary files /dev/null and b/helpmehelpapplication/target/test-classes/ntnu/sytemutvikling/team6/security/PasswordHasherTest$isValidPasswordTest.class differ diff --git a/helpmehelpapplication/target/test-classes/ntnu/sytemutvikling/team6/security/PasswordHasherTest.class b/helpmehelpapplication/target/test-classes/ntnu/sytemutvikling/team6/security/PasswordHasherTest.class new file mode 100644 index 0000000..93e185d Binary files /dev/null and b/helpmehelpapplication/target/test-classes/ntnu/sytemutvikling/team6/security/PasswordHasherTest.class differ