Juju
view release on metacpan or search on metacpan
t/02-environment.t view on Meta::CPAN
#!/usr/bin/env perl
use strict;
use warnings;
use Test::More;
use Test::Exception;
plan skip_all =>
'must export JUJU_PASS and JUJU_ENDPOINT to enable these tests'
unless $ENV{JUJU_PASS} && $ENV{JUJU_ENDPOINT};
diag("JUJU Environment tests");
use_ok('Juju');
my $juju_pass = $ENV{JUJU_PASS};
my $juju_endpoint = $ENV{JUJU_ENDPOINT};
my $juju = Juju->new(endpoint => $juju_endpoint, password => $juju_pass);
$juju->login;
# ENVIRONMENT -----------------------------------------------------------------
$juju->environment_info(
sub {
my $val = shift->{Response};
ok(defined($val->{UUID}), "Should get environment.");
}
);
$juju->client_api_host_ports(
sub {
my $val = shift->{Response};
ok(defined($val->{Servers}), "Non block apihosts");
}
);
$juju->agent_version(
sub {
my $val = shift->{Response};
ok(defined($val->{Version}), "Non block agent version");
}
);
$juju->abort_current_upgrade(
sub {
my $val = shift->{Response};
ok(ref($val) eq 'HASH', 'Got a empty hash on abort current upgrade');
}
);
$juju->status(
sub {
my $val = shift->{Response};
ok(defined($val->{Machines}), "non block status works");
}
);
$juju->get_environment_constraints(
sub {
my $val = shift->{Response};
ok(defined($val->{Constraints}), "non block env constraints work");
}
);
# WATCHERS --------------------------------------------------------------------
$juju->get_watcher(
sub {
my $val = shift->{Response};
ok(defined($val->{AllWatcherId}), "non block watchers works");
}
);
my $watcher = $juju->get_watcher;
$juju->get_watched_tasks(
$watcher->{Response}->{AllWatcherId},
sub {
my $val = shift->{Response};
( run in 0.693 second using v1.01-cache-2.11-cpan-524268b4103 )