// Path: src/test/java/org/simplify4u/plugins/TestArtifactBuilder.java
// public static TestArtifactBuilder testArtifact() {
//     return new TestArtifactBuilder();
// }
// 
// Path: src/test/java/org/simplify4u/plugins/TestUtils.java
// public static KeysMapLocationConfig aKeysMapLocationConfig(String location) {
//     KeysMapLocationConfig config = new KeysMapLocationConfig();
//     config.set(location);
//     return config;
// }
// 
// Path: src/main/java/org/simplify4u/plugins/pgp/KeyFingerprint.java
// @Value
// @RequiredArgsConstructor
// public class KeyFingerprint {
// 
//     byte[] fingerprint;
// 
//     /**
//      * Construct a key fingerprint from string representation.
//      * @param strFingerprint a key fingerprint as string
//      */
//     public KeyFingerprint(String strFingerprint) {
//         fingerprint = HexUtils.stringToFingerprint(strFingerprint);
//     }
// 
//     @JsonValue
//     public String toString() {
//         return HexUtils.fingerprintToString(fingerprint);
//     }
// }
// 
// Path: src/main/java/org/simplify4u/plugins/pgp/KeyInfo.java
// @Builder
// @Value
// public class KeyInfo {
// 
//     @NonNull
//     KeyFingerprint fingerprint;
// 
//     KeyFingerprint master;
// 
//     Collection<String> uids;
// 
//     int version;
//     int algorithm;
// 
//     int bits;
// 
//     Date date;
// }


import org.simplify4u.plugins.pgp.KeyInfo;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Listeners;
import org.testng.annotations.Test;
import java.io.IOException;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.Mockito.doAnswer;
import static org.simplify4u.plugins.TestArtifactBuilder.testArtifact;
import static org.simplify4u.plugins.TestUtils.aKeysMapLocationConfig;
import org.apache.maven.artifact.Artifact;
import org.codehaus.plexus.resource.ResourceManager;
import org.codehaus.plexus.resource.loader.ResourceNotFoundException;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.testng.MockitoTestNGListener;
import org.simplify4u.plugins.pgp.KeyFingerprint;
                {testArtifact().build(),
                        new KeyFingerprint("0x1111 1111 3333 3333")},

                {testArtifact().artifactId("test1").build(),
                        new KeyFingerprint("0x1111 1111 4444 4444")},

                {testArtifact().build(),
                        new KeyFingerprint("0x2222 2222 1111 1111")},

                {testArtifact().build(),
                        new KeyFingerprint("0x2222 2222 2222 2222")},

                {testArtifact().build(),
                        new KeyFingerprint("0x2222 2222 3333 3333")},

                {testArtifact().groupId("test.group2").build(),
                        new KeyFingerprint("0x2222 2222 4444 4444")},

                {testArtifact().artifactId("bad-sig").build(),
                        new KeyFingerprint("0x2222 2222 5555 5555")},

                {testArtifact().groupId("test.group7").artifactId("test7").build(),
                        new KeyFingerprint("0x7777 7777 7777 7777")}
        };
    }

    @Test(dataProvider = "artifactWithKeyToTest")
    public void keyShouldBeValid(Artifact artifact, KeyFingerprint keyFingerprint)
            throws ResourceNotFoundException, IOException {

// Path: src/test/java/org/simplify4u/plugins/TestArtifactBuilder.java
// public static TestArtifactBuilder testArtifact() {
//     return new TestArtifactBuilder();
// }
// 
// Path: src/test/java/org/simplify4u/plugins/TestUtils.java
// public static KeysMapLocationConfig aKeysMapLocationConfig(String location) {
//     KeysMapLocationConfig config = new KeysMapLocationConfig();
//     config.set(location);
//     return config;
// }
// 
// Path: src/main/java/org/simplify4u/plugins/pgp/KeyFingerprint.java
// @Value
// @RequiredArgsConstructor
// public class KeyFingerprint {
// 
//     byte[] fingerprint;
// 
//     /**
//      * Construct a key fingerprint from string representation.
//      * @param strFingerprint a key fingerprint as string
//      */
//     public KeyFingerprint(String strFingerprint) {
//         fingerprint = HexUtils.stringToFingerprint(strFingerprint);
//     }
// 
//     @JsonValue
//     public String toString() {
//         return HexUtils.fingerprintToString(fingerprint);
//     }
// }
// 
// Path: src/main/java/org/simplify4u/plugins/pgp/KeyInfo.java
// @Builder
// @Value
// public class KeyInfo {
// 
//     @NonNull
//     KeyFingerprint fingerprint;
// 
//     KeyFingerprint master;
// 
//     Collection<String> uids;
// 
//     int version;
//     int algorithm;
// 
//     int bits;
// 
//     Date date;
// }


// Path: src/test/java/org/simplify4u/plugins/keysmap/KeysMapMultiTest.java
import org.simplify4u.plugins.pgp.KeyInfo;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Listeners;
import org.testng.annotations.Test;
import java.io.IOException;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.Mockito.doAnswer;
import static org.simplify4u.plugins.TestArtifactBuilder.testArtifact;
import static org.simplify4u.plugins.TestUtils.aKeysMapLocationConfig;
import org.apache.maven.artifact.Artifact;
import org.codehaus.plexus.resource.ResourceManager;
import org.codehaus.plexus.resource.loader.ResourceNotFoundException;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.testng.MockitoTestNGListener;
import org.simplify4u.plugins.pgp.KeyFingerprint;

                {testArtifact().build(),
                        new KeyFingerprint("0x1111 1111 3333 3333")},

                {testArtifact().artifactId("test1").build(),
                        new KeyFingerprint("0x1111 1111 4444 4444")},

                {testArtifact().build(),
                        new KeyFingerprint("0x2222 2222 1111 1111")},

                {testArtifact().build(),
                        new KeyFingerprint("0x2222 2222 2222 2222")},

                {testArtifact().build(),
                        new KeyFingerprint("0x2222 2222 3333 3333")},

                {testArtifact().groupId("test.group2").build(),
                        new KeyFingerprint("0x2222 2222 4444 4444")},

                {testArtifact().artifactId("bad-sig").build(),
                        new KeyFingerprint("0x2222 2222 5555 5555")},

                {testArtifact().groupId("test.group7").artifactId("test7").build(),
                        new KeyFingerprint("0x7777 7777 7777 7777")}
        };
    }

    @Test(dataProvider = "artifactWithKeyToTest")
    public void keyShouldBeValid(Artifact artifact, KeyFingerprint keyFingerprint)
            throws ResourceNotFoundException, IOException {

        KeyInfo key = KeyInfo.builder().fingerprint(keyFingerprint).build();