TT#14562 apply api-lnp.t docker's time domain to api test node

checks comparing "now" timestamps generated by the .t and by api code
(eg. lnp number termination) fail randomly. it seems the
clocks of docker and the api node differ sometimes. this commit
tries to compensate by sending the .t time with requests.

Change-Id: Iaded3735e746dab166364a34ea8a5cda8c8e40ab
changes/38/12738/1
Rene Krenn 9 years ago
parent 9f18b81e29
commit 802593d3e8

@ -133,8 +133,8 @@ $t += 1;
_terminate_lnp_numbers($number); #delete all
sleep(2);;
$now = DateTime->now();
$now->set_time_zone( DateTime::TimeZone->new(name => 'local') );
#$now = DateTime->now();
#$now->set_time_zone( DateTime::TimeZone->new(name => 'local') );
_check_lnpnumber_history("number $number: ",$number,[
],"");
@ -176,6 +176,7 @@ sub _create_lnp_number {
my $expected_code = delete $further_opts{expected_code} // 201;
$req = HTTP::Request->new('POST', $uri.'/api/lnpnumbers/');
$req->header('Content-Type' => 'application/json');
$req->header('X-Fake-Clienttime' => _get_fake_clienttime_now());
$req->content(JSON::to_json({
carrier_id => $carrier->{id},
number => 'test'.$t,
@ -205,6 +206,7 @@ sub _update_lnp_number {
my $url = $uri.'/api/lnpnumbers/'.$number->{id};
$req = HTTP::Request->new('PUT', $url);
$req->header('Content-Type' => 'application/json');
$req->header('X-Fake-Clienttime' => _get_fake_clienttime_now());
$req->header('Prefer' => 'return=representation');
$req->content(JSON::to_json({
%$number,
@ -233,16 +235,19 @@ sub _delete_lnp_number {
$expected_code //= 204;
my $url = $uri.'/api/lnpnumbers/'.$number->{id};
$req = HTTP::Request->new('DELETE', $url);
$req->header('X-Fake-Clienttime' => _get_fake_clienttime_now());
$res = $ua->request($req);
if ($expected_code eq '204') {
is($res->code, 204, "delete test lnp number");
$req = HTTP::Request->new('GET', $url);
$req->header('X-Fake-Clienttime' => _get_fake_clienttime_now());
$res = $ua->request($req);
is($res->code, 404, "test lnp number is not found");
return delete $number_map{$number->{id}};
} else {
is($res->code, $expected_code, "delete test lnp number returns $expected_code");
$req = HTTP::Request->new('GET', $url);
$req->header('X-Fake-Clienttime' => _get_fake_clienttime_now());
$res = $ua->request($req);
is($res->code, 200, "test lnp number is still found");
return undef;
@ -265,6 +270,7 @@ sub _terminate_lnp_numbers {
}
my $url = $uri.'/api/lnpnumbers/'._get_query_string(\%params);
$req = HTTP::Request->new('DELETE', $url);
$req->header('X-Fake-Clienttime' => _get_fake_clienttime_now());
$res = $ua->request($req);
if ($expected_code eq '204') {
is($res->code, 204, "delete test lnp numbers");
@ -351,6 +357,7 @@ sub _check_lnpnumber_history {
my $nexturi = $uri.'/api/lnpnumbers/?page=1&rows=10&order_by_direction=asc&order_by=start'.$actual.$number;
do {
$req = HTTP::Request->new('GET',$nexturi);
$req->header('X-Fake-Clienttime' => _get_fake_clienttime_now());
$res = $ua->request($req);
is($res->code, 200, $label . "fetch lnpnumbers collection page");
push(@requests,_req_to_debug($req));
@ -461,4 +468,12 @@ sub _get_query_string {
return $query;
};
sub _get_fake_clienttime_now {
my $now = DateTime->now();
$now->set_time_zone( DateTime::TimeZone->new(name => 'local') );
my $s = $now->ymd('-') . ' ' . $now->hms(':');
#$s .= '.'.$dt->millisecond if $dt->millisecond > 0.0;
return $s;
}
done_testing;

Loading…
Cancel
Save