• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

pgpainless / sop-java / #54

25 Sep 2025 09:07PM UTC coverage: 58.308% (-0.1%) from 58.411%
#54

push

other

vanitasvitae
Remove unused import

2088 of 3581 relevant lines covered (58.31%)

0.58 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

77.42
/sop-java-testfixtures/src/main/java/sop/testsuite/assertions/VerificationAssert.java
1
// SPDX-FileCopyrightText: 2023 Paul Schaub <vanitasvitae@fsfe.org>
2
//
3
// SPDX-License-Identifier: Apache-2.0
4

5
package sop.testsuite.assertions;
6

7
import sop.Verification;
8
import sop.enums.SignatureMode;
9
import sop.testsuite.JUtils;
10

11
import java.text.ParseException;
12
import java.util.Date;
13
import java.util.function.Predicate;
14

15
import static org.junit.jupiter.api.Assertions.assertEquals;
16
import static org.junit.jupiter.api.Assertions.assertNotNull;
17
import static org.junit.jupiter.api.Assertions.assertTrue;
18

19
public final class VerificationAssert {
20

21
    private final Verification verification;
22

23
    public static VerificationAssert assertThatVerification(Verification verification) {
24
        return new VerificationAssert(verification);
1✔
25
    }
26

27
    private VerificationAssert(Verification verification) {
1✔
28
        this.verification = verification;
1✔
29
    }
1✔
30

31
    public VerificationAssert issuedBy(String signingKeyFingerprint, String primaryFingerprint) {
32
        return isBySigningKey(signingKeyFingerprint)
1✔
33
                .issuedBy(primaryFingerprint);
1✔
34
    }
35

36
    public VerificationAssert issuedBy(String primaryFingerprint) {
37
        assertEquals(primaryFingerprint, verification.getSigningCertFingerprint());
1✔
38
        return this;
1✔
39
    }
40

41
    public VerificationAssert isBySigningKey(String signingKeyFingerprint) {
42
        assertEquals(signingKeyFingerprint, verification.getSigningKeyFingerprint());
1✔
43
        return this;
1✔
44
    }
45

46
    public VerificationAssert isCreatedAt(Date creationDate) {
47
        JUtils.assertDateEquals(creationDate, verification.getCreationTime());
1✔
48
        return this;
1✔
49
    }
50

51
    public VerificationAssert hasDescription(String description) {
52
        assertEquals(description, verification.getJsonOrDescription().get());
1✔
53
        return this;
1✔
54
    }
55

56
    public VerificationAssert hasDescriptionOrNull(String description) {
57
        if (verification.getJsonOrDescription().isEmpty()) {
×
58
            return this;
×
59
        }
60

61
        return hasDescription(description);
×
62
    }
63

64
    public VerificationAssert hasValidJSONOrNull(Verification.JSONParser parser)
65
            throws ParseException {
66
        if (!verification.getJsonOrDescription().isPresent()) {
×
67
            // missing description
68
            return this;
×
69
        }
70

71
        return hasJSON(parser, null);
×
72
    }
73

74
    public VerificationAssert hasJSON(Verification.JSONParser parser, Predicate<Verification.JSON> predicate) {
75
        assertTrue(verification.getContainsJson(), "Verification does not appear to contain JSON extension");
1✔
76

77
        Verification.JSON json = verification.getJson(parser);
1✔
78
        assertNotNull(verification.getJson(parser), "Verification does not appear to contain valid JSON extension.");
1✔
79
        if (predicate != null) {
1✔
80
            assertTrue(predicate.test(json), "JSON object does not match predicate.");
1✔
81
        }
82
        return this;
1✔
83
    }
84

85
    public VerificationAssert hasMode(SignatureMode mode) {
86
        assertEquals(mode, verification.getSignatureMode().get());
1✔
87
        return this;
1✔
88
    }
89

90
    public VerificationAssert hasModeOrNull(SignatureMode mode) {
91
        if (verification.getSignatureMode().isEmpty()) {
1✔
92
            return this;
1✔
93
        }
94
        return hasMode(mode);
×
95
    }
96
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc