HSAdmin Backend Domains, E-Mail, Datenbanken
Peter Hormanns
2017-11-23 5591323259856fe1bf4b089e8f3884e9d08b5f74
allow '-' in email aliases
1 files modified
1 files added
34 ■■■■■ changed files
hsarback/src/de/hsadmin/mods/email/EMailAlias.java 2 ●●● patch | view | raw | blame | history
hsarback/test/de/hsadmin/validate/EMailAliasValidationTest.java 32 ●●●●● patch | view | raw | blame | history
hsarback/src/de/hsadmin/mods/email/EMailAlias.java
@@ -48,7 +48,7 @@
    @AnnFieldIO(validation="[a-z0-9]*", rw=ReadWriteAccess.READONLY)
    private Pac pac;
    @AnnFieldIO(validation="[a-z0-9]{5}(-[a-z0-9\\.\\_]{1,})?", rw=ReadWriteAccess.WRITEONCE)
    @AnnFieldIO(validation="[a-z0-9]{5}(-[a-z0-9\\.\\_\\-]{1,})?", rw=ReadWriteAccess.WRITEONCE)
    @Column(updatable=false)
    private String name;
hsarback/test/de/hsadmin/validate/EMailAliasValidationTest.java
New file
@@ -0,0 +1,32 @@
package de.hsadmin.validate;
import java.util.regex.Pattern;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
public class EMailAliasValidationTest {
    private Pattern pattern;
    @Before
    public void setUp() throws Exception {
        pattern = Pattern.compile("[a-z0-9]{5}(-[a-z0-9\\.\\_\\-]{1,})?");
    }
    @Test
    public void test() {
        Assert.assertTrue("xyz00-a.b", pattern.matcher("xyz00-a.b").matches());
        Assert.assertTrue("xyz00-a-b", pattern.matcher("xyz00-a-b").matches());
        Assert.assertTrue("xyz00--b", pattern.matcher("xyz00-a-b").matches());
        Assert.assertTrue("xyz00-a-", pattern.matcher("xyz00-a-b").matches());
        Assert.assertFalse("xyz00-a.B", pattern.matcher("xyz00-a.B").matches());
        Assert.assertFalse("xyz00-", pattern.matcher("xyz00-").matches());
        Assert.assertTrue("xyz00", pattern.matcher("xyz00").matches());
        Assert.assertFalse("xyz0", pattern.matcher("xyz0").matches());
        Assert.assertFalse("xyz00_a", pattern.matcher("xyz00_a").matches());
        Assert.assertFalse("xyz00-a.b:c", pattern.matcher("xyz00-a.b:c").matches());
    }
}