From 65ea6c17a0c1348aa9ef4e158102ddf173936882 Mon Sep 17 00:00:00 2001 From: Yuuta Liang Date: Thu, 23 Nov 2023 08:09:01 +0800 Subject: Add GUI Signed-off-by: Yuuta Liang --- src/test/model/x501/NameTest.java | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'src/test/model/x501/NameTest.java') diff --git a/src/test/model/x501/NameTest.java b/src/test/model/x501/NameTest.java index 22307f2..435ed71 100644 --- a/src/test/model/x501/NameTest.java +++ b/src/test/model/x501/NameTest.java @@ -164,4 +164,38 @@ public class NameTest { assertEquals("CN=yuuta,OU=users,C=CA", TestConstants.NAME_1.toString()); assertEquals("SN=Qwq,O=IT,C=CN", TestConstants.NAME_2.toString()); } + + private static void assertParseString(String dn) throws ParseException { + assertEquals(dn, Name.parseString(dn).toString()); + } + + @Test + void testParseStringSuccess() throws ParseException { + assertParseString("CN=a"); + assertParseString("CN=a+L=b"); + assertParseString("CN=a+L=b,OU=c"); + assertParseString("CN=a+L=b,OU=c+CN=d"); + assertParseString("CN=a+L=b,OU=c+CN=d,C=e"); + assertParseString("CN=Web,OU=Computers,O=IT"); + assertParseString("CN=Web,OU=Computers,O=IT\\,Meow\\+qwq,C=CN"); + } + + @Test + void testParseStringFail() { + assertThrows(ParseException.class, () -> Name.parseString("")); + assertThrows(ParseException.class, () -> Name.parseString("C")); + assertThrows(ParseException.class, () -> Name.parseString("CN=")); + assertThrows(ParseException.class, () -> Name.parseString("CN=a+")); + assertThrows(ParseException.class, () -> Name.parseString("CN=+")); + assertThrows(ParseException.class, () -> Name.parseString("CN=,")); + assertThrows(ParseException.class, () -> Name.parseString("CN=a,C=")); + assertThrows(ParseException.class, () -> Name.parseString("CN=a,=")); + assertThrows(ParseException.class, () -> Name.parseString("CN=a,C=,")); + assertThrows(ParseException.class, () -> Name.parseString("CN=a,C+")); + assertThrows(ParseException.class, () -> Name.parseString("CN=a,C=b,OOO")); + assertThrows(ParseException.class, () -> Name.parseString("CN=a,C=b,OOO=")); + assertThrows(ParseException.class, () -> Name.parseString("CN=a,C=b,OU=+")); + assertThrows(ParseException.class, () -> Name.parseString("CN=a,C=b,OU,")); + assertThrows(ParseException.class, () -> Name.parseString("CN=a,C=b=c")); + } } -- cgit v1.2.3