diff --git a/ccm-core/src/main/java/org/libreccm/core/EmailAddress.java b/ccm-core/src/main/java/org/libreccm/core/EmailAddress.java index 3d012d596..387a972b8 100644 --- a/ccm-core/src/main/java/org/libreccm/core/EmailAddress.java +++ b/ccm-core/src/main/java/org/libreccm/core/EmailAddress.java @@ -18,11 +18,6 @@ */ package org.libreccm.core; -import org.hibernate.validator.constraints.Email; -import org.hibernate.validator.constraints.NotBlank; - -import javax.persistence.Column; -import javax.persistence.Embeddable; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; @@ -32,38 +27,38 @@ import java.util.Objects; import static org.libreccm.core.CoreConstants.CORE_XML_NS; import javax.json.Json; +import javax.json.JsonObject; import javax.json.JsonObjectBuilder; +import javax.validation.constraints.Email; +import javax.validation.constraints.NotBlank; /** * An embeddable entity for storing email addresses. - * - * In contrast to its predecessor {@code com.arsdigita.kernel.EmailAddress} - * this class does not provide verification methods. Verification is done using - * the Bean Validiation API (Hibernate Validator is used as - * implementation). - * - * Because this class is an embeddable JPA entity it can be used in other - * entities to store eMail addresses. + * + * In contrast to its predecessor {@code com.arsdigita.kernel.EmailAddress} this + * class does not provide verification methods. Verification is done using the + * Bean Validiation API (Hibernate Validator is used as + * implementation). + * + * This class is inteded to maps a JSONB column using the + * {@link EmailAddressType}, or if a list of email addresses should be stored, + * the {@link EmailAddressListType}. * * @author Jens Pelzetter */ -@Embeddable @XmlRootElement(name = "email-address", namespace = CORE_XML_NS) public class EmailAddress implements Serializable { private static final long serialVersionUID = -4076089589412432766L; - @Column(name = "EMAIL_ADDRESS", length = 512, nullable = false) @XmlElement(name = "address", namespace = CORE_XML_NS, required = true) @NotBlank @Email private String address; - @Column(name = "BOUNCING") @XmlElement(name = "bouncing", namespace = CORE_XML_NS) private boolean bouncing; - @Column(name = "VERIFIED") @XmlElement(name = "verified", namespace = CORE_XML_NS) private boolean verified; @@ -112,7 +107,7 @@ public class EmailAddress implements Serializable { if (!other.canEqual(this)) { return false; } - + if (!Objects.equals(address, other.getAddress())) { return false; } @@ -121,11 +116,19 @@ public class EmailAddress implements Serializable { } return verified == other.isVerified(); } - + public boolean canEqual(final Object obj) { return obj instanceof EmailAddress; } + public static EmailAddress fromJson(final JsonObject jsonObject) { + final EmailAddress address = new EmailAddress(); + address.setAddress(jsonObject.getString("address")); + address.setBouncing(jsonObject.getBoolean("bouncing")); + address.setVerified(jsonObject.getBoolean("verified")); + return address; + } + public JsonObjectBuilder buildJson() { return Json .createObjectBuilder() @@ -133,7 +136,11 @@ public class EmailAddress implements Serializable { .add("bouncing", bouncing) .add("verified", verified); } - + + public JsonObject toJson() { + return buildJson().build(); + } + @Override public String toString() { return String.format("%s{ " diff --git a/ccm-core/src/main/java/org/libreccm/core/EmailAddressListType.java b/ccm-core/src/main/java/org/libreccm/core/EmailAddressListType.java new file mode 100644 index 000000000..71fc873aa --- /dev/null +++ b/ccm-core/src/main/java/org/libreccm/core/EmailAddressListType.java @@ -0,0 +1,62 @@ +/* + * Copyright (C) 2020 LibreCCM Foundation. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301 USA + */ +package org.libreccm.core; + +import org.libreccm.hibernate.AbstractCcmJsonUserType; + +import java.util.List; +import java.util.stream.Collectors; + +import javax.json.Json; +import javax.json.JsonArrayBuilder; +import javax.json.JsonReader; +import javax.json.JsonValue; +import javax.json.JsonWriter; + +/** + * + * @author Jens Pelzetter + */ +public class EmailAddressListType extends AbstractCcmJsonUserType { + + @Override + protected Object nullSafeGet(final JsonReader jsonReader) { + return jsonReader + .readArray() + .stream() + .map(JsonValue::asJsonObject) + .map(EmailAddress::fromJson) + .collect(Collectors.toList()); + } + + @Override + protected void nullSafeSet( + final Object value, final JsonWriter jsonWriter + ) { + @SuppressWarnings("unchecked") + final List addresses = (List) value; + final JsonArrayBuilder jsonArrayBuilder = Json.createArrayBuilder(); + addresses + .stream() + .map(EmailAddress::buildJson) + .forEach(jsonArrayBuilder::add); + jsonWriter.writeArray(jsonArrayBuilder.build()); + } + +} diff --git a/ccm-core/src/main/java/org/libreccm/core/EmailAddressType.java b/ccm-core/src/main/java/org/libreccm/core/EmailAddressType.java new file mode 100644 index 000000000..2b7e1597a --- /dev/null +++ b/ccm-core/src/main/java/org/libreccm/core/EmailAddressType.java @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2020 LibreCCM Foundation. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301 USA + */ +package org.libreccm.core; + +import org.libreccm.hibernate.AbstractCcmJsonUserType; + +import javax.json.JsonReader; +import javax.json.JsonWriter; + +/** + * Hibernate User type mapping instances of {@link EmailAddress} to a JSON. + * + * @author Jens Pelzetter + */ +public class EmailAddressType extends AbstractCcmJsonUserType { + + @Override + protected Object nullSafeGet(final JsonReader jsonReader) { + return EmailAddress.fromJson(jsonReader.readObject()); + } + + @Override + protected void nullSafeSet( + final Object value, final JsonWriter jsonWriter + ) { + jsonWriter.writeObject(((EmailAddress) value).toJson()); + } + +} diff --git a/ccm-core/src/main/java/org/libreccm/l10n/LocalizedStringType.java b/ccm-core/src/main/java/org/libreccm/l10n/LocalizedStringType.java index 30d2dc220..ba5ef0b8e 100644 --- a/ccm-core/src/main/java/org/libreccm/l10n/LocalizedStringType.java +++ b/ccm-core/src/main/java/org/libreccm/l10n/LocalizedStringType.java @@ -18,33 +18,14 @@ */ package org.libreccm.l10n; -import org.hibernate.HibernateException; -import org.hibernate.engine.spi.SharedSessionContractImplementor; -import org.hibernate.usertype.UserType; import org.libreccm.hibernate.AbstractCcmJsonUserType; -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.ObjectInputStream; -import java.io.ObjectOutputStream; -import java.io.Serializable; -import java.io.StringReader; -import java.io.StringWriter; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; -import java.sql.Types; -import java.util.Objects; - -import javax.json.Json; -import javax.json.JsonObject; import javax.json.JsonReader; import javax.json.JsonWriter; /** * Hibernate User type mapping instances of {@link LocalizedString} to a JSON. - * + * * @author Jens Pelzetter */ public class LocalizedStringType extends AbstractCcmJsonUserType { @@ -60,114 +41,5 @@ public class LocalizedStringType extends AbstractCcmJsonUserType { ) { jsonWriter.writeObject(((LocalizedString) value).toJson()); } - //implements UserType { - -// @Override -// public int[] sqlTypes() { -// return new int[]{Types.JAVA_OBJECT}; -// } -// -// @Override -// public Class returnedClass() { -// return LocalizedString.class; -// } -// -// @Override -// public boolean equals(final Object obj1, final Object obj2) -// throws HibernateException { -// return Objects.equals(obj1, obj2); -// } -// -// @Override -// public int hashCode(final Object obj) throws HibernateException { -// return Objects.hashCode(obj); -// } -// -// @Override -// public Object nullSafeGet( -// final ResultSet resultSet, -// final String[] names, -// final SharedSessionContractImplementor session, -// final Object owner -// ) throws HibernateException, SQLException { -// final String cellContent = resultSet.getString(names[0]); -// if (cellContent == null) { -// return null; -// } else { -// try (StringReader strReader = new StringReader(cellContent); -// JsonReader jsonReader = Json.createReader(strReader)) { -// return LocalizedString.fromJson(jsonReader.readObject()); -// } -// } -// } -// -// @Override -// public void nullSafeSet( -// final PreparedStatement statement, -// final Object value, -// final int index, -// final SharedSessionContractImplementor session -// ) throws HibernateException, SQLException { -// if (value == null) { -// statement.setObject(index, null, Types.OTHER); -// } else { -// final JsonObject jsonObject = ((LocalizedString) value).toJson(); -// try (StringWriter strWriter = new StringWriter(); -// JsonWriter jsonWriter = Json.createWriter(strWriter)) { -// jsonWriter.writeObject(jsonObject); -// statement.setObject(index, strWriter.toString(), Types.OTHER); -// } catch (IOException ex) { -// throw new HibernateException(ex); -// } -// } -// } -// -// @Override -// public Object deepCopy(final Object value) throws HibernateException { -// final byte[] serialized; -// try (ByteArrayOutputStream bos = new ByteArrayOutputStream(); -// ObjectOutputStream oos = new ObjectOutputStream(bos)) { -// oos.writeObject(value); -// oos.flush(); -// serialized = bos.toByteArray(); -// } catch (IOException ex) { -// throw new HibernateException(ex); -// } -// -// final Object obj; -// try (ByteArrayInputStream bais = new ByteArrayInputStream(serialized); -// ObjectInputStream ois = new ObjectInputStream(bais)) { -// obj = ois.readObject(); -// } catch (IOException | ClassNotFoundException ex) { -// throw new HibernateException(ex); -// } -// return obj; -// } -// -// @Override -// public boolean isMutable() { -// return true; -// } -// -// @Override -// public Serializable disassemble(final Object value) -// throws HibernateException { -// return (Serializable) deepCopy(value); -// } -// -// @Override -// public Object assemble(final Serializable cached, final Object owner) throws -// HibernateException { -// throw new UnsupportedOperationException("Not supported yet."); -// } -// -// @Override -// public Object replace( -// final Object original, -// final Object target, -// final Object owner -// ) throws HibernateException { -// return deepCopy(original); -// } } diff --git a/ccm-core/src/main/java/org/libreccm/security/User.java b/ccm-core/src/main/java/org/libreccm/security/User.java index ce71aa92c..3d6dff563 100644 --- a/ccm-core/src/main/java/org/libreccm/security/User.java +++ b/ccm-core/src/main/java/org/libreccm/security/User.java @@ -30,6 +30,7 @@ import java.io.Serializable; import static org.libreccm.core.CoreConstants.CORE_XML_NS; import static org.libreccm.core.CoreConstants.DB_SCHEMA; +import org.hibernate.annotations.Type; import org.libreccm.core.api.JsonArrayCollector; import org.libreccm.imexport.Exportable; @@ -43,15 +44,9 @@ import java.util.Set; import javax.json.Json; import javax.json.JsonArrayBuilder; import javax.json.JsonObjectBuilder; -import javax.persistence.AssociationOverride; -import javax.persistence.CollectionTable; import javax.persistence.Column; -import javax.persistence.ElementCollection; -import javax.persistence.Embedded; import javax.persistence.Entity; import javax.persistence.FetchType; -import javax.persistence.JoinColumn; -import javax.persistence.JoinTable; import javax.persistence.NamedAttributeNode; import javax.persistence.NamedEntityGraph; import javax.persistence.NamedEntityGraphs; @@ -86,16 +81,16 @@ import javax.xml.bind.annotation.XmlTransient; + " u.primaryEmailAddress.address"), @NamedQuery(name = "User.countByName", query = "SELECT COUNT(u) FROM User u WHERE u.name = :name"), - @NamedQuery(name = "User.findByEmailAddress", - query = "SELECT u FROM User u WHERE " - + "u.primaryEmailAddress.address = :emailAddress " - + "ORDER BY u.name, " - + " u.familyName, " - + " u.givenName, " - + " u.primaryEmailAddress.address"), - @NamedQuery(name = "User.countByPrimaryEmailAddress", - query = "SELECT COUNT(u) FROM User u " - + "WHERE u.primaryEmailAddress.address = :emailAddress"), +// @NamedQuery(name = "User.findByEmailAddress", +// query = "SELECT u FROM User u WHERE " +// + "u.primaryEmailAddress.address = :emailAddress " +// + "ORDER BY u.name, " +// + " u.familyName, " +// + " u.givenName, " +// + " u.primaryEmailAddress.address"), +// @NamedQuery(name = "User.countByPrimaryEmailAddress", +// query = "SELECT COUNT(u) FROM User u " +// + "WHERE u.primaryEmailAddress.address = :emailAddress"), @NamedQuery( name = "User.filterByNameAndEmail", query = "SELECT u FROM User u WHERE " @@ -107,12 +102,12 @@ import javax.xml.bind.annotation.XmlTransient; + "u.familyName, " + "u.givenName, " + "u.primaryEmailAddress.address"), - @NamedQuery( - name = "User.findAllOrderedByUsername", - query = "SELECT u FROM User u ORDER BY u.name, " - + " u.familyName, " - + " u.givenName, " - + " u.primaryEmailAddress.address"), +// @NamedQuery( +// name = "User.findAllOrderedByUsername", +// query = "SELECT u FROM User u ORDER BY u.name, " +// + " u.familyName, " +// + " u.givenName, " +// + " u.primaryEmailAddress.address"), @NamedQuery(name = "User.findByGroup", query = "SELECT u FROM User u " + "JOIN u.groupMemberships m " @@ -170,14 +165,8 @@ public class User extends Party implements Serializable, Exportable { /** * The primary email address of the user. */ - @Embedded - @AssociationOverride( - name = "USER_PRIMARY_EMAIL_ADDRESSES", - joinTable = @JoinTable(name = "USER_PRIMARY_EMAIL_ADDRESSES", - schema = DB_SCHEMA, - joinColumns = { - @JoinColumn(name = "USER_ID") - })) + @Column(name = "PRIMARY_EMAIL_ADDRESS") + @Type(type = "org.libreccm.core.EmailAddressType") @NotNull @XmlElement(name = "primary-email-address", namespace = CORE_XML_NS) private EmailAddress primaryEmailAddress; @@ -185,11 +174,8 @@ public class User extends Party implements Serializable, Exportable { /** * Additional email addresses of the user. */ - @ElementCollection(fetch = FetchType.EAGER) - @CollectionTable(name = "USER_EMAIL_ADDRESSES", - schema = DB_SCHEMA, - joinColumns = { - @JoinColumn(name = "USER_ID")}) + @Column(name = "EMAIL_ADDRESSES") + @Type(type = "org.libreccm.core.EmailAddressListType") @XmlElementWrapper(name = "email-addresses", namespace = CORE_XML_NS) @XmlElement(name = "email-address", namespace = CORE_XML_NS) private List emailAddresses; diff --git a/ccm-core/src/main/resources/db/migrations/org/libreccm/ccm_core/pgsql/V7_0_0_38__emailaddress_embedded_to_json.sql b/ccm-core/src/main/resources/db/migrations/org/libreccm/ccm_core/pgsql/V7_0_0_38__emailaddress_embedded_to_json.sql new file mode 100644 index 000000000..2269ba729 --- /dev/null +++ b/ccm-core/src/main/resources/db/migrations/org/libreccm/ccm_core/pgsql/V7_0_0_38__emailaddress_embedded_to_json.sql @@ -0,0 +1,12 @@ +ALTER TABLE ccm_core.users ADD COLUMN primary_email_address JSONB NOT NULL; +ALTER TABLE ccm_core.users ADD COLUMN email_addresses JSONB; +UPDATE ccm_core.users + SET primary_email_address = JSONB_BUILD_OBJECT( + 'address', email_address, + 'bouncing', bouncing, + 'verified', verified + ); +DROP TABLE ccm_core.user_email_addresses; +ALTER TABLE ccm_core.users DROP COLUMN email_address; +ALTER TABLE ccm_core.users DROP COLUMN bouncing; +ALTER TABLE ccm_core.users DROP COLUMN verified; \ No newline at end of file diff --git a/ccm-core/src/test/resources-wildfly-remote-pgsql/scripts/002_create_ccm_core_tables.sql b/ccm-core/src/test/resources-wildfly-remote-pgsql/scripts/002_create_ccm_core_tables.sql index 0ecf444b7..cf7e53429 100644 --- a/ccm-core/src/test/resources-wildfly-remote-pgsql/scripts/002_create_ccm_core_tables.sql +++ b/ccm-core/src/test/resources-wildfly-remote-pgsql/scripts/002_create_ccm_core_tables.sql @@ -1,3 +1,4 @@ + create table CCM_CORE.APPLICATIONS ( APPLICATION_TYPE varchar(1024) not null, PRIMARY_URL varchar(1024) not null, @@ -446,12 +447,12 @@ SETTING_ID int8 not null, CONFIGURATION_CLASS varchar(512) not null, NAME varchar(512) not null, - SETTING_VALUE_LONG int8, - SETTING_VALUE_LOCALIZED_STRING jsonb, + SETTING_VALUE_BOOLEAN boolean, SETTING_VALUE_DOUBLE float8, + SETTING_VALUE_LONG int8, SETTING_VALUE_STRING varchar(1024), SETTING_VALUE_BIG_DECIMAL numeric(19, 2), - SETTING_VALUE_BOOLEAN boolean, + SETTING_VALUE_LOCALIZED_STRING jsonb, primary key (SETTING_ID) ); @@ -558,22 +559,14 @@ primary key (OBJECT_ID) ); - create table CCM_CORE.USER_EMAIL_ADDRESSES ( - USER_ID int8 not null, - EMAIL_ADDRESS varchar(512) not null, - BOUNCING boolean, - VERIFIED boolean - ); - create table CCM_CORE.USERS ( BANNED boolean, + EMAIL_ADDRESSES jsonb, FAMILY_NAME varchar(512), GIVEN_NAME varchar(512), PASSWORD varchar(2048), PASSWORD_RESET_REQUIRED boolean, - EMAIL_ADDRESS varchar(512) not null, - BOUNCING boolean, - VERIFIED boolean, + PRIMARY_EMAIL_ADDRESS jsonb, PARTY_ID int8 not null, primary key (PARTY_ID) ); @@ -1110,11 +1103,6 @@ create sequence hibernate_sequence start 1 increment 1; foreign key (OBJECT_ID) references CCM_CORE.CCM_OBJECTS; - alter table CCM_CORE.USER_EMAIL_ADDRESSES - add constraint FKr900l79erul95seyyccf04ufc - foreign key (USER_ID) - references CCM_CORE.USERS; - alter table CCM_CORE.USERS add constraint FKosh928q71aonu6l1kurb417r foreign key (PARTY_ID) diff --git a/ccm-core/src/test/resources-wildfly-remote-pgsql/scripts/999_cleanup.sql b/ccm-core/src/test/resources-wildfly-remote-pgsql/scripts/999_cleanup.sql index 9352270b4..12c467c6a 100644 --- a/ccm-core/src/test/resources-wildfly-remote-pgsql/scripts/999_cleanup.sql +++ b/ccm-core/src/test/resources-wildfly-remote-pgsql/scripts/999_cleanup.sql @@ -26,8 +26,6 @@ DELETE FROM ccm_core.one_time_auth_tokens; DELETE FROM ccm_core.users; -DELETE FROM ccm_core.user_email_addresses; - DELETE FROM ccm_core.parties; DELETE FROM ccm_core.ccm_roles; diff --git a/ccm-core/src/test/resources/datasets/org/libreccm/security/GroupManagerTest/after-add.yml b/ccm-core/src/test/resources/datasets/org/libreccm/security/GroupManagerTest/after-add.yml index fc3872825..10b78bb8f 100644 --- a/ccm-core/src/test/resources/datasets/org/libreccm/security/GroupManagerTest/after-add.yml +++ b/ccm-core/src/test/resources/datasets/org/libreccm/security/GroupManagerTest/after-add.yml @@ -26,36 +26,30 @@ ccm_core.parties: ccm_core.users: # John Doe - banned: false - bouncing: false - email_address: john.doe@example.com + primary_email_address: "{\"address\": \"john.doe@example.com\", \"bouncing\": false, \"verified\": true}" family_name: Doe given_name: John party_id: 10 # foo123 password: $shiro1$SHA-512$500000$7xkDcZUN0/whJInHIvGsDw==$WhelBVmJU/cLV7lAkMOrE5B/mqCW0bUuid1WX+xBwzzAaekC5bYn9eeOFGJWhiDgmaC50ZCUmM96/iGsRoc4uA== password_reset_required: false - verified: true # Max Mustermann - banned: false - bouncing: false - email_address: max.mustermann@example.org + primary_email_address: "{\"address\": \"max.mustermann@example.org\", \"bouncing\": false, \"verified\": true}" family_name: Mustermann given_name: Max party_id: 20 # foo123 password: $shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q== password_reset_required: false - verified: true # Joe Public - banned: false - bouncing: false - email_address: joe.public@example.com + primary_email_address: "{ \"address\": \"joe.public@example.com\", \"bouncing\": false, \"verified\": true}" family_name: Public given_name: Joe party_id: 30 password: $shiro1$SHA-512$500000$RUCYXAQt+XzUmj3x8oG5gw==$qU+lX160Jc6sNUOI9X85wlf2lzn4/hLJNURtjmw9LOYJ7vAqUFFmhyNCMxpzuHIpzeMELr+A0XReoSmtcZnOOw== password_reset_required: false - verified: true ccm_core.groups: # admins - party_id: 40 diff --git a/ccm-core/src/test/resources/datasets/org/libreccm/security/GroupManagerTest/after-remove.yml b/ccm-core/src/test/resources/datasets/org/libreccm/security/GroupManagerTest/after-remove.yml index 77c0e8f70..ec9633701 100644 --- a/ccm-core/src/test/resources/datasets/org/libreccm/security/GroupManagerTest/after-remove.yml +++ b/ccm-core/src/test/resources/datasets/org/libreccm/security/GroupManagerTest/after-remove.yml @@ -26,36 +26,30 @@ ccm_core.parties: ccm_core.users: # John Doe - banned: false - bouncing: false - email_address: john.doe@example.com + primary_email_address: "{\"address\": \"john.doe@example.com\", \"bouncing\": false, \"verified\": true}" family_name: Doe given_name: John party_id: 10 # foo123 password: $shiro1$SHA-512$500000$7xkDcZUN0/whJInHIvGsDw==$WhelBVmJU/cLV7lAkMOrE5B/mqCW0bUuid1WX+xBwzzAaekC5bYn9eeOFGJWhiDgmaC50ZCUmM96/iGsRoc4uA== password_reset_required: false - verified: true # Max Mustermann - banned: false - bouncing: false - email_address: max.mustermann@example.org + primary_email_address: "{\"address\": \"max.mustermann@example.org\", \"bouncing\": false, \"verified\": true}" family_name: Mustermann given_name: Max party_id: 20 # foo123 password: $shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q== password_reset_required: false - verified: true # Joe Public - banned: false - bouncing: false - email_address: joe.public@example.com + primary_email_address: "{ \"address\": \"joe.public@example.com\", \"bouncing\": false, \"verified\": true}" family_name: Public given_name: Joe party_id: 30 password: $shiro1$SHA-512$500000$RUCYXAQt+XzUmj3x8oG5gw==$qU+lX160Jc6sNUOI9X85wlf2lzn4/hLJNURtjmw9LOYJ7vAqUFFmhyNCMxpzuHIpzeMELr+A0XReoSmtcZnOOw== password_reset_required: false - verified: true ccm_core.groups: # admins - party_id: 40 diff --git a/ccm-core/src/test/resources/datasets/org/libreccm/security/GroupManagerTest/data.yml b/ccm-core/src/test/resources/datasets/org/libreccm/security/GroupManagerTest/data.yml index a5bc9b55c..83469380e 100644 --- a/ccm-core/src/test/resources/datasets/org/libreccm/security/GroupManagerTest/data.yml +++ b/ccm-core/src/test/resources/datasets/org/libreccm/security/GroupManagerTest/data.yml @@ -26,36 +26,30 @@ ccm_core.parties: ccm_core.users: # John Doe - banned: false - bouncing: false - email_address: john.doe@example.com + primary_email_address: "{\"address\": \"john.doe@example.com\", \"bouncing\": false, \"verified\": true}" family_name: Doe given_name: John party_id: 10 # foo123 password: $shiro1$SHA-512$500000$7xkDcZUN0/whJInHIvGsDw==$WhelBVmJU/cLV7lAkMOrE5B/mqCW0bUuid1WX+xBwzzAaekC5bYn9eeOFGJWhiDgmaC50ZCUmM96/iGsRoc4uA== password_reset_required: false - verified: true # Max Mustermann - banned: false - bouncing: false - email_address: max.mustermann@example.org + primary_email_address: "{\"address\": \"max.mustermann@example.org\", \"bouncing\": false, \"verified\": true}" family_name: Mustermann given_name: Max party_id: 20 # foo123 password: $shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q== password_reset_required: false - verified: true # Joe Public - banned: false - bouncing: false - email_address: joe.public@example.com + primary_email_address: "{ \"address\": \"joe.public@example.com\", \"bouncing\": false, \"verified\": true}" family_name: Public given_name: Joe party_id: 30 password: $shiro1$SHA-512$500000$RUCYXAQt+XzUmj3x8oG5gw==$qU+lX160Jc6sNUOI9X85wlf2lzn4/hLJNURtjmw9LOYJ7vAqUFFmhyNCMxpzuHIpzeMELr+A0XReoSmtcZnOOw== password_reset_required: false - verified: true ccm_core.groups: # admins - party_id: 40 diff --git a/ccm-core/src/test/resources/datasets/org/libreccm/security/PartyRepositoryTest/after-save-changed.yml b/ccm-core/src/test/resources/datasets/org/libreccm/security/PartyRepositoryTest/after-save-changed.yml index e41c6067d..2b129a2b6 100644 --- a/ccm-core/src/test/resources/datasets/org/libreccm/security/PartyRepositoryTest/after-save-changed.yml +++ b/ccm-core/src/test/resources/datasets/org/libreccm/security/PartyRepositoryTest/after-save-changed.yml @@ -11,12 +11,10 @@ ccm_core.groups: ccm_core.users: # John Doe - banned: false - bouncing: false - email_address: john.doe@example.com + primary_email_address: "{\"address\": \"john.doe@example.com\", \"bouncing\": false, \"verified\": true}" family_name: Doe given_name: John party_id: 10 # foo123 password: $shiro1$SHA-512$500000$7xkDcZUN0/whJInHIvGsDw==$WhelBVmJU/cLV7lAkMOrE5B/mqCW0bUuid1WX+xBwzzAaekC5bYn9eeOFGJWhiDgmaC50ZCUmM96/iGsRoc4uA== - password_reset_required: false - verified: true \ No newline at end of file + password_reset_required: false \ No newline at end of file diff --git a/ccm-core/src/test/resources/datasets/org/libreccm/security/PartyRepositoryTest/after-save-new.yml b/ccm-core/src/test/resources/datasets/org/libreccm/security/PartyRepositoryTest/after-save-new.yml index 6f4704b0f..20dcef6af 100644 --- a/ccm-core/src/test/resources/datasets/org/libreccm/security/PartyRepositoryTest/after-save-new.yml +++ b/ccm-core/src/test/resources/datasets/org/libreccm/security/PartyRepositoryTest/after-save-new.yml @@ -18,23 +18,19 @@ ccm_core.groups: ccm_core.users: # John Doe - banned: false - bouncing: false - email_address: john.doe@example.com + primary_email_address: "{\"address\": \"john.doe@example.com\", \"bouncing\": false, \"verified\": true}" family_name: Doe given_name: John party_id: 10 # foo123 password: $shiro1$SHA-512$500000$7xkDcZUN0/whJInHIvGsDw==$WhelBVmJU/cLV7lAkMOrE5B/mqCW0bUuid1WX+xBwzzAaekC5bYn9eeOFGJWhiDgmaC50ZCUmM96/iGsRoc4uA== password_reset_required: false - verified: true # Max Mustermann - banned: false - bouncing: false - email_address: max.mustermann@example.org + primary_email_address: "{\"address\": \"max.mustermann@example.org\", \"bouncing\": false, \"verified\": true}" family_name: Mustermann given_name: Max party_id: 30 # foo123 password: $shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q== - password_reset_required: false - verified: true \ No newline at end of file + password_reset_required: false \ No newline at end of file diff --git a/ccm-core/src/test/resources/datasets/org/libreccm/security/PartyRepositoryTest/data.yml b/ccm-core/src/test/resources/datasets/org/libreccm/security/PartyRepositoryTest/data.yml index d9d3b738b..7e5de2dfa 100644 --- a/ccm-core/src/test/resources/datasets/org/libreccm/security/PartyRepositoryTest/data.yml +++ b/ccm-core/src/test/resources/datasets/org/libreccm/security/PartyRepositoryTest/data.yml @@ -11,12 +11,10 @@ ccm_core.groups: ccm_core.users: # John Doe - banned: false - bouncing: false - email_address: john.doe@example.com + primary_email_address: "{\"address\": \"john.doe@example.com\", \"bouncing\": false, \"verified\": true}" family_name: Doe given_name: John party_id: 10 # foo123 password: $shiro1$SHA-512$500000$7xkDcZUN0/whJInHIvGsDw==$WhelBVmJU/cLV7lAkMOrE5B/mqCW0bUuid1WX+xBwzzAaekC5bYn9eeOFGJWhiDgmaC50ZCUmM96/iGsRoc4uA== - password_reset_required: false - verified: true \ No newline at end of file + password_reset_required: false \ No newline at end of file diff --git a/ccm-core/src/test/resources/datasets/org/libreccm/security/RoleManagerTest/after-add.yml b/ccm-core/src/test/resources/datasets/org/libreccm/security/RoleManagerTest/after-add.yml index 9987e7946..d1e56ab2b 100644 --- a/ccm-core/src/test/resources/datasets/org/libreccm/security/RoleManagerTest/after-add.yml +++ b/ccm-core/src/test/resources/datasets/org/libreccm/security/RoleManagerTest/after-add.yml @@ -26,36 +26,30 @@ ccm_core.parties: ccm_core.users: # John Doe - banned: false - bouncing: false - email_address: john.doe@example.com + primary_email_address: "{\"address\": \"john.doe@example.com\", \"bouncing\": false, \"verified\": true}" family_name: Doe given_name: John party_id: 10 # foo123 password: $shiro1$SHA-512$500000$7xkDcZUN0/whJInHIvGsDw==$WhelBVmJU/cLV7lAkMOrE5B/mqCW0bUuid1WX+xBwzzAaekC5bYn9eeOFGJWhiDgmaC50ZCUmM96/iGsRoc4uA== password_reset_required: false - verified: true # Max Mustermann - banned: false - bouncing: false - email_address: max.mustermann@example.org + primary_email_address: "{\"address\": \"max.mustermann@example.org\", \"bouncing\": false, \"verified\": true}" family_name: Mustermann given_name: Max party_id: 20 # foo123 password: $shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q== password_reset_required: false - verified: true # Joe Public - banned: false - bouncing: false - email_address: joe.public@example.com + primary_email_address: "{\"address\": \"joe.public@example.com\", \"bouncing\": false, \"verified\": true}}" family_name: Public given_name: Joe party_id: 30 password: $shiro1$SHA-512$500000$RUCYXAQt+XzUmj3x8oG5gw==$qU+lX160Jc6sNUOI9X85wlf2lzn4/hLJNURtjmw9LOYJ7vAqUFFmhyNCMxpzuHIpzeMELr+A0XReoSmtcZnOOw== password_reset_required: false - verified: true ccm_core.groups: # group1 - party_id: 100 diff --git a/ccm-core/src/test/resources/datasets/org/libreccm/security/RoleManagerTest/after-remove.yml b/ccm-core/src/test/resources/datasets/org/libreccm/security/RoleManagerTest/after-remove.yml index 1ded282a3..97719347e 100644 --- a/ccm-core/src/test/resources/datasets/org/libreccm/security/RoleManagerTest/after-remove.yml +++ b/ccm-core/src/test/resources/datasets/org/libreccm/security/RoleManagerTest/after-remove.yml @@ -26,36 +26,30 @@ ccm_core.parties: ccm_core.users: # John Doe - banned: false - bouncing: false - email_address: john.doe@example.com + primary_email_address: "{\"address\": \"john.doe@example.com\", \"bouncing\": false, \"verified\": true}" family_name: Doe given_name: John party_id: 10 # foo123 password: $shiro1$SHA-512$500000$7xkDcZUN0/whJInHIvGsDw==$WhelBVmJU/cLV7lAkMOrE5B/mqCW0bUuid1WX+xBwzzAaekC5bYn9eeOFGJWhiDgmaC50ZCUmM96/iGsRoc4uA== password_reset_required: false - verified: true # Max Mustermann - banned: false - bouncing: false - email_address: max.mustermann@example.org + primary_email_address: "{\"address\": \"max.mustermann@example.org\", \"bouncing\": false, \"verified\": true}" family_name: Mustermann given_name: Max party_id: 20 # foo123 password: $shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q== password_reset_required: false - verified: true # Joe Public - banned: false - bouncing: false - email_address: joe.public@example.com + primary_email_address: "{\"address\": \"joe.public@example.com\", \"bouncing\": false, \"verified\": true}}" family_name: Public given_name: Joe party_id: 30 password: $shiro1$SHA-512$500000$RUCYXAQt+XzUmj3x8oG5gw==$qU+lX160Jc6sNUOI9X85wlf2lzn4/hLJNURtjmw9LOYJ7vAqUFFmhyNCMxpzuHIpzeMELr+A0XReoSmtcZnOOw== password_reset_required: false - verified: true ccm_core.groups: # group1 - party_id: 100 diff --git a/ccm-core/src/test/resources/datasets/org/libreccm/security/RoleManagerTest/data.yml b/ccm-core/src/test/resources/datasets/org/libreccm/security/RoleManagerTest/data.yml index ea19b28bc..6f57c6ece 100644 --- a/ccm-core/src/test/resources/datasets/org/libreccm/security/RoleManagerTest/data.yml +++ b/ccm-core/src/test/resources/datasets/org/libreccm/security/RoleManagerTest/data.yml @@ -26,36 +26,30 @@ ccm_core.parties: ccm_core.users: # John Doe - banned: false - bouncing: false - email_address: john.doe@example.com + primary_email_address: "{\"address\": \"john.doe@example.com\", \"bouncing\": false, \"verified\": true}" family_name: Doe given_name: John party_id: 10 # foo123 password: $shiro1$SHA-512$500000$7xkDcZUN0/whJInHIvGsDw==$WhelBVmJU/cLV7lAkMOrE5B/mqCW0bUuid1WX+xBwzzAaekC5bYn9eeOFGJWhiDgmaC50ZCUmM96/iGsRoc4uA== password_reset_required: false - verified: true # Max Mustermann - banned: false - bouncing: false - email_address: max.mustermann@example.org + primary_email_address: "{\"address\": \"max.mustermann@example.org\", \"bouncing\": false, \"verified\": true}" family_name: Mustermann given_name: Max party_id: 20 # foo123 password: $shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q== password_reset_required: false - verified: true # Joe Public - banned: false - bouncing: false - email_address: joe.public@example.com + primary_email_address: "{\"address\": \"joe.public@example.com\", \"bouncing\": false, \"verified\": true}}" family_name: Public given_name: Joe party_id: 30 password: $shiro1$SHA-512$500000$RUCYXAQt+XzUmj3x8oG5gw==$qU+lX160Jc6sNUOI9X85wlf2lzn4/hLJNURtjmw9LOYJ7vAqUFFmhyNCMxpzuHIpzeMELr+A0XReoSmtcZnOOw== password_reset_required: false - verified: true ccm_core.groups: # group1 - party_id: 100 diff --git a/ccm-core/src/test/resources/datasets/org/libreccm/security/ShiroTest/data.yml b/ccm-core/src/test/resources/datasets/org/libreccm/security/ShiroTest/data.yml index 02484c650..d25350f15 100644 --- a/ccm-core/src/test/resources/datasets/org/libreccm/security/ShiroTest/data.yml +++ b/ccm-core/src/test/resources/datasets/org/libreccm/security/ShiroTest/data.yml @@ -26,55 +26,45 @@ ccm_core.parties: ccm_core.users: # John Doe - banned: false - bouncing: false - email_address: john.doe@example.com + primary_email_address: "{\"address\": \"john.doe@example.com\", \"bouncing\": false, \"verified\": true}" family_name: Doe given_name: John party_id: 41001 # foo123 password: $shiro1$SHA-512$500000$7xkDcZUN0/whJInHIvGsDw==$WhelBVmJU/cLV7lAkMOrE5B/mqCW0bUuid1WX+xBwzzAaekC5bYn9eeOFGJWhiDgmaC50ZCUmM96/iGsRoc4uA== password_reset_required: false - verified: true # Max Mustermann - banned: false - bouncing: false - email_address: max.mustermann@example.org + primary_email_address: "{\"address\": \"max.mustermann@example.org\", \"bouncing\": false, \"verified\": true}" family_name: Mustermann given_name: Max party_id: 41002 # foo123 password: $shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q== password_reset_required: false - verified: true # Joe Public - banned: false - bouncing: false - email_address: joe.public@example.com + primary_email_address: "{\"address\": \"joe.public@example.com\", \"bouncing\": false, \"verified\": true}}" family_name: Public given_name: Joe party_id: 41003 password: $shiro1$SHA-512$500000$RUCYXAQt+XzUmj3x8oG5gw==$qU+lX160Jc6sNUOI9X85wlf2lzn4/hLJNURtjmw9LOYJ7vAqUFFmhyNCMxpzuHIpzeMELr+A0XReoSmtcZnOOw== password_reset_required: false - verified: true # Public user - banned: false - bouncing: false - email_address: public-user@example.org + primary_email_address: "{\"address\": \"public-user@example.org\", \"bouncing\": false, \"verified\": true}" family_name: user given_name: public party_id: 41004 password_reset_required: false - verified: true # Erik Mustermann (banned) - banned: true - bouncing: false - email_address: erik.mustermann@example.org + primary_email_address: "{\"address\": \"erik.mustermann@example.org\", \"bouncing\": false, \"verified\": true}" family_name: Musterman given_name: Erik party_id: 41005 password: $shiro1$SHA-512$500000$RUCYXAQt+XzUmj3x8oG5gw==$qU+lX160Jc6sNUOI9X85wlf2lzn4/hLJNURtjmw9LOYJ7vAqUFFmhyNCMxpzuHIpzeMELr+A0XReoSmtcZnOOw== password_reset_required: false - verified: true ccm_core.groups: - party_id: 42001 - party_id: 42002 diff --git a/ccm-core/src/test/resources/datasets/org/libreccm/security/UserManagerTest/after-create-user.yml b/ccm-core/src/test/resources/datasets/org/libreccm/security/UserManagerTest/after-create-user.yml index 6f5339283..50758f938 100644 --- a/ccm-core/src/test/resources/datasets/org/libreccm/security/UserManagerTest/after-create-user.yml +++ b/ccm-core/src/test/resources/datasets/org/libreccm/security/UserManagerTest/after-create-user.yml @@ -19,42 +19,34 @@ ccm_core.users: # John Doe - party_id: 10 banned: false - bouncing: false - email_address: john.doe@example.com + primary_email_address: "{\"address\": \"john.doe@example.com\", \"bouncing\": false, \"verified\": true}" family_name: Doe given_name: John # foo123 password: $shiro1$SHA-512$500000$7xkDcZUN0/whJInHIvGsDw==$WhelBVmJU/cLV7lAkMOrE5B/mqCW0bUuid1WX+xBwzzAaekC5bYn9eeOFGJWhiDgmaC50ZCUmM96/iGsRoc4uA== password_reset_required: false - verified: true # Max Mustermann - party_id: 20 banned: false - bouncing: false - email_address: max.mustermann@example.org + primary_email_address: "{\"address\": \"max.mustermann@example.org\", \"bouncing\": false, \"verified\": true}" family_name: Mustermann given_name: Max # foo123 password: $shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q== password_reset_required: false - verified: true # Joe Public - party_id: 30 banned: false - bouncing: false - email_address: joe.public@example.com + primary_email_address: "{\"address\": \"joe.public@example.com\", \"bouncing\": false, \"verified\": true}}" family_name: Public given_name: Joe password: $shiro1$SHA-512$500000$RUCYXAQt+XzUmj3x8oG5gw==$qU+lX160Jc6sNUOI9X85wlf2lzn4/hLJNURtjmw9LOYJ7vAqUFFmhyNCMxpzuHIpzeMELr+A0XReoSmtcZnOOw== password_reset_required: false - verified: true # Jane Doe - party_id: 40 banned: false - bouncing: false - email_address: jane.doe@example.org + primary_email_address: "{\"address\": \"jane.doe@example.org\", \"bouncing\": false, \"verified\": true}" family_name: Doe given_name: Jane password: $shiro1$SHA-512$500000$24lA090z7GKYr4VFlZ6t4A==$/heoTHPA5huT1UfJ8Q+waXEG6AjUKhFYLFrj7KW/l0/z9O+QkiZTtfPfbcPblgjcEvrROMEIoQY4Z65S7rFLQg== - password_reset_required: false - verified: true \ No newline at end of file + password_reset_required: false \ No newline at end of file diff --git a/ccm-core/src/test/resources/datasets/org/libreccm/security/UserManagerTest/data.yml b/ccm-core/src/test/resources/datasets/org/libreccm/security/UserManagerTest/data.yml index 086638611..31f84fe51 100644 --- a/ccm-core/src/test/resources/datasets/org/libreccm/security/UserManagerTest/data.yml +++ b/ccm-core/src/test/resources/datasets/org/libreccm/security/UserManagerTest/data.yml @@ -14,36 +14,30 @@ ccm_core.parties: ccm_core.users: # John Doe - banned: false - bouncing: false - email_address: john.doe@example.com + primary_email_address: "{\"address\": \"john.doe@example.com\", \"bouncing\": false, \"verified\": true}" family_name: Doe given_name: John party_id: 10 # foo123 password: $shiro1$SHA-512$500000$7xkDcZUN0/whJInHIvGsDw==$WhelBVmJU/cLV7lAkMOrE5B/mqCW0bUuid1WX+xBwzzAaekC5bYn9eeOFGJWhiDgmaC50ZCUmM96/iGsRoc4uA== password_reset_required: false - verified: true # Max Mustermann - banned: false - bouncing: false - email_address: max.mustermann@example.org + primary_email_address: "{\"address\": \"max.mustermann@example.org\", \"bouncing\": false, \"verified\": true}" family_name: Mustermann given_name: Max party_id: 20 # foo123 password: $shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q== password_reset_required: false - verified: true # Joe Public - banned: false - bouncing: false - email_address: joe.public@example.com + primary_email_address: "{\"address\": \"joe.public@example.com\", \"bouncing\": false, \"verified\": true}}" family_name: Public given_name: Joe party_id: 30 password: $shiro1$SHA-512$500000$RUCYXAQt+XzUmj3x8oG5gw==$qU+lX160Jc6sNUOI9X85wlf2lzn4/hLJNURtjmw9LOYJ7vAqUFFmhyNCMxpzuHIpzeMELr+A0XReoSmtcZnOOw== password_reset_required: false - verified: true ccm_core.ccm_objects: - object_id: 100 display_name: registry diff --git a/ccm-core/src/test/resources/datasets/org/libreccm/security/UserRepositoryTest/after-delete.yml b/ccm-core/src/test/resources/datasets/org/libreccm/security/UserRepositoryTest/after-delete.yml index bdb0b1e4d..814b4dc5c 100644 --- a/ccm-core/src/test/resources/datasets/org/libreccm/security/UserRepositoryTest/after-delete.yml +++ b/ccm-core/src/test/resources/datasets/org/libreccm/security/UserRepositoryTest/after-delete.yml @@ -10,22 +10,18 @@ ccm_core.parties: ccm_core.users: # John Doe - banned: false - bouncing: false - email_address: john.doe@example.com + primary_email_address: "{\"address\": \"john.doe@example.com\", \"bouncing\": false, \"verified\": true}" family_name: Doe given_name: John party_id: 10 # foo123 password: $shiro1$SHA-512$500000$7xkDcZUN0/whJInHIvGsDw==$WhelBVmJU/cLV7lAkMOrE5B/mqCW0bUuid1WX+xBwzzAaekC5bYn9eeOFGJWhiDgmaC50ZCUmM96/iGsRoc4uA== password_reset_required: false - verified: true # Joe Public - banned: false - bouncing: false - email_address: joe.public@example.com + primary_email_address: "{\"address\": \"joe.public@example.com\", \"bouncing\": false, \"verified\": true}}" family_name: Public given_name: Joe party_id: 30 password: $shiro1$SHA-512$500000$RUCYXAQt+XzUmj3x8oG5gw==$qU+lX160Jc6sNUOI9X85wlf2lzn4/hLJNURtjmw9LOYJ7vAqUFFmhyNCMxpzuHIpzeMELr+A0XReoSmtcZnOOw== - password_reset_required: false - verified: true \ No newline at end of file + password_reset_required: false \ No newline at end of file diff --git a/ccm-core/src/test/resources/datasets/org/libreccm/security/UserRepositoryTest/after-save-changed.yml b/ccm-core/src/test/resources/datasets/org/libreccm/security/UserRepositoryTest/after-save-changed.yml index 4ec7cc3d4..115df134f 100644 --- a/ccm-core/src/test/resources/datasets/org/libreccm/security/UserRepositoryTest/after-save-changed.yml +++ b/ccm-core/src/test/resources/datasets/org/libreccm/security/UserRepositoryTest/after-save-changed.yml @@ -14,33 +14,27 @@ ccm_core.parties: ccm_core.users: # John Doe - banned: false - bouncing: false - email_address: jd@example.com + primary_email_address: "{\"address\": \"jd@example.com\", \"bouncing\": false, \"verified\": true}" family_name: Doe given_name: John party_id: 10 # foo1456 password: $shiro1$SHA-512$500000$AH1llRaMHE8W31Q7VG6jsA==$XXgKeyDCsrN23NvszQ5wt+uViQUlVqTAM+05LrE7Bd9sc0eaJT8HlAGvSdY+rqTLbiGm9YS4pohzoUt1x3kmKg== password_reset_required: false - verified: true # Joe Public - banned: false - bouncing: false - email_address: joe.public@example.com + primary_email_address: "{\"address\": \"joe.public@example.com\", \"bouncing\": false, \"verified\": true}}" family_name: Public given_name: Joe party_id: 30 password: $shiro1$SHA-512$500000$RUCYXAQt+XzUmj3x8oG5gw==$qU+lX160Jc6sNUOI9X85wlf2lzn4/hLJNURtjmw9LOYJ7vAqUFFmhyNCMxpzuHIpzeMELr+A0XReoSmtcZnOOw== password_reset_required: false - verified: true # Max Mustermann - banned: false - bouncing: false - email_address: max.mustermann@example.org + primary_email_address: "{\"address\": \"max.mustermann@example.org\", \"bouncing\": false, \"verified\": true}" family_name: Mustermann given_name: Max party_id: 20 # foo123 password: $shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q== password_reset_required: false - verified: true diff --git a/ccm-core/src/test/resources/datasets/org/libreccm/security/UserRepositoryTest/after-save-new.yml b/ccm-core/src/test/resources/datasets/org/libreccm/security/UserRepositoryTest/after-save-new.yml index 2121a1320..af809fead 100644 --- a/ccm-core/src/test/resources/datasets/org/libreccm/security/UserRepositoryTest/after-save-new.yml +++ b/ccm-core/src/test/resources/datasets/org/libreccm/security/UserRepositoryTest/after-save-new.yml @@ -19,42 +19,34 @@ ccm_core.users: # John Doe - party_id: 10 banned: false - bouncing: false - email_address: john.doe@example.com + primary_email_address: "{\"address\": \"john.doe@example.com\", \"bouncing\": false, \"verified\": true}" family_name: Doe given_name: John # foo123 password: $shiro1$SHA-512$500000$7xkDcZUN0/whJInHIvGsDw==$WhelBVmJU/cLV7lAkMOrE5B/mqCW0bUuid1WX+xBwzzAaekC5bYn9eeOFGJWhiDgmaC50ZCUmM96/iGsRoc4uA== password_reset_required: false - verified: true # Max Mustermann - party_id: 20 banned: false - bouncing: false - email_address: max.mustermann@example.org + primary_email_address: "{\"address\": \"max.mustermann@example.org\", \"bouncing\": false, \"verified\": true}" family_name: Mustermann given_name: Max # foo123 password: $shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q== password_reset_required: false - verified: true # Joe Public - party_id: 30 banned: false - bouncing: false - email_address: joe.public@example.com + primary_email_address: "{\"address\": \"joe.public@example.com\", \"bouncing\": false, \"verified\": true}}" family_name: Public given_name: Joe password: $shiro1$SHA-512$500000$RUCYXAQt+XzUmj3x8oG5gw==$qU+lX160Jc6sNUOI9X85wlf2lzn4/hLJNURtjmw9LOYJ7vAqUFFmhyNCMxpzuHIpzeMELr+A0XReoSmtcZnOOw== password_reset_required: false - verified: true # Jane Doe - party_id: 40 banned: false - bouncing: false - email_address: jane.doe@example.org + primary_email_address: "{\"address\": \"jane.doe@example.org\", \"bouncing\": false, \"verified\": true}" family_name: Doe given_name: Jane password: $shiro1$SHA-512$500000$24lA090z7GKYr4VFlZ6t4A==$/heoTHPA5huT1UfJ8Q+waXEG6AjUKhFYLFrj7KW/l0/z9O+QkiZTtfPfbcPblgjcEvrROMEIoQY4Z65S7rFLQg== - password_reset_required: false - verified: false \ No newline at end of file + password_reset_required: false \ No newline at end of file diff --git a/ccm-core/src/test/resources/datasets/org/libreccm/security/UserRepositoryTest/data-email-duplicate.yml b/ccm-core/src/test/resources/datasets/org/libreccm/security/UserRepositoryTest/data-email-duplicate.yml index 3e5486b73..422d41a31 100644 --- a/ccm-core/src/test/resources/datasets/org/libreccm/security/UserRepositoryTest/data-email-duplicate.yml +++ b/ccm-core/src/test/resources/datasets/org/libreccm/security/UserRepositoryTest/data-email-duplicate.yml @@ -14,33 +14,27 @@ ccm_core.parties: ccm_core.users: # John Doe - banned: false - bouncing: false - email_address: john.doe@example.com + primary_email_address: "{\"address\": \"john.doe@example.com\", \"bouncing\": false, \"verified\": true}" family_name: Doe given_name: John party_id: 10 # foo123 password: $shiro1$SHA-512$500000$7xkDcZUN0/whJInHIvGsDw==$WhelBVmJU/cLV7lAkMOrE5B/mqCW0bUuid1WX+xBwzzAaekC5bYn9eeOFGJWhiDgmaC50ZCUmM96/iGsRoc4uA== password_reset_required: false - verified: true # Max Mustermann - banned: false - bouncing: false - email_address: max.mustermann@example.org + primary_email_address: "{\"address\": \"max.mustermann@example.org\", \"bouncing\": false, \"verified\": true}" family_name: Mustermann given_name: Max party_id: 20 # foo123 password: $shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q== password_reset_required: false - verified: true # Joe Public - banned: false - bouncing: false - email_address: max.mustermann@example.org + primary_email_address: "{\"address\": \"max.mustermann@example.org\", \"bouncing\": false, \"verified\": true}" family_name: Public given_name: Joe party_id: 30 password: $shiro1$SHA-512$500000$RUCYXAQt+XzUmj3x8oG5gw==$qU+lX160Jc6sNUOI9X85wlf2lzn4/hLJNURtjmw9LOYJ7vAqUFFmhyNCMxpzuHIpzeMELr+A0XReoSmtcZnOOw== - password_reset_required: false - verified: true \ No newline at end of file + password_reset_required: false \ No newline at end of file diff --git a/ccm-core/src/test/resources/datasets/org/libreccm/security/UserRepositoryTest/data.yml b/ccm-core/src/test/resources/datasets/org/libreccm/security/UserRepositoryTest/data.yml index b8dd7682b..da99f6106 100644 --- a/ccm-core/src/test/resources/datasets/org/libreccm/security/UserRepositoryTest/data.yml +++ b/ccm-core/src/test/resources/datasets/org/libreccm/security/UserRepositoryTest/data.yml @@ -14,33 +14,27 @@ ccm_core.parties: ccm_core.users: # John Doe - banned: false - bouncing: false - email_address: john.doe@example.com + primary_email_address: "{\"address\": \"john.doe@example.com\", \"bouncing\": false, \"verified\": true}" family_name: Doe given_name: John party_id: 10 # foo123 password: $shiro1$SHA-512$500000$7xkDcZUN0/whJInHIvGsDw==$WhelBVmJU/cLV7lAkMOrE5B/mqCW0bUuid1WX+xBwzzAaekC5bYn9eeOFGJWhiDgmaC50ZCUmM96/iGsRoc4uA== password_reset_required: false - verified: true # Max Mustermann - banned: false - bouncing: false - email_address: max.mustermann@example.org + primary_email_address: "{\"address\": \"max.mustermann@example.org\", \"bouncing\": false, \"verified\": true}" family_name: Mustermann given_name: Max party_id: 20 # foo123 password: $shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q== password_reset_required: false - verified: true # Joe Public - banned: false - bouncing: false - email_address: joe.public@example.com + primary_email_address: "{\"address\": \"joe.public@example.com\", \"bouncing\": false, \"verified\": true}}" family_name: Public given_name: Joe party_id: 30 password: $shiro1$SHA-512$500000$RUCYXAQt+XzUmj3x8oG5gw==$qU+lX160Jc6sNUOI9X85wlf2lzn4/hLJNURtjmw9LOYJ7vAqUFFmhyNCMxpzuHIpzeMELr+A0XReoSmtcZnOOw== - password_reset_required: false - verified: true \ No newline at end of file + password_reset_required: false \ No newline at end of file