]> git.defcon.no Git - hermes/blob - api/t/numbers.t
b16c01c0ba07369cc895ec3d44264db031e5cf97
[hermes] / api / t / numbers.t
1 #!/usr/bin/perl
2
3 use strict;
4 use Test::More 'no_plan';
5 use tests_common;
6
7 # Configuration variables defined in tests_common
8 # Make sure those are updated/set correctly..
9 # $api_base
10 # $api_key
11 #
12 # Further variables defined in tests_common:
13 # $invalid_key
14 # $test_username
15 # $test_password
16 # $invalid_username
17 my ($data, $temp, $test_number_start, $test_number_end);
18
19 $test_number_end .= int(rand(255))
20 while ( length( $test_number_end ) < 8 );
21
22 $test_number_end = substr( $test_number_end, 0, 8 );
23 $test_number_start = $test_number_end - 1;
24
25 $test_number_start = '+47' . $test_number_start;
26 $test_number_end = '+47' . $test_number_end;
27
28 isa_ok( $g_ua, 'LWP::UserAgent', '$g_ua');
29 isa_ok( $g_ua->cookie_jar, 'HTTP::Cookies', '$g_ua->cookies');
30
31 login_apikey();
32
33 $data = exec_apinode("numbers/list", undef);
34 is( $data->{'response'}, 'ok', 'numbers/list result');
35 ok($data->{'list'}, 'numbers/list array');
36 undef $data;
37
38 $data = exec_apinode("numbers/add_range", {
39 'start' => $test_number_end,
40 'end' => $test_number_start,
41 });
42
43 is( $data->{'response'}, 'failed', 'numbers/add_range invalid result');
44 undef $data;
45
46 $data = exec_apinode("numbers/add_range", {
47 'start' => $test_number_start,
48 'end' => $test_number_end,
49 });
50 is( $data->{'response'}, 'ok', 'numbers/add_range result');
51 undef $data;
52
53 $data = exec_apinode("numbers/inpool", { 'number' => $test_number_start, });
54 is( $data->{'response'}, 'ok', 'numbers/inpool result');
55 undef $data;
56
57 $data = exec_apinode("numbers/remove", { 'number' => $test_number_start, });
58 is( $data->{'response'}, 'ok', 'numbers/remove 1 result');
59 undef $data;
60
61 $data = exec_apinode("numbers/remove", { 'number' => $test_number_end, });
62 is( $data->{'response'}, 'ok', 'numbers/remove 2 result');
63 undef $data;
64
65 $data = exec_apinode("numbers/add", { 'number' => $test_number_start, });
66 is( $data->{'response'}, 'ok', 'numbers/add result');
67 undef $data;
68
69 $data = exec_apinode("numbers/remove", { 'number' => $test_number_start, });
70 is( $data->{'response'}, 'ok', 'numbers/remove 3 result');
71 undef $data;
72
73 $data = exec_apinode("numbers/inpool", { 'number' => $test_number_start, });
74 is( $data->{'response'}, 'failed', 'numbers/remove inpool removed');
75 undef $data;
76
77 $data = exec_apinode("numbers/remove", { 'number' => $test_number_start, });
78 is( $data->{'response'}, 'failed', 'numbers/remove invalid remove result');
79 undef $data;
80
81
82 logout();