summaryrefslogtreecommitdiff
path: root/src/test/plop_test.erl
blob: e682b28fe96dedd83d80d8e5127e01894529a9c2 (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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
-module(plop_test).
-include("plop.hrl").
-include_lib("eunit/include/eunit.hrl").

adding_test_() ->
    {"Verifies startup, adding log entries and STH's.",
     {setup,                                    % TODO: use 'foreach'
      fun start/0,
      fun stop/1,
      fun (Arg) ->
              [test_add(Arg), test_sth(Arg),
               test_add(Arg),
               test_sth(Arg)]                   % <-- should fail!
      end}}.
     
start() ->
    io:format("Starting.~n"),
    plop:start_link("test/rsakey.pem", "sikrit").

stop(_Pid) ->
    [?_assertEqual({qok, plop}, plop:stop())].

test_add(_Pid) ->
    TestVector =
        <<1,247,141,118,3,148,171,128,29,143,106,97,200,179,204,166,242,98,70,185,231,
          78,193,39,12,245,82,254,230,136,69,69,0,0,0,0,0,0,0,18,103,69,73,8,105,107,
          47,97,130,137,92,201,148,11,68,203,103,216,217,249,38,109,208,23,55,107,21,
          110,128,207,151,46,4,178,228,74,5,247,64,180,85,122,236,127,97,226,50,124,
          212,251,227,65,248,18,36,124,252,103,24,35,99,180,207,126,63,116,149,21,86,
          255,197,248,212,93,100,123,161,159,94,29,112,23,246,98,3,124,89,135,234,71,
          246,21,93,152,214,209,58,25,52,132,219,22,0,38,237,226,118,1,168,86,218,18,
          112,227,11,25,199,15,151,246,253,7,91,72,88,169,164,79,143,160,157,241,168,
          15,230,1,216,93,67,24,230,106,203,61,115,100,172,238,165,236,198,222,33,126,
          12,163,226,165,161,232,106,39,94,93,247,2,164,163,72,34,236,228,168,53,19,
          128,111,78,34,54,166,95,78,11,131,241,191,254,82,225,72,68,111,229,169,24,75,
          90,254,167,119,10,136,211,20,178,251,244,124,87,223,61,102,244,143,98,213,59,
          217,84,80,64,22,209,1,63,64,185,63,13,115,43,36,143,93,19,206,234,100,181,
          203,214,189,144,145,21,247,165,125,192,43,94,247,209,81,50,100>>,
    Entry = #plop_entry{type = test, data = <<"some data">>},
    SPT = #spt{signature_type = test, timestamp = 4711, entry = Entry},
    [?_assertEqual(TestVector, plop:add(SPT))].

test_sth(_Pid) ->
    TestVector =
        <<0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,103,93,90,159,157,211,129,96,54,161,145,226,
          218,28,127,43,87,221,243,153,101,255,249,156,114,234,50,84,163,183,64,215,
          227,112,208,11,52,174,79,151,153,101,56,175,228,12,222,146,138,32,222,199,
          187,222,38,67,121,85,204,137,41,61,226,88,128,19,77,73,1,208,145,83,142,28,
          130,99,147,213,29,103,113,232,20,209,250,76,198,16,4,249,65,26,232,149,1,21,
          42,95,229,251,167,126,220,212,74,195,215,225,22,145,98,51,11,28,83,30,213,15,
          42,162,135,251,71,195,145,165,194,247,181,213,47,126,95,232,111,231,49,46,
          150,177,118,142,28,230,228,167,54,209,42,177,108,62,39,236,85,153,176,117,
          111,61,220,120,49,159,89,185,220,212,53,71,69,144,188,200,16,29,234,255,242,
          126,223,87,146,219,248,164,180,20,229,161,227,24,32,209,180,122,61,195,149,
          49,3,195,162,218,56,86,185,200,17,188,82,23,64,67,187,160,167,13,175,233,211,
          226,72,198,182,6,6,65,123,76,10,81,66,55,159,120,162,56,102,233,35,102,153,
          214,238,116,108,181,106,159,157,241,101,120,35,107,152,36,193,241,211,210,72,
          184,166,220,155,198,238,246,47,181,89,80,29,52,222,181,25,81,76,123,249,225,
          5,192,233,133,131>>,
    STH = plop:sth(#sth{timestamp = 4711}),
    %%io:format(element(2, file:open("foo", write)), "~p", [STH]),
    [?_assertEqual(TestVector, STH)].