Saving space too soon, has to be done in two phases

This commit is contained in:
Moxie Marlinspike 2019-01-09 17:39:18 -08:00
parent 29d8efd26e
commit 9e2a55edc2
3 changed files with 61 additions and 61 deletions

View File

@ -32,7 +32,7 @@ public class Account implements Principal {
static final int MEMCACHE_VERION = 5;
@JsonIgnore
@JsonProperty
private String number;
@JsonProperty

View File

@ -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() {

View File

@ -19,20 +19,20 @@ import static junit.framework.TestCase.assertNull;
public class PublicAccountTest {
@Test
public void testPinSanitation() throws IOException {
Set<Device> 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<Device> 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"));
// }
}