From e1e7d936bec3629970415f85f2a62e462e5fbcda Mon Sep 17 00:00:00 2001 From: jensp Date: Thu, 25 Jun 2015 18:38:17 +0000 Subject: [PATCH] - Improved test of UserRepository - Cleanup script for MySQL git-svn-id: https://svn.libreccm.org/ccm/ccm_ng@3504 8810af33-2d31-482b-a856-94f89814c4df --- .../main/java/org/libreccm/core/Subject.java | 6 +- .../src/main/java/org/libreccm/core/User.java | 4 +- .../org/libreccm/core/UserRepositoryTest.java | 150 ++++++++++++------ .../arquillian.xml | 2 +- .../src/test/resources/scripts/h2-cleanup.sql | 8 +- .../test/resources/scripts/mysql-cleanup.sql | 7 + .../test/resources/scripts/pgsql-cleanup.sql | 8 +- pom.xml | 7 + 8 files changed, 139 insertions(+), 53 deletions(-) create mode 100644 ccm-core/src/test/resources/scripts/mysql-cleanup.sql diff --git a/ccm-core/src/main/java/org/libreccm/core/Subject.java b/ccm-core/src/main/java/org/libreccm/core/Subject.java index 71936a996..578e5b0c1 100644 --- a/ccm-core/src/main/java/org/libreccm/core/Subject.java +++ b/ccm-core/src/main/java/org/libreccm/core/Subject.java @@ -135,7 +135,6 @@ public class Subject implements Serializable { public int hashCode() { int hash = 7; hash = 53 * hash + (int) (subjectId ^ (subjectId >>> 32)); - hash = 53 * hash + Objects.hashCode(emailAddresses); return hash; } @@ -156,7 +155,7 @@ public class Subject implements Serializable { return false; } - return Objects.equals(emailAddresses, other.getEmailAddresses()); + return (subjectId == other.getSubjectId()); } public boolean canEqual(final Object obj) { @@ -172,7 +171,8 @@ public class Subject implements Serializable { return String.format("%s{ " + "subjectId = %d, " + "emailAddresses = %s" - + "%s}", + + "%s" + + " }", super.toString(), subjectId, Objects.toString(emailAddresses), diff --git a/ccm-core/src/main/java/org/libreccm/core/User.java b/ccm-core/src/main/java/org/libreccm/core/User.java index 6735243b9..8c633410d 100644 --- a/ccm-core/src/main/java/org/libreccm/core/User.java +++ b/ccm-core/src/main/java/org/libreccm/core/User.java @@ -351,8 +351,8 @@ public class User extends Subject implements Serializable { return super.toString(String.format(", name = %s, " + "screenName = \"%s\", " + "banned = %b, " - + "ssoLogin = \"%s\"" - + "hashAlgorithm = \"%s\"" + + "ssoLogin = \"%s\" " + + "hashAlgorithm = \"%s\" " + "passwordResetRequired = %b%s", Objects.toString(name), screenName, diff --git a/ccm-core/src/test/java/org/libreccm/core/UserRepositoryTest.java b/ccm-core/src/test/java/org/libreccm/core/UserRepositoryTest.java index e0d2bb2d8..49d9afda3 100644 --- a/ccm-core/src/test/java/org/libreccm/core/UserRepositoryTest.java +++ b/ccm-core/src/test/java/org/libreccm/core/UserRepositoryTest.java @@ -137,17 +137,11 @@ public class UserRepositoryTest { assertThat(entityManager, is(not(nullValue()))); } - @Test - @UsingDataSet( - "datasets/org/libreccm/core/UserRepositoryTest/data.json") - @InSequence(10) - public void findUserByScreenName() { - final User jdoe = userRepository.findByScreenName(JDOE); - final User mmuster = userRepository.findByScreenName(MMUSTER); - final User joe = userRepository.findByScreenName(JOE); - final User nobody = userRepository.findByScreenName(NOBODY); - - assertThat(jdoe, is(not(nullValue()))); + private void checkUsers(final User jdoe, + final User mmuster, + final User joe, + final User nobody) { + assertThat(jdoe, is(not(nullValue()))); assertThat(jdoe.getSubjectId(), is(-10L)); assertThat(jdoe.getScreenName(), is(JDOE)); assertThat(jdoe.getName().getFamilyName(), is(equalTo("Doe"))); @@ -180,12 +174,73 @@ public class UserRepositoryTest { assertThat(joe.getSalt(), is(equalTo("axg8ira8fa"))); assertThat(nobody, is(nullValue())); + + } + + @Test + @UsingDataSet( + "datasets/org/libreccm/core/UserRepositoryTest/data.json") + @InSequence(10) + public void findUserById() { + final User jdoe = userRepository.findById(-10L); + final User mmuster = userRepository.findById(-20L); + final User joe = userRepository.findById(-30L); + final User nobody = userRepository.findById(-999L); + + checkUsers(jdoe, mmuster, joe, nobody); + } + + @Test + @UsingDataSet( + "datasets/org/libreccm/core/UserRepositoryTest/data.json") + @InSequence(20) + public void findUserByScreenName() { + final User jdoe = userRepository.findByScreenName(JDOE); + final User mmuster = userRepository.findByScreenName(MMUSTER); + final User joe = userRepository.findByScreenName(JOE); + final User nobody = userRepository.findByScreenName(NOBODY); + + checkUsers(jdoe, mmuster, joe, nobody); + +// assertThat(jdoe, is(not(nullValue()))); +// assertThat(jdoe.getSubjectId(), is(-10L)); +// assertThat(jdoe.getScreenName(), is(JDOE)); +// assertThat(jdoe.getName().getFamilyName(), is(equalTo("Doe"))); +// assertThat(jdoe.getName().getMiddleName(), is(nullValue())); +// assertThat(jdoe.getName().getGivenName(), is(equalTo("John"))); +// assertThat(jdoe.getHashAlgorithm(), is("MD5")); +// assertThat(jdoe.getPassword(), is("604622dc8a888eb093454ebd77ca1675")); +// assertThat(jdoe.getSalt(), is("axg8ira8fa")); +// +// assertThat(mmuster, is(not(nullValue()))); +// assertThat(mmuster.getSubjectId(), is(-20L)); +// assertThat(mmuster.getScreenName(), is(equalTo(MMUSTER))); +// assertThat(mmuster.getName().getFamilyName(), is(equalTo("Mustermann"))); +// assertThat(mmuster.getName().getMiddleName(), is(nullValue())); +// assertThat(mmuster.getName().getGivenName(), is(equalTo("Max"))); +// assertThat(mmuster.getHashAlgorithm(), is(equalTo("SHA-512"))); +// assertThat(mmuster.getPassword(), is(equalTo( +// "1c9626af429a6291766d15cbfb38689bd8d49450520765973de70aecaf644b7d4fda711266ba9ec8fb6df30c8ab391d40330829aa85adf371bcde6b4c9bc01e6"))); +// assertThat(mmuster.getSalt(), is(equalTo("fjiajhigafgapoa"))); +// +// assertThat(joe, is(not(nullValue()))); +// assertThat(joe.getSubjectId(), is(-30L)); +// assertThat(joe.getScreenName(), is(equalTo(JOE))); +// assertThat(joe.getName().getFamilyName(), is(equalTo("Public"))); +// assertThat(joe.getName().getMiddleName(), is(nullValue())); +// assertThat(joe.getName().getGivenName(), is(equalTo("Joe"))); +// assertThat(joe.getHashAlgorithm(), is(equalTo("SHA-512"))); +// assertThat(joe.getPassword(), is(equalTo( +// "4e39eba7f2927182a532cd8700bf251e58d4b0359fbb832e6af21db7501d7a49e6d8b950e0d4b15b1841af0f786c8edaa0c09ef7f474804254f7e895969d2975"))); +// assertThat(joe.getSalt(), is(equalTo("axg8ira8fa"))); +// +// assertThat(nobody, is(nullValue())); } @Test @UsingDataSet( "datasets/org/libreccm/core/UserRepositoryTest/data.json") - @InSequence(20) + @InSequence(30) public void findUserByEmail() { final User jdoe = userRepository.findByEmailAddress("john.doe@example.com"); final User mmuster1 = userRepository.findByEmailAddress("max.mustermann@example.org"); @@ -193,41 +248,46 @@ public class UserRepositoryTest { final User joe = userRepository.findByEmailAddress("joe.public@example.com"); final User nobody = userRepository.findByScreenName("nobody@example.org"); - assertThat(jdoe, is(not(nullValue()))); - assertThat(jdoe.getSubjectId(), is(-10L)); - assertThat(jdoe.getScreenName(), is(JDOE)); - assertThat(jdoe.getName().getFamilyName(), is(equalTo("Doe"))); - assertThat(jdoe.getName().getMiddleName(), is(nullValue())); - assertThat(jdoe.getName().getGivenName(), is(equalTo("John"))); - assertThat(jdoe.getHashAlgorithm(), is("MD5")); - assertThat(jdoe.getPassword(), is("604622dc8a888eb093454ebd77ca1675")); - assertThat(jdoe.getSalt(), is("axg8ira8fa")); - - assertThat(mmuster1, is(not(nullValue()))); - assertThat(mmuster1.getSubjectId(), is(-20L)); - assertThat(mmuster1.getScreenName(), is(equalTo(MMUSTER))); - assertThat(mmuster1.getName().getFamilyName(), is(equalTo("Mustermann"))); - assertThat(mmuster1.getName().getMiddleName(), is(nullValue())); - assertThat(mmuster1.getName().getGivenName(), is(equalTo("Max"))); - assertThat(mmuster1.getHashAlgorithm(), is(equalTo("SHA-512"))); - assertThat(mmuster1.getPassword(), is(equalTo( - "1c9626af429a6291766d15cbfb38689bd8d49450520765973de70aecaf644b7d4fda711266ba9ec8fb6df30c8ab391d40330829aa85adf371bcde6b4c9bc01e6"))); - assertThat(mmuster1.getSalt(), is(equalTo("fjiajhigafgapoa"))); - + checkUsers(jdoe, mmuster1, joe, nobody); + assertThat(mmuster2, is(equalTo(mmuster1))); - assertThat(joe, is(not(nullValue()))); - assertThat(joe.getSubjectId(), is(-30L)); - assertThat(joe.getScreenName(), is(equalTo(JOE))); - assertThat(joe.getName().getFamilyName(), is(equalTo("Public"))); - assertThat(joe.getName().getMiddleName(), is(nullValue())); - assertThat(joe.getName().getGivenName(), is(equalTo("Joe"))); - assertThat(joe.getHashAlgorithm(), is(equalTo("SHA-512"))); - assertThat(joe.getPassword(), is(equalTo( - "axg8ira8fa"))); - assertThat(joe.getSalt(), is(equalTo("fjiajhigafgapoa"))); - - assertThat(nobody, is(nullValue())); +// assertThat(jdoe, is(not(nullValue()))); +// assertThat(jdoe.getSubjectId(), is(-10L)); +// assertThat(jdoe.getScreenName(), is(JDOE)); +// assertThat(jdoe.getName().getFamilyName(), is(equalTo("Doe"))); +// assertThat(jdoe.getName().getMiddleName(), is(nullValue())); +// assertThat(jdoe.getName().getGivenName(), is(equalTo("John"))); +// assertThat(jdoe.getHashAlgorithm(), is("MD5")); +// assertThat(jdoe.getPassword(), is("604622dc8a888eb093454ebd77ca1675")); +// assertThat(jdoe.getSalt(), is("axg8ira8fa")); +// +// assertThat(mmuster1, is(not(nullValue()))); +// assertThat(mmuster1.getSubjectId(), is(-20L)); +// assertThat(mmuster1.getScreenName(), is(equalTo(MMUSTER))); +// assertThat(mmuster1.getName().getFamilyName(), is(equalTo("Mustermann"))); +// assertThat(mmuster1.getName().getMiddleName(), is(nullValue())); +// assertThat(mmuster1.getName().getGivenName(), is(equalTo("Max"))); +// assertThat(mmuster1.getHashAlgorithm(), is(equalTo("SHA-512"))); +// assertThat(mmuster1.getPassword(), is(equalTo( +// "1c9626af429a6291766d15cbfb38689bd8d49450520765973de70aecaf644b7d4fda711266ba9ec8fb6df30c8ab391d40330829aa85adf371bcde6b4c9bc01e6"))); +// assertThat(mmuster1.getSalt(), is(equalTo("fjiajhigafgapoa"))); +// +// assertThat(mmuster2, is(equalTo(mmuster1))); +// //assertThat(mmuster2.equals(mmuster1), is(true)); +// +// assertThat(joe, is(not(nullValue()))); +// assertThat(joe.getSubjectId(), is(-30L)); +// assertThat(joe.getScreenName(), is(equalTo(JOE))); +// assertThat(joe.getName().getFamilyName(), is(equalTo("Public"))); +// assertThat(joe.getName().getMiddleName(), is(nullValue())); +// assertThat(joe.getName().getGivenName(), is(equalTo("Joe"))); +// assertThat(joe.getHashAlgorithm(), is(equalTo("SHA-512"))); +// assertThat(joe.getPassword(), is(equalTo( +// "4e39eba7f2927182a532cd8700bf251e58d4b0359fbb832e6af21db7501d7a49e6d8b950e0d4b15b1841af0f786c8edaa0c09ef7f474804254f7e895969d2975"))); +// assertThat(joe.getSalt(), is(equalTo("axg8ira8fa"))); +// +// assertThat(nobody, is(nullValue())); } diff --git a/ccm-core/src/test/resources-wildfly8-remote-mysql/arquillian.xml b/ccm-core/src/test/resources-wildfly8-remote-mysql/arquillian.xml index 77293d8e8..0f02a647b 100644 --- a/ccm-core/src/test/resources-wildfly8-remote-mysql/arquillian.xml +++ b/ccm-core/src/test/resources-wildfly8-remote-mysql/arquillian.xml @@ -31,7 +31,7 @@ - scripts/pgsql-cleanup.sql + scripts/mysql-cleanup.sql diff --git a/ccm-core/src/test/resources/scripts/h2-cleanup.sql b/ccm-core/src/test/resources/scripts/h2-cleanup.sql index d9cc30c68..f0d1e2b26 100644 --- a/ccm-core/src/test/resources/scripts/h2-cleanup.sql +++ b/ccm-core/src/test/resources/scripts/h2-cleanup.sql @@ -1 +1,7 @@ -DELETE FROM ccm_objects; \ No newline at end of file +DELETE FROM ccm_objects; + +DELETE FROM subject_email_addresses; + +DELETE FROM ccm_users; + +DELETE FROM subjects; \ No newline at end of file diff --git a/ccm-core/src/test/resources/scripts/mysql-cleanup.sql b/ccm-core/src/test/resources/scripts/mysql-cleanup.sql new file mode 100644 index 000000000..f0d1e2b26 --- /dev/null +++ b/ccm-core/src/test/resources/scripts/mysql-cleanup.sql @@ -0,0 +1,7 @@ +DELETE FROM ccm_objects; + +DELETE FROM subject_email_addresses; + +DELETE FROM ccm_users; + +DELETE FROM subjects; \ No newline at end of file diff --git a/ccm-core/src/test/resources/scripts/pgsql-cleanup.sql b/ccm-core/src/test/resources/scripts/pgsql-cleanup.sql index d9cc30c68..f0d1e2b26 100644 --- a/ccm-core/src/test/resources/scripts/pgsql-cleanup.sql +++ b/ccm-core/src/test/resources/scripts/pgsql-cleanup.sql @@ -1 +1,7 @@ -DELETE FROM ccm_objects; \ No newline at end of file +DELETE FROM ccm_objects; + +DELETE FROM subject_email_addresses; + +DELETE FROM ccm_users; + +DELETE FROM subjects; \ No newline at end of file diff --git a/pom.xml b/pom.xml index 9ceb933f4..ad1bcd626 100644 --- a/pom.xml +++ b/pom.xml @@ -15,6 +15,13 @@ LibreCCM 3.0.0 http://www.libreccm.org + + + libreccm-site + LibreCCM + http://www.libreccm.org/project-sites/ + + LibreCCM Foundation