Skip to content

Commit

Permalink
Update fields in HCaptchaResponse
Browse files Browse the repository at this point in the history
This reverts commit 8d129b1.
  • Loading branch information
eager-signal committed Sep 16, 2024
1 parent 8d129b1 commit 11691c3
Show file tree
Hide file tree
Showing 2 changed files with 43 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,7 @@
package org.whispersystems.textsecuregcm.captcha;

import com.fasterxml.jackson.annotation.JsonProperty;

import java.time.Duration;
import java.time.Instant;
import java.util.Collections;
import java.util.List;

Expand All @@ -21,22 +20,19 @@ public class HCaptchaResponse {
@JsonProperty
boolean success;

@JsonProperty(value = "challenge-ts")
Duration challengeTs;
@JsonProperty(value = "challenge_ts")
Instant challengeTs;

@JsonProperty
String hostname;

@JsonProperty
boolean credit;

@JsonProperty(value = "error-codes")
List<String> errorCodes = Collections.emptyList();

@JsonProperty
float score;

@JsonProperty(value = "score-reasons")
@JsonProperty(value = "score_reason")
List<String> scoreReasons = Collections.emptyList();

public HCaptchaResponse() {
Expand All @@ -48,7 +44,6 @@ public String toString() {
"success=" + success +
", challengeTs=" + challengeTs +
", hostname='" + hostname + '\'' +
", credit=" + credit +
", errorCodes=" + errorCodes +
", score=" + score +
", scoreReasons=" + scoreReasons +
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
/*
* Copyright 2024 Signal Messenger, LLC
* SPDX-License-Identifier: AGPL-3.0-only
*/

package org.whispersystems.textsecuregcm.captcha;

import static org.junit.jupiter.api.Assertions.assertEquals;

import java.time.Instant;
import java.util.List;
import org.junit.jupiter.api.Test;
import org.whispersystems.textsecuregcm.util.SystemMapper;

class HCaptchaResponseTest {

@Test
void testParse() throws Exception {

final Instant challengeTs = Instant.parse("2024-09-13T21:36:15Z");

final HCaptchaResponse response =
SystemMapper.jsonMapper().readValue("""
{
"success": "true",
"challenge_ts": "2024-09-13T21:36:15.000000Z",
"hostname": "example.com",
"error-codes": ["one", "two"],
"score": 0.5,
"score_reason": ["three", "four"]
}
""", HCaptchaResponse.class);

assertEquals(challengeTs, response.challengeTs);
assertEquals(List.of("one", "two"), response.errorCodes);
assertEquals(List.of("three", "four"), response.scoreReasons);
}

}

0 comments on commit 11691c3

Please sign in to comment.