diff options
Diffstat (limited to 'eaaf_core_utils/src/test')
-rw-r--r-- | eaaf_core_utils/src/test/java/at/gv/egiz/eaaf/core/test/utils/Rfc7636UtilsTest.java | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/eaaf_core_utils/src/test/java/at/gv/egiz/eaaf/core/test/utils/Rfc7636UtilsTest.java b/eaaf_core_utils/src/test/java/at/gv/egiz/eaaf/core/test/utils/Rfc7636UtilsTest.java new file mode 100644 index 00000000..3bedf3d0 --- /dev/null +++ b/eaaf_core_utils/src/test/java/at/gv/egiz/eaaf/core/test/utils/Rfc7636UtilsTest.java @@ -0,0 +1,68 @@ +package at.gv.egiz.eaaf.core.test.utils; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; + +import org.apache.commons.lang3.RandomStringUtils; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.BlockJUnit4ClassRunner; + +import at.gv.egiz.eaaf.core.impl.utils.Rfc7636Utils; +import at.gv.egiz.eaaf.core.impl.utils.Rfc7636Utils.Method; +import at.gv.egiz.eaaf.core.impl.utils.Rfc7636Utils.PkceInfo; +import lombok.SneakyThrows; + +@RunWith(BlockJUnit4ClassRunner.class) +public class Rfc7636UtilsTest { + + @Test + @SneakyThrows + public void generateS256() { + PkceInfo infos = Rfc7636Utils.getInstance().generate(); + assertNotNull(infos); + assertEquals("S256", infos.getMethod()); + assertEquals(Method.S256, infos.getCodeMethod()); + assertNotNull(infos.getCodeChallenge()); + assertNotNull(infos.getCodeVerifier()); + assertTrue(Rfc7636Utils.getInstance().verify(infos)); + } + + @Test + @SneakyThrows + public void generatePlain() { + PkceInfo infos = Rfc7636Utils.getInstance().generate(Method.PLAIN); + assertNotNull(infos); + assertEquals("PLAIN", infos.getMethod()); + assertEquals(Method.PLAIN, infos.getCodeMethod()); + assertTrue(Rfc7636Utils.getInstance().verify(infos)); + + } + + @Test + @SneakyThrows + public void verifyInvalid() { + PkceInfo infos = PkceInfo.builder() + .codeMethod(Method.S256) + .codeVerifier(RandomStringUtils.randomAlphabetic(10)) + .codeChallenge(RandomStringUtils.randomAlphabetic(10)) + .build(); + assertFalse(Rfc7636Utils.getInstance().verify(infos)); + + } + + @Test + @SneakyThrows + public void verifyRfc7636TestVector() { + PkceInfo infos = PkceInfo.builder() + .codeMethod(Method.S256) + .codeVerifier("dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk") + .codeChallenge("E9Melhoa2OwvFrEMTJguCHaoeK1t8URWbuGJSstw-cM") + .build(); + assertTrue(Rfc7636Utils.getInstance().verify(infos)); + + } + +} |