diff --git a/src/main/java/org/whispersystems/textsecuregcm/storage/Account.java b/src/main/java/org/whispersystems/textsecuregcm/storage/Account.java index 1b6e6991d..28888a5cb 100644 --- a/src/main/java/org/whispersystems/textsecuregcm/storage/Account.java +++ b/src/main/java/org/whispersystems/textsecuregcm/storage/Account.java @@ -32,7 +32,7 @@ public class Account implements Principal { static final int MEMCACHE_VERION = 5; - @JsonProperty + @JsonIgnore private String number; @JsonProperty diff --git a/src/test/java/org/whispersystems/textsecuregcm/tests/controllers/TransparentDataControllerTest.java b/src/test/java/org/whispersystems/textsecuregcm/tests/controllers/TransparentDataControllerTest.java index 5b82d4431..034d19c96 100644 --- a/src/test/java/org/whispersystems/textsecuregcm/tests/controllers/TransparentDataControllerTest.java +++ b/src/test/java/org/whispersystems/textsecuregcm/tests/controllers/TransparentDataControllerTest.java @@ -68,52 +68,52 @@ public class TransparentDataControllerTest { when(accountsManager.get(eq("+14151232222"))).thenReturn(Optional.of(accountTwo)); } -// @Test -// public void testAccountOne() throws IOException { -// Response response = resources.getJerseyTest() -// .target(String.format("/v1/transparency/account/%s", "1")) -// .request() -// .get(); -// -// assertEquals(200, response.getStatus()); -// -// Account result = response.readEntity(PublicAccount.class); -// -// assertTrue(result.getPin().isPresent()); -// assertEquals("******", result.getPin().get()); -// assertNull(result.getNumber()); -// assertEquals("OneProfileName", result.getProfileName()); -// -// assertThat("Account serialization works", -// asJson(result), -// is(equalTo(jsonFixture("fixtures/transparent_account.json")))); -// -// verify(accountsManager, times(1)).get(eq("+14151231111")); -// verifyNoMoreInteractions(accountsManager); -// } -// -// @Test -// public void testAccountTwo() throws IOException { -// Response response = resources.getJerseyTest() -// .target(String.format("/v1/transparency/account/%s", "2")) -// .request() -// .get(); -// -// assertEquals(200, response.getStatus()); -// -// Account result = response.readEntity(PublicAccount.class); -// -// assertTrue(result.getPin().isPresent()); -// assertEquals("******", result.getPin().get()); -// assertNull(result.getNumber()); -// assertEquals("TwoProfileName", result.getProfileName()); -// -// assertThat("Account serialization works 2", -// asJson(result), -// is(equalTo(jsonFixture("fixtures/transparent_account2.json")))); -// -// verify(accountsManager, times(1)).get(eq("+14151232222")); -// } + @Test + public void testAccountOne() throws IOException { + Response response = resources.getJerseyTest() + .target(String.format("/v1/transparency/account/%s", "1")) + .request() + .get(); + + assertEquals(200, response.getStatus()); + + Account result = response.readEntity(PublicAccount.class); + + assertTrue(result.getPin().isPresent()); + assertEquals("******", result.getPin().get()); + assertNull(result.getNumber()); + assertEquals("OneProfileName", result.getProfileName()); + + assertThat("Account serialization works", + asJson(result), + is(equalTo(jsonFixture("fixtures/transparent_account.json")))); + + verify(accountsManager, times(1)).get(eq("+14151231111")); + verifyNoMoreInteractions(accountsManager); + } + + @Test + public void testAccountTwo() throws IOException { + Response response = resources.getJerseyTest() + .target(String.format("/v1/transparency/account/%s", "2")) + .request() + .get(); + + assertEquals(200, response.getStatus()); + + Account result = response.readEntity(PublicAccount.class); + + assertTrue(result.getPin().isPresent()); + assertEquals("******", result.getPin().get()); + assertNull(result.getNumber()); + assertEquals("TwoProfileName", result.getProfileName()); + + assertThat("Account serialization works 2", + asJson(result), + is(equalTo(jsonFixture("fixtures/transparent_account2.json")))); + + verify(accountsManager, times(1)).get(eq("+14151232222")); + } @Test public void testAccountMissing() { diff --git a/src/test/java/org/whispersystems/textsecuregcm/tests/storage/PublicAccountTest.java b/src/test/java/org/whispersystems/textsecuregcm/tests/storage/PublicAccountTest.java index 96a86dac0..dd19b9ac7 100644 --- a/src/test/java/org/whispersystems/textsecuregcm/tests/storage/PublicAccountTest.java +++ b/src/test/java/org/whispersystems/textsecuregcm/tests/storage/PublicAccountTest.java @@ -19,20 +19,20 @@ import static junit.framework.TestCase.assertNull; public class PublicAccountTest { -// @Test -// public void testPinSanitation() throws IOException { -// Set devices = Collections.singleton(new Device(1, "foo", "bar", "12345", null, "gcm-1234", null, null, true, 1234, new SignedPreKey(1, "public-foo", "signature-foo"), 31337, 31336, "Android4Life", true)); -// Account account = new Account("+14151231234", devices, new byte[16]); -// account.setPin("123456"); -// -// PublicAccount publicAccount = new PublicAccount(account); -// -// String serialized = SystemMapper.getMapper().writeValueAsString(publicAccount); -// JsonNode result = SystemMapper.getMapper().readTree(serialized); -// -// assertEquals("******", result.get("pin").textValue()); -// assertNull(result.get("number")); -// } + @Test + public void testPinSanitation() throws IOException { + Set devices = Collections.singleton(new Device(1, "foo", "bar", "12345", null, "gcm-1234", null, null, true, 1234, new SignedPreKey(1, "public-foo", "signature-foo"), 31337, 31336, "Android4Life", true)); + Account account = new Account("+14151231234", devices, new byte[16]); + account.setPin("123456"); + + PublicAccount publicAccount = new PublicAccount(account); + + String serialized = SystemMapper.getMapper().writeValueAsString(publicAccount); + JsonNode result = SystemMapper.getMapper().readTree(serialized); + + assertEquals("******", result.get("pin").textValue()); + assertNull(result.get("number")); + } }