X-Git-Url: https://git.defcon.no/?a=blobdiff_plain;f=api%2Ft%2Fdomain.t;h=69882035b81f896bdb7d612ad8bc740cf212025d;hb=48430664a49aee26cfbf8bd6be1a1817457fb802;hp=38467df0f7ac539dc3f9ff8fc253b48cc11baed1;hpb=5564b3420c5316743e1cbc63be96735880d2153e;p=hermes diff --git a/api/t/domain.t b/api/t/domain.t index 38467df..6988203 100644 --- a/api/t/domain.t +++ b/api/t/domain.t @@ -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 !! - "®istrar=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; -}