summaryrefslogtreecommitdiffstats
path: root/sqv/tests/duplicate-signatures.rs
blob: c91df964eeb52b01271a63ca9c0c5f6b71bf49c1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
extern crate assert_cli;

use assert_cli::Assert;

fn p(filename: &str) -> String {
    format!("../openpgp/tests/data/{}", filename)
}

/// Asserts that duplicate signatures are properly ignored.
#[test]
fn ignore_duplicates() {
    // Duplicate is ignored, but remaining one is ok.
    Assert::cargo_binary("sqv")
        .with_args(
            &["--keyring",
              &p("keys/emmelie-dorothea-dina-samantha-awina-ed25519.pgp"),
              &p("messages/a-cypherpunks-manifesto.txt.ed25519.sig.duplicated"),
              &p("messages/a-cypherpunks-manifesto.txt")])
         .unwrap();

    // Duplicate is ignored, and fails to meet the threshold.
    Assert::cargo_binary("sqv")
        .with_args(
            &["--keyring",
              &p("keys/emmelie-dorothea-dina-samantha-awina-ed25519.pgp"),
              "--signatures=2",
              &p("messages/a-cypherpunks-manifesto.txt.ed25519.sig.duplicated"),
              &p("messages/a-cypherpunks-manifesto.txt")])
        .fails()
        .unwrap();
}