aboutsummaryrefslogtreecommitdiff
path: root/src/test/java/com/juick/server/tests/ServerTests.java
diff options
context:
space:
mode:
authorGravatar Vitaly Takmazov2021-08-21 03:49:12 +0300
committerGravatar Vitaly Takmazov2021-08-21 03:49:12 +0300
commit389e29881724b90daa466247aef1b8a164511bb9 (patch)
tree66888f12de37dfef24de79bc23c0f4c5fb2939e6 /src/test/java/com/juick/server/tests/ServerTests.java
parent880535098d71e80944bbc6496cba692d68c342b6 (diff)
ActivityPub: add Application as an actor type
Diffstat (limited to 'src/test/java/com/juick/server/tests/ServerTests.java')
-rw-r--r--src/test/java/com/juick/server/tests/ServerTests.java18
1 files changed, 14 insertions, 4 deletions
diff --git a/src/test/java/com/juick/server/tests/ServerTests.java b/src/test/java/com/juick/server/tests/ServerTests.java
index 5b98c41a..e25f0b0d 100644
--- a/src/test/java/com/juick/server/tests/ServerTests.java
+++ b/src/test/java/com/juick/server/tests/ServerTests.java
@@ -39,6 +39,7 @@ import com.juick.www.api.Users;
import com.juick.www.api.activity.Profile;
import com.juick.www.api.activity.model.Context;
import com.juick.www.api.activity.model.activities.*;
+import com.juick.www.api.activity.model.objects.Application;
import com.juick.www.api.activity.model.objects.Note;
import com.juick.www.api.activity.model.objects.Person;
import com.juick.www.api.webfinger.model.Account;
@@ -222,6 +223,8 @@ public class ServerTests {
@Value("classpath:snapshots/activity/testuser.json")
private Resource testuserResponse;
+ @Value("classpath:snapshots/activity/testapp.json")
+ private Resource testappResponse;
@Value("classpath:snapshots/activity/testfollow.json")
private Resource testfollowRequest;
@Value("classpath:snapshots/email/subscription.html")
@@ -1869,14 +1872,19 @@ public class ServerTests {
User meUser = jsonMapper.readValue(me.getResponse().getContentAsString(), User.class);
assertThat(meUser, is(ugnich));
String testuserResponseString = IOUtils.toString(testuserResponse.getInputStream(), StandardCharsets.UTF_8);
+ String testappResponseString = IOUtils.toString(testappResponse.getInputStream(), StandardCharsets.UTF_8);
ClientHttpRequestFactory originalRequestFactory = apClient.getRequestFactory();
URI testuserUri = URI.create("https://example.com/u/testuser");
URI testuserkeyUri = URI.create("https://example.com/u/testuser#main-key");
+ URI testAppUri = URI.create("https://example.com/actor");
+ URI testAppkeyUri = URI.create("https://example.com/actor#main-key");
MockRestServiceServer restServiceServer = MockRestServiceServer.createServer(apClient);
- restServiceServer.expect(times(5), requestTo(testuserUri))
+ restServiceServer.expect(times(4), requestTo(testuserUri))
.andRespond(withSuccess(testuserResponseString, MediaType.APPLICATION_JSON));
- restServiceServer.expect(times(5), requestTo(testuserkeyUri))
+ restServiceServer.expect(times(4), requestTo(testuserkeyUri))
.andRespond(withSuccess(testuserResponseString, MediaType.APPLICATION_JSON));
+ restServiceServer.expect(times(2), requestTo(testAppUri))
+ .andRespond(withSuccess(testappResponseString, MediaType.APPLICATION_JSON));
Person testuser = (Person) signatureManager.getContext(testuserUri).get();
assertThat(testuser.getPublicKey().getPublicKeyPem(), is(testKeystoreManager.getPublicKeyPem()));
Instant now2 = Instant.now();
@@ -1897,13 +1905,15 @@ public class ServerTests {
mockMvc.perform(post(inboxUri).header("Host", testHost).header("Date", testRequestDate)
.header("Signature", testSignatureString).contentType(Context.LD_JSON_MEDIA_TYPE).content(payload))
.andExpect(status().isUnauthorized());
- // test flagging
+ // test flagging as application
payload = IOUtils.toByteArray(flagPayload.getInputStream());
digest = MessageDigest.getInstance("SHA-256").digest(payload); // (1)
digestHeader = "SHA-256=" + new String(Base64.encodeBase64(digest));
now2 = Instant.now();
testRequestDate = DateFormattersHolder.getHttpDateFormatter().format(now2);
- testSignatureString = signatureManager.addSignature(testuser, "localhost", "POST", inboxUri, testRequestDate,
+ Application testapp = (Application) signatureManager.getContext(testAppUri).get();
+ assertThat(testapp.getPublicKey().getPublicKeyPem(), is(testKeystoreManager.getPublicKeyPem()));
+ testSignatureString = signatureManager.addSignature(testapp, "localhost", "POST", inboxUri, testRequestDate,
digestHeader, testKeystoreManager);
mockMvc.perform(post(inboxUri).header("Host", testHost).header("Date", testRequestDate)
.header("Signature", testSignatureString)