]> git.defcon.no Git - hermes/blobdiff - api/t/domain.t
Trivial documentation update. Removing Dumper from tests
[hermes] / api / t / domain.t
index 38467df0f7ac539dc3f9ff8fc253b48cc11baed1..69882035b81f896bdb7d612ad8bc740cf212025d 100644 (file)
@@ -1,86 +1,63 @@
 #!/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 = "example.com"; #TODO: Must fetch this from API
+use Test::More 'no_plan';
+use tests_common;
 
-# plan tests => 2;
-my ($g_ua, $response, $data, $temp);
+# 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);
+login_apikey();
 
-       #$data = decode_json( $response->content);
-       is( $data->{'response'}, 'ok',          'auth/login');
-       undef $response; undef $data;
-}
-
-$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');
-undef $response; undef $data;
-
-TODO: {
-       local $TODO = 'not implemented yet';
-       $response = $g_ua->get( $api_base . "domain/get_servers");
-       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');
-       is( $data->{'response'}, 'ok',          'domain/get_servers result');
-       ok($data->{'server'}->{'domain'},       'domain/get_servers - domain');
-       ok($data->{'server'}->{'registrar'},    'domain/get_servers - registrar');
-       ok($data->{'server'}->{'r_port'},       'domain/get_servers - r_port');
-       ok($data->{'server'}->{'proxy'},        'domain/get_servers - proxy');
-       ok($data->{'server'}->{'p_port'},       'domain/get_servers - p_port');
-       ok($data->{'server'}->{'prov_url'},     'domain/get_servers - prov_url');
-       undef $response; undef $data;
 
-}
+# 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 $data;
+
+$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'}->{'r_port'},     'domain/get_servers - r_port');
+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 $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/",
+} );
+       
+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'}->{'r_port'},     'domain/set_servers - r_port');
+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 $data;
+
+logout();
 
-TODO: {
-       local $TODO = 'not implemented yet';
-       $response = $g_ua->get( $api_base . "domain/set_servers" .
-               "?domain=" . $test_domain . # TODO This should be fetched from domain/list !!
-               "&registrar=registrar." . $test_domain .
-               "&r_port=5060" .
-               "&proxy=proxy." . $test_domain .
-               "&p_port=5060" .
-               "&prov_url=http://phone." . $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');
-       is( $data->{'response'}, 'ok',          'domain/get_servers result');
-       ok($data->{'server'}->{'domain'},       'domain/get_servers - domain');
-       ok($data->{'server'}->{'registrar'},    'domain/get_servers - registrar');
-       ok($data->{'server'}->{'r_port'},       'domain/get_servers - r_port');
-       ok($data->{'server'}->{'proxy'},        'domain/get_servers - proxy');
-       ok($data->{'server'}->{'p_port'},       'domain/get_servers - p_port');
-       ok($data->{'server'}->{'prov_url'},     'domain/get_servers - prov_url');
-       undef $response; undef $data;
-}