#!/usr/bin/perl
-use Test::More 'no_plan';
-
use strict;
-use LWP;
-use Data::Dumper;
-use JSON;
-
-my $api_base = "http://10.0.2.5/hermes/api/";
-my $api_key = "6327c08b70f9";
-my $api_user = "test";
-my $api_pass = "Very5ecr3t";
-
-my $test_domain = undef;
+use Test::More 'no_plan';
+use tests_common;
-# plan tests => 2;
-my ($g_ua, $response, $data, $temp, @t);
+# Configuration variables defined in tests_common
+# Make sure those are updated/set correctly..
+# $api_base
+# $api_key
+#
+# Further variables defined in tests_common:
+# $invalid_key
+# $test_username
+# $test_password
+# $invalid_username
+my ($data, $temp, $test_domain, $test_remote_domain );
-$g_ua = LWP::UserAgent->new;
isa_ok( $g_ua, 'LWP::UserAgent', '$g_ua');
-
-$g_ua->cookie_jar({}); # In-memory jar, look at HTTP::Cookies for persistant
isa_ok( $g_ua->cookie_jar, 'HTTP::Cookies', '$g_ua->cookies');
-TODO: {
- local $TODO = 'auth/login not implemented yet';
- $response = $g_ua->get( $api_base . "auth/login?username=" . $api_user .
- "password=" . $api_pass . "&key=" . $api_key);
-
- #$data = decode_json( $response->content);
- is( $data->{'response'}, 'ok', 'auth/login');
- undef $response; undef $data;
-}
+login_apikey();
-$response = $g_ua->get( $api_base . "domain/list");
-isa_ok( $response, 'HTTP::Response', 'domain/list $response');
-ok ($response->is_success, 'domain/list is_success');
-$data = decode_json( $response->content);
-ok($data, 'domain/list JSON decode');
+$data = exec_apinode("domain/list", undef);
is( $data->{'response'}, 'ok', 'domain/list result');
ok($data->{'list'}, 'domain/list array');
# NOW: Set the $test_domain to something useful (i.e. the first reported domain)
$test_domain = $data->{'list'}[0];
ok($test_domain, 'test_domain set.');
-undef $response; undef $data;
+undef $data;
-$response = $g_ua->get( $api_base . "domain/get_servers?domain=" . $test_domain );
-isa_ok( $response, 'HTTP::Response', 'domain/list $response');
-ok ($response->is_success, 'domain/list is_success');
-$data = decode_json( $response->content);
-ok($data, 'domain/get_servers JSON decode');
+$data = exec_apinode("domain/get_servers", { "domain" => $test_domain });
is( $data->{'response'}, 'ok', 'domain/get_servers result');
ok($data->{'servers'}->{'domain'}, 'domain/get_servers - domain');
ok($data->{'servers'}->{'registrar'}, 'domain/get_servers - registrar');
ok($data->{'servers'}->{'proxy'}, 'domain/get_servers - proxy');
ok($data->{'servers'}->{'p_port'}, 'domain/get_servers - p_port');
ok($data->{'servers'}->{'prov_url'}, 'domain/get_servers - prov_url');
-undef $response; undef $data;
-
-$response = $g_ua->get( $api_base . "domain/set_servers" .
- "?domain=" . $test_domain .
- "®istrar=registrar." . $test_domain .
- "&r_port=5060" .
- "&proxy=proxy." . $test_domain .
- "&p_port=5060" .
- "&prov_url=http://phone." . $test_domain . "/hermes/prov/" );
+undef $data;
+
+$data = exec_apinode("domain/set_servers", {
+ "domain" => $test_domain,
+ "registrar" => "registrar." . $test_domain,
+ "r_port" => 5060,
+ "proxy" => "proxy." . $test_domain,
+ "p_port" => 5060,
+ "prov_url" => "http://phone." . $test_domain . "/hermes/prov/",
+} );
-isa_ok( $response, 'HTTP::Response', 'domain/list $response');
-ok ($response->is_success, 'domain/list is_success');
-$data = decode_json( $response->content);
-ok($data, 'domain/set_servers JSON decode');
is( $data->{'response'}, 'ok', 'domain/set_servers result');
ok($data->{'servers'}->{'domain'}, 'domain/set_servers - domain');
ok($data->{'servers'}->{'registrar'}, 'domain/set_servers - registrar');
ok($data->{'servers'}->{'proxy'}, 'domain/set_servers - proxy');
ok($data->{'servers'}->{'p_port'}, 'domain/set_servers - p_port');
ok($data->{'servers'}->{'prov_url'}, 'domain/set_servers - prov_url');
-undef $response; undef $data;
+undef $data;
+
+logout();
-TODO: {
- local $TODO = 'auth/logout not implemented yet';
- $response = $g_ua->get( $api_base . "auth/logout");
- #$data = decode_json( $response->content);
- is( $data->{'response'}, 'ok', 'auth/logout');
- undef $response; undef $data;
-}