Migrate CertificateControllerTest to JUnit 5
This commit is contained in:
parent
2144d2a8d8
commit
86ddcbaa08
|
@ -5,21 +5,22 @@
|
||||||
|
|
||||||
package org.whispersystems.textsecuregcm.tests.controllers;
|
package org.whispersystems.textsecuregcm.tests.controllers;
|
||||||
|
|
||||||
import static junit.framework.TestCase.assertTrue;
|
|
||||||
import static org.assertj.core.api.Assertions.assertThat;
|
import static org.assertj.core.api.Assertions.assertThat;
|
||||||
import static org.junit.Assert.assertEquals;
|
import static org.junit.jupiter.api.Assertions.assertArrayEquals;
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||||
|
|
||||||
import com.google.common.collect.ImmutableSet;
|
import com.google.common.collect.ImmutableSet;
|
||||||
import io.dropwizard.auth.PolymorphicAuthValueFactoryProvider;
|
import io.dropwizard.auth.PolymorphicAuthValueFactoryProvider;
|
||||||
import io.dropwizard.testing.junit.ResourceTestRule;
|
import io.dropwizard.testing.junit5.DropwizardExtensionsSupport;
|
||||||
|
import io.dropwizard.testing.junit5.ResourceExtension;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.Base64;
|
import java.util.Base64;
|
||||||
import javax.ws.rs.core.Response;
|
import javax.ws.rs.core.Response;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.glassfish.jersey.test.grizzly.GrizzlyWebTestContainerFactory;
|
import org.glassfish.jersey.test.grizzly.GrizzlyWebTestContainerFactory;
|
||||||
import org.junit.ClassRule;
|
import org.junit.jupiter.api.Test;
|
||||||
import org.junit.Test;
|
import org.junit.jupiter.api.extension.ExtendWith;
|
||||||
import org.signal.zkgroup.InvalidInputException;
|
import org.signal.zkgroup.InvalidInputException;
|
||||||
import org.signal.zkgroup.ServerSecretParams;
|
import org.signal.zkgroup.ServerSecretParams;
|
||||||
import org.signal.zkgroup.VerificationFailedException;
|
import org.signal.zkgroup.VerificationFailedException;
|
||||||
|
@ -41,7 +42,8 @@ import org.whispersystems.textsecuregcm.tests.util.AuthHelper;
|
||||||
import org.whispersystems.textsecuregcm.util.SystemMapper;
|
import org.whispersystems.textsecuregcm.util.SystemMapper;
|
||||||
import org.whispersystems.textsecuregcm.util.Util;
|
import org.whispersystems.textsecuregcm.util.Util;
|
||||||
|
|
||||||
public class CertificateControllerTest {
|
@ExtendWith(DropwizardExtensionsSupport.class)
|
||||||
|
class CertificateControllerTest {
|
||||||
|
|
||||||
private static final String caPublicKey = "BWh+UOhT1hD8bkb+MFRvb6tVqhoG8YYGCzOd7mgjo8cV";
|
private static final String caPublicKey = "BWh+UOhT1hD8bkb+MFRvb6tVqhoG8YYGCzOd7mgjo8cV";
|
||||||
private static final String caPrivateKey = "EO3Mnf0kfVlVnwSaqPoQnAxhnnGL1JTdXqktCKEe9Eo=";
|
private static final String caPrivateKey = "EO3Mnf0kfVlVnwSaqPoQnAxhnnGL1JTdXqktCKEe9Eo=";
|
||||||
|
@ -63,17 +65,16 @@ public class CertificateControllerTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ClassRule
|
private static final ResourceExtension resources = ResourceExtension.builder()
|
||||||
public static final ResourceTestRule resources = ResourceTestRule.builder()
|
.addProvider(AuthHelper.getAuthFilter())
|
||||||
.addProvider(AuthHelper.getAuthFilter())
|
.addProvider(new PolymorphicAuthValueFactoryProvider.Binder<>(ImmutableSet.of(Account.class, DisabledPermittedAccount.class)))
|
||||||
.addProvider(new PolymorphicAuthValueFactoryProvider.Binder<>(ImmutableSet.of(Account.class, DisabledPermittedAccount.class)))
|
.setMapper(SystemMapper.getMapper())
|
||||||
.setMapper(SystemMapper.getMapper())
|
.setTestContainerFactory(new GrizzlyWebTestContainerFactory())
|
||||||
.setTestContainerFactory(new GrizzlyWebTestContainerFactory())
|
.addResource(new CertificateController(certificateGenerator, serverZkAuthOperations, true))
|
||||||
.addResource(new CertificateController(certificateGenerator, serverZkAuthOperations, true))
|
.build();
|
||||||
.build();
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testValidCertificate() throws Exception {
|
void testValidCertificate() throws Exception {
|
||||||
DeliveryCertificate certificateObject = resources.getJerseyTest()
|
DeliveryCertificate certificateObject = resources.getJerseyTest()
|
||||||
.target("/v1/certificate/delivery")
|
.target("/v1/certificate/delivery")
|
||||||
.request()
|
.request()
|
||||||
|
@ -94,11 +95,11 @@ public class CertificateControllerTest {
|
||||||
assertEquals(certificate.getSenderDevice(), 1L);
|
assertEquals(certificate.getSenderDevice(), 1L);
|
||||||
assertTrue(certificate.hasSenderUuid());
|
assertTrue(certificate.hasSenderUuid());
|
||||||
assertEquals(AuthHelper.VALID_UUID.toString(), certificate.getSenderUuid());
|
assertEquals(AuthHelper.VALID_UUID.toString(), certificate.getSenderUuid());
|
||||||
assertTrue(Arrays.equals(certificate.getIdentityKey().toByteArray(), Base64.getDecoder().decode(AuthHelper.VALID_IDENTITY)));
|
assertArrayEquals(certificate.getIdentityKey().toByteArray(), Base64.getDecoder().decode(AuthHelper.VALID_IDENTITY));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testValidCertificateWithUuid() throws Exception {
|
void testValidCertificateWithUuid() throws Exception {
|
||||||
DeliveryCertificate certificateObject = resources.getJerseyTest()
|
DeliveryCertificate certificateObject = resources.getJerseyTest()
|
||||||
.target("/v1/certificate/delivery")
|
.target("/v1/certificate/delivery")
|
||||||
.queryParam("includeUuid", "true")
|
.queryParam("includeUuid", "true")
|
||||||
|
@ -119,11 +120,11 @@ public class CertificateControllerTest {
|
||||||
assertEquals(certificate.getSender(), AuthHelper.VALID_NUMBER);
|
assertEquals(certificate.getSender(), AuthHelper.VALID_NUMBER);
|
||||||
assertEquals(certificate.getSenderDevice(), 1L);
|
assertEquals(certificate.getSenderDevice(), 1L);
|
||||||
assertEquals(certificate.getSenderUuid(), AuthHelper.VALID_UUID.toString());
|
assertEquals(certificate.getSenderUuid(), AuthHelper.VALID_UUID.toString());
|
||||||
assertTrue(Arrays.equals(certificate.getIdentityKey().toByteArray(), Base64.getDecoder().decode(AuthHelper.VALID_IDENTITY)));
|
assertArrayEquals(certificate.getIdentityKey().toByteArray(), Base64.getDecoder().decode(AuthHelper.VALID_IDENTITY));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testValidCertificateWithUuidNoE164() throws Exception {
|
void testValidCertificateWithUuidNoE164() throws Exception {
|
||||||
DeliveryCertificate certificateObject = resources.getJerseyTest()
|
DeliveryCertificate certificateObject = resources.getJerseyTest()
|
||||||
.target("/v1/certificate/delivery")
|
.target("/v1/certificate/delivery")
|
||||||
.queryParam("includeUuid", "true")
|
.queryParam("includeUuid", "true")
|
||||||
|
@ -145,11 +146,11 @@ public class CertificateControllerTest {
|
||||||
assertTrue(StringUtils.isBlank(certificate.getSender()));
|
assertTrue(StringUtils.isBlank(certificate.getSender()));
|
||||||
assertEquals(certificate.getSenderDevice(), 1L);
|
assertEquals(certificate.getSenderDevice(), 1L);
|
||||||
assertEquals(certificate.getSenderUuid(), AuthHelper.VALID_UUID.toString());
|
assertEquals(certificate.getSenderUuid(), AuthHelper.VALID_UUID.toString());
|
||||||
assertTrue(Arrays.equals(certificate.getIdentityKey().toByteArray(), Base64.getDecoder().decode(AuthHelper.VALID_IDENTITY)));
|
assertArrayEquals(certificate.getIdentityKey().toByteArray(), Base64.getDecoder().decode(AuthHelper.VALID_IDENTITY));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testBadAuthentication() throws Exception {
|
void testBadAuthentication() throws Exception {
|
||||||
Response response = resources.getJerseyTest()
|
Response response = resources.getJerseyTest()
|
||||||
.target("/v1/certificate/delivery")
|
.target("/v1/certificate/delivery")
|
||||||
.request()
|
.request()
|
||||||
|
@ -161,7 +162,7 @@ public class CertificateControllerTest {
|
||||||
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testNoAuthentication() throws Exception {
|
void testNoAuthentication() throws Exception {
|
||||||
Response response = resources.getJerseyTest()
|
Response response = resources.getJerseyTest()
|
||||||
.target("/v1/certificate/delivery")
|
.target("/v1/certificate/delivery")
|
||||||
.request()
|
.request()
|
||||||
|
@ -172,7 +173,7 @@ public class CertificateControllerTest {
|
||||||
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testUnidentifiedAuthentication() throws Exception {
|
void testUnidentifiedAuthentication() throws Exception {
|
||||||
Response response = resources.getJerseyTest()
|
Response response = resources.getJerseyTest()
|
||||||
.target("/v1/certificate/delivery")
|
.target("/v1/certificate/delivery")
|
||||||
.request()
|
.request()
|
||||||
|
@ -183,7 +184,7 @@ public class CertificateControllerTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testDisabledAuthentication() throws Exception {
|
void testDisabledAuthentication() throws Exception {
|
||||||
Response response = resources.getJerseyTest()
|
Response response = resources.getJerseyTest()
|
||||||
.target("/v1/certificate/delivery")
|
.target("/v1/certificate/delivery")
|
||||||
.request()
|
.request()
|
||||||
|
@ -194,7 +195,7 @@ public class CertificateControllerTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testGetSingleAuthCredential() throws InvalidInputException, VerificationFailedException {
|
void testGetSingleAuthCredential() throws InvalidInputException, VerificationFailedException {
|
||||||
GroupCredentials credentials = resources.getJerseyTest()
|
GroupCredentials credentials = resources.getJerseyTest()
|
||||||
.target("/v1/certificate/group/" + Util.currentDaysSinceEpoch() + "/" + Util.currentDaysSinceEpoch())
|
.target("/v1/certificate/group/" + Util.currentDaysSinceEpoch() + "/" + Util.currentDaysSinceEpoch())
|
||||||
.request()
|
.request()
|
||||||
|
@ -209,7 +210,7 @@ public class CertificateControllerTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testGetWeekLongAuthCredentials() throws InvalidInputException, VerificationFailedException {
|
void testGetWeekLongAuthCredentials() throws InvalidInputException, VerificationFailedException {
|
||||||
GroupCredentials credentials = resources.getJerseyTest()
|
GroupCredentials credentials = resources.getJerseyTest()
|
||||||
.target("/v1/certificate/group/" + Util.currentDaysSinceEpoch() + "/" + (Util.currentDaysSinceEpoch() + 7))
|
.target("/v1/certificate/group/" + Util.currentDaysSinceEpoch() + "/" + (Util.currentDaysSinceEpoch() + 7))
|
||||||
.request()
|
.request()
|
||||||
|
@ -227,7 +228,7 @@ public class CertificateControllerTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testTooManyDaysOut() throws InvalidInputException {
|
void testTooManyDaysOut() throws InvalidInputException {
|
||||||
Response response = resources.getJerseyTest()
|
Response response = resources.getJerseyTest()
|
||||||
.target("/v1/certificate/group/" + Util.currentDaysSinceEpoch() + "/" + (Util.currentDaysSinceEpoch() + 8))
|
.target("/v1/certificate/group/" + Util.currentDaysSinceEpoch() + "/" + (Util.currentDaysSinceEpoch() + 8))
|
||||||
.request()
|
.request()
|
||||||
|
@ -238,7 +239,7 @@ public class CertificateControllerTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testBackwardsInTime() throws InvalidInputException {
|
void testBackwardsInTime() throws InvalidInputException {
|
||||||
Response response = resources.getJerseyTest()
|
Response response = resources.getJerseyTest()
|
||||||
.target("/v1/certificate/group/" + (Util.currentDaysSinceEpoch() - 1) + "/" + (Util.currentDaysSinceEpoch() + 7))
|
.target("/v1/certificate/group/" + (Util.currentDaysSinceEpoch() - 1) + "/" + (Util.currentDaysSinceEpoch() + 7))
|
||||||
.request()
|
.request()
|
||||||
|
@ -249,7 +250,7 @@ public class CertificateControllerTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testBadAuth() throws InvalidInputException {
|
void testBadAuth() throws InvalidInputException {
|
||||||
Response response = resources.getJerseyTest()
|
Response response = resources.getJerseyTest()
|
||||||
.target("/v1/certificate/group/" + Util.currentDaysSinceEpoch() + "/" + (Util.currentDaysSinceEpoch() + 7))
|
.target("/v1/certificate/group/" + Util.currentDaysSinceEpoch() + "/" + (Util.currentDaysSinceEpoch() + 7))
|
||||||
.request()
|
.request()
|
||||||
|
|
Loading…
Reference in New Issue