package org.commcare.utils; import junit.framework.Assert; import org.junit.Test; import java.io.UnsupportedEncodingException; import static junit.framework.TestCase.assertTrue; import static org.junit.Assert.assertEquals; /** * Test for the basic wrapping scheme * * @author Clayton Sims (csims@dimagi.com) */ public class CredentialUtilTest { @Test public void testWrappedStrings() { Assert.assertEquals("sha256$4bf7cdc2hhMjU2JDRiZjdjZE1USXpRQ01rSlRFeTEzMGM4ZD0=130c8d=", CredentialUtil.wrap("123@#$%12", "sha256$4bf7cd","130c8d=")); Assert.assertEquals("sha256$8f5008c2hhMjU2JDhmNTAwOFlXSmpNVEl6TFE9PTRhNjBhOT0=4a60a9=", CredentialUtil.wrap("abc123-", "sha256$8f5008","4a60a9=")); Assert.assertEquals("sha256$29df66c2hhMjU2JDI5ZGY2NklDRkFJeVFsWGlZcUtDbGZLeTFjYTQwN2VkPQ==a407ed=", CredentialUtil.wrap(" !@#$%^&*()_+-\\", "sha256$29df66","a407ed=")); Assert.assertEquals("sha256$ad5e3ac2hhMjU2JGFkNWUzYTRLU0o0S1NxNEtTVjRLU3c0S1NqTVRJejQyNDgyOT0=424829=", CredentialUtil.wrap("उपकरण123", "sha256$ad5e3a","424829=")); Assert.assertEquals("sha256$1e2d5bc2hhMjU2JDFlMmQ1Yk1USXpORFUyZjc5MTI3PQ==f79127=", CredentialUtil.wrap("123456", "sha256$1e2d5b","f79127=")); } @Test public void testUnwrap() { Assert.assertEquals("123456", CredentialUtil.unwrap("sha256$1e2d5bc2hhMjU2JDFlMmQ1Yk1USXpORFUyZjc5MTI3PQ==f79127=")); Assert.assertEquals(" !@#$%^&*()_+-\\", CredentialUtil.unwrap("sha256$29df66c2hhMjU2JDI5ZGY2NklDRkFJeVFsWGlZcUtDbGZLeTFjYTQwN2VkPQ==a407ed=")); } @Test public void testRoundTrip() { Assert.assertEquals("123456", CredentialUtil.unwrap(CredentialUtil.wrap("123456"))); Assert.assertEquals("abc123-", CredentialUtil.unwrap(CredentialUtil.wrap("abc123-"))); Assert.assertEquals("!@#$%^&*()_+-\\\\", CredentialUtil.unwrap(CredentialUtil.wrap("!@#$%^&*()_+-\\\\"))); Assert.assertEquals("उपकरण123", CredentialUtil.unwrap(CredentialUtil.wrap("उपकरण123"))); } }