]> git.defcon.no Git - hermes/blob - api/t/phone.t
Trivial documentation update. Removing Dumper from tests
[hermes] / api / t / phone.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
18 my ($data, $temp, $test_domain);
19
20 my $test_macaddress = '12341d6db76c';
21
22 isa_ok( $g_ua, 'LWP::UserAgent', '$g_ua');
23 isa_ok( $g_ua->cookie_jar, 'HTTP::Cookies', '$g_ua->cookies');
24
25 login_apikey();
26
27 # First: fetch a supported domain from the API...
28 $data = exec_apinode("domain/list", undef);
29 ok($data, 'domain/list JSON decode');
30 is( $data->{'response'}, 'ok', 'domain/list result');
31 ok($data->{'list'}, 'domain/list array');
32
33 # NOW: Set the $test_domain to something useful (i.e. the first reported domain)
34 $test_domain = $data->{'list'}[0];
35
36 ok($test_domain, 'test_domain set.');
37 undef $data;
38
39 $data = exec_apinode("user/available", { "user" => $test_username . "\@" . $test_domain });
40 is( $data->{'response'}, 'ok', 'user/available is available');
41 undef $data;
42
43 $data = exec_apinode("user/add_local", {
44 "user" => $test_username . "\@" . $test_domain,
45 "displayname" => "Automatic testing",
46 "email" => "noreply\@" . $test_domain,
47 } );
48 is( $data->{'response'}, 'ok', 'user/add_local created new account');
49
50 $data = exec_apinode("phone/list", undef);
51 is( $data->{'response'}, 'ok', 'phone/list result');
52 ok($data->{'list'}, 'phone/list array');
53 undef $data;
54
55 $data = exec_apinode("phone/add", {
56 'user' => $test_username . "\@" . $test_domain,
57 'mac' => $test_macaddress,
58 });
59
60 is( $data->{'response'}, 'ok', 'phone/add result');
61 ok($data->{'mac'}, 'phone/add mac set');
62 ok($data->{'username'}, 'phone/add username set');
63 ok($data->{'domain'}, 'phone/add domain set');
64 undef $data;
65
66 $data = exec_apinode("phone/list", { 'search' => $test_macaddress });
67 is( $data->{'response'}, 'ok', 'phone/list search result');
68 ok($data->{'list'}, 'phone/list search array');
69 undef $data;
70
71 $data = exec_apinode("phone/get", { 'mac' => $test_macaddress });
72 is( $data->{'response'}, 'ok', 'phone/get mac result');
73 ok($data->{'list'}, 'phone/get mac array');
74 undef $data;
75
76 $data = exec_apinode("phone/get", { 'user' => $test_username . "\@" . $test_domain });
77 is( $data->{'response'}, 'ok', 'phone/get user result');
78 ok($data->{'list'}, 'phone/get user array');
79 undef $data;
80
81 $data = exec_apinode("phone/remove", {
82 'user' => $test_username . "\@" . $test_domain,
83 'mac' => $test_macaddress,
84 });
85 is( $data->{'response'}, 'ok', 'phone/remove result');
86 ok($data->{'mac'}, 'phone/remove mac set');
87 ok($data->{'username'}, 'phone/remove username set');
88 ok($data->{'domain'}, 'phone/remove domain set');
89 undef $data;
90
91 $data = exec_apinode("user/remove", { "user" => $test_username . "\@" . $test_domain });
92 is( $data->{'response'}, 'ok', 'user/remove deleted user');
93 undef $data;
94
95
96 logout();