diff options
author | Joe LaPenna <jlapenna@google.com> | 2017-03-03 10:22:36 -0800 |
---|---|---|
committer | Joe LaPenna <jlapenna@google.com> | 2017-03-03 10:42:21 -0800 |
commit | f160dcf02bbbf55c8be2e1b890823cad4a082dd4 (patch) | |
tree | d789d20c008b6119b0e493416291f134d108dbcd | |
parent | 0ec2cba64094fe0964628a6ef8868cacfa73ce26 (diff) | |
download | NetworkRecommendation-f160dcf02bbbf55c8be2e1b890823cad4a082dd4.tar.gz |
Update tests.
Test: mma NetworkRecommendation RunNetworkRecommendationRoboTests
Bug: 34944625
Change-Id: I0197a75d2eba15653b12a3cb4d6dbde7b121b291
-rw-r--r-- | robotests/src/com/android/networkrecommendation/util/SsidUtilTest.java | 27 | ||||
-rw-r--r-- | src/com/android/networkrecommendation/util/SsidUtil.java | 17 |
2 files changed, 40 insertions, 4 deletions
diff --git a/robotests/src/com/android/networkrecommendation/util/SsidUtilTest.java b/robotests/src/com/android/networkrecommendation/util/SsidUtilTest.java index 053c38d..7634524 100644 --- a/robotests/src/com/android/networkrecommendation/util/SsidUtilTest.java +++ b/robotests/src/com/android/networkrecommendation/util/SsidUtilTest.java @@ -16,9 +16,13 @@ package com.android.networkrecommendation.util; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertTrue; +import org.junit.Rule; import org.junit.Test; +import org.junit.rules.ExpectedException; import org.junit.runner.RunWith; import org.robolectric.RobolectricTestRunner; import org.robolectric.annotation.Config; @@ -28,11 +32,28 @@ import org.robolectric.annotation.Config; @Config(manifest = "packages/services/NetworkRecommendation/AndroidManifest.xml", sdk = 23) public class SsidUtilTest { + @Rule public ExpectedException thrownException = ExpectedException.none(); + + private static final String QUOTED_SSID = "\"foo\""; + private static final String UNQUOTED_SSID = "foo"; + @Test public void testQuote() { - assertEquals("\"foo\"", SsidUtil.quoteSsid("foo")); - assertEquals("\"foo\"", SsidUtil.quoteSsid("\"foo\"")); - assertEquals("\"foo\"", SsidUtil.quoteSsid(SsidUtil.quoteSsid("foo"))); + assertEquals(QUOTED_SSID, SsidUtil.quoteSsid(UNQUOTED_SSID)); + assertEquals(QUOTED_SSID, SsidUtil.quoteSsid(QUOTED_SSID)); + assertEquals(QUOTED_SSID, SsidUtil.quoteSsid(SsidUtil.quoteSsid(UNQUOTED_SSID))); assertNull(SsidUtil.quoteSsid(null)); } + + @Test + public void testVerify() { + assertFalse(SsidUtil.isValidQuotedSsid(UNQUOTED_SSID)); + assertTrue(SsidUtil.isValidQuotedSsid(QUOTED_SSID)); + } + + @Test + public void testCheck() { + thrownException.expect(IllegalArgumentException.class); + SsidUtil.checkIsValidQuotedSsid(UNQUOTED_SSID); + } } diff --git a/src/com/android/networkrecommendation/util/SsidUtil.java b/src/com/android/networkrecommendation/util/SsidUtil.java index 5fc66d9..e1f9503 100644 --- a/src/com/android/networkrecommendation/util/SsidUtil.java +++ b/src/com/android/networkrecommendation/util/SsidUtil.java @@ -35,7 +35,7 @@ public final class SsidUtil { if (ssid == null) { return null; } - if (ssid.startsWith("\"")) { + if (isValidQuotedSsid(ssid)) { return ssid; } return "\"" + ssid + "\""; @@ -61,6 +61,21 @@ public final class SsidUtil { } } + /** + * Returns true if the given string will be accepted as an SSID by WifiKey, especially meaning + * it is quoted. + */ + public static boolean isValidQuotedSsid(@Nullable String ssid) { + return ssid != null && ssid.startsWith("\"") && ssid.endsWith("\""); + } + + /** Thows IllegalArgumentException if the given string cannot be used for an SSID in WifiKey. */ + public static void checkIsValidQuotedSsid(String ssid) { + if (!isValidQuotedSsid(ssid)) { + throw new IllegalArgumentException("SSID " + ssid + " expected to be quoted"); + } + } + // Can't instantiate. private SsidUtil() {} } |