]> git.sesse.net Git - www-csrf/blobdiff - t/01_generate.t
Update MANIFEST with t/02_check.t.
[www-csrf] / t / 01_generate.t
index 44d52aa24b7142345ce02b93d24dd6e9d3c1aa80..a2147de1e3948f107478dd66af0a00d76304f1b3 100644 (file)
@@ -1,4 +1,4 @@
-use Test::More tests => 5;
+use Test::More tests => 6;
 
 use WWW::CSRF qw(generate_csrf_token);
 
@@ -8,19 +8,25 @@ like(generate_csrf_token("id", "secret"),
      qr/^[0-9a-f]{40},[0-9a-f]{40},\d+$/,
      "token has right format");
 
-is(generate_csrf_token("id", "secret", $random, 1234567890),
+is(generate_csrf_token("id", "secret", { Random => $random, Time => 1234567890 }),
    "5df5e9f17c929a45af5d33624ec052903599958f,112233445566778899aabbccddeeff0011223344,1234567890",
    "generate simple token");
 
-is(generate_csrf_token("id", "s3cret", $random, 1234567890),
+is(generate_csrf_token("id", "s3cret", { Random => $random, Time => 1234567890 }),
    "0acb0abac254d21ce30c2e805a1bf6762e0b6a17,112233445566778899aabbccddeeff0011223344,1234567890",
    "different secret changes token");
 
-is(generate_csrf_token("id", "s3cret", $random, 1234567891),
+is(generate_csrf_token("id", "s3cret", { Random => $random, Time => 1234567891 }),
    "8e5c2d1cd2dc0368ed2fa1facee31660a5ffa12f,112233445566778899aabbccddeeff0011223344,1234567891",
    "different time changes token");
 
 $random = pack('H*', '112233445566778899aabbccddeeff0011223340');
-is(generate_csrf_token("id", "secret", $random, 1234567890),
+is(generate_csrf_token("id", "secret", { Random => $random, Time => 1234567890 }),
    "5df5e9f17c929a45af5d33624ec052903599958b,112233445566778899aabbccddeeff0011223340,1234567890",
    "bitflip in mask flips corresponding bit in token");
+
+$random = pack('H*', '112233445566778899aabbccddeeff00112233');
+eval {
+  my $ignored = generate_csrf_token("id", "secret", { Random => $random, Time => 1234567890 });
+};
+ok($@, "check that wrong amount of randomness causes die()");