Allow device to query their currently stored signed prekey.
This commit is contained in:
parent
b724ea8d3b
commit
6fac7614f5
|
@ -83,16 +83,6 @@ public class KeysControllerV2 extends KeysController {
|
||||||
keys.store(account.getNumber(), device.getId(), preKeys.getPreKeys(), preKeys.getLastResortKey());
|
keys.store(account.getNumber(), device.getId(), preKeys.getPreKeys(), preKeys.getLastResortKey());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Timed
|
|
||||||
@PUT
|
|
||||||
@Path("/signed")
|
|
||||||
@Consumes(MediaType.APPLICATION_JSON)
|
|
||||||
public void setSignedKey(@Auth Account account, @Valid SignedPreKey signedPreKey) {
|
|
||||||
Device device = account.getAuthenticatedDevice().get();
|
|
||||||
device.setSignedPreKey(signedPreKey);
|
|
||||||
accounts.update(account);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Timed
|
@Timed
|
||||||
@GET
|
@GET
|
||||||
@Path("/{number}/{device_id}")
|
@Path("/{number}/{device_id}")
|
||||||
|
@ -142,6 +132,25 @@ public class KeysControllerV2 extends KeysController {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Timed
|
||||||
|
@PUT
|
||||||
|
@Path("/signed")
|
||||||
|
@Consumes(MediaType.APPLICATION_JSON)
|
||||||
|
public void setSignedKey(@Auth Account account, @Valid SignedPreKey signedPreKey) {
|
||||||
|
Device device = account.getAuthenticatedDevice().get();
|
||||||
|
device.setSignedPreKey(signedPreKey);
|
||||||
|
accounts.update(account);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Timed
|
||||||
|
@GET
|
||||||
|
@Path("/signed")
|
||||||
|
@Produces(MediaType.APPLICATION_JSON)
|
||||||
|
public Optional<SignedPreKey> getSignedKey(@Auth Account account) {
|
||||||
|
Device device = account.getAuthenticatedDevice().get();
|
||||||
|
SignedPreKey signedPreKey = device.getSignedPreKey();
|
||||||
|
|
||||||
|
if (signedPreKey != null) return Optional.of(signedPreKey);
|
||||||
|
else return Optional.absent();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -68,7 +68,7 @@ public class KeyControllerTest {
|
||||||
|
|
||||||
@Before
|
@Before
|
||||||
public void setup() {
|
public void setup() {
|
||||||
final Device sampleDevice = mock(Device.class );
|
final Device sampleDevice = mock(Device.class);
|
||||||
final Device sampleDevice2 = mock(Device.class);
|
final Device sampleDevice2 = mock(Device.class);
|
||||||
final Device sampleDevice3 = mock(Device.class);
|
final Device sampleDevice3 = mock(Device.class);
|
||||||
final Device sampleDevice4 = mock(Device.class);
|
final Device sampleDevice4 = mock(Device.class);
|
||||||
|
@ -154,6 +154,28 @@ public class KeyControllerTest {
|
||||||
verify(keys).getCount(eq(AuthHelper.VALID_NUMBER), eq(1L));
|
verify(keys).getCount(eq(AuthHelper.VALID_NUMBER), eq(1L));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void getSignedPreKeyV2() throws Exception {
|
||||||
|
SignedPreKey result = resources.client().resource("/v2/keys/signed")
|
||||||
|
.header("Authorization", AuthHelper.getAuthHeader(AuthHelper.VALID_NUMBER, AuthHelper.VALID_PASSWORD))
|
||||||
|
.get(SignedPreKey.class);
|
||||||
|
|
||||||
|
assertThat(result.equals(SAMPLE_SIGNED_KEY));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void putSignedPreKeyV2() throws Exception {
|
||||||
|
SignedPreKey test = new SignedPreKey(9999, "fooozzz", "baaarzzz");
|
||||||
|
ClientResponse response = resources.client().resource("/v2/keys/signed")
|
||||||
|
.header("Authorization", AuthHelper.getAuthHeader(AuthHelper.VALID_NUMBER, AuthHelper.VALID_PASSWORD))
|
||||||
|
.type(MediaType.APPLICATION_JSON_TYPE)
|
||||||
|
.put(ClientResponse.class, test);
|
||||||
|
|
||||||
|
assertThat(response.getStatus() == 204);
|
||||||
|
|
||||||
|
verify(AuthHelper.VALID_DEVICE).setSignedPreKey(eq(test));
|
||||||
|
verify(accounts).update(eq(AuthHelper.VALID_ACCOUNT));
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void validLegacyRequestTest() throws Exception {
|
public void validLegacyRequestTest() throws Exception {
|
||||||
|
|
Loading…
Reference in New Issue