MT#14317 add debug info of panel interval catchups

Change-Id: I1d37ec624c6642f54187ba463cf1121df4eb19a4
changes/40/2440/1
Rene Krenn 10 years ago
parent 6dc62ac899
commit ff75e75138

@ -292,7 +292,8 @@ sub api_apply_fake_time :Private {
if ($allow_fake_client_time) { #exists $ENV{API_FAKE_CLIENT_TIME} && $ENV{API_FAKE_CLIENT_TIME}) {
my $date = $c->request->header('X-Fake-Clienttime'); #('Date');
if ($date) {
my $dt = NGCP::Panel::Utils::DateTime::from_rfc1123_string($date);
#my $dt = NGCP::Panel::Utils::DateTime::from_rfc1123_string($date);
my $dt = NGCP::Panel::Utils::DateTime::from_string($date);
if ($dt) {
NGCP::Panel::Utils::DateTime::set_fake_time($dt);
$c->stash->{is_fake_time} = 1;

@ -126,6 +126,7 @@ sub from_rfc1123_string {
my $s = shift;
my $strp = DateTime::Format::Strptime->new(pattern => RFC_1123_FORMAT_PATTERN,
locale => 'en_US',
on_error => 'undef');
return $strp->parse_datetime($s);
@ -170,6 +171,7 @@ sub to_rfc1123_string {
my $dt = shift;
my $strp = DateTime::Format::Strptime->new(pattern => RFC_1123_FORMAT_PATTERN,
locale => 'en_US',
on_error => 'undef');
return $strp->format_datetime($dt);

@ -154,6 +154,8 @@ sub catchup_contract_balances {
$now //= $contract->modify_timestamp;
$old_package = $contract->profile_package if !exists $params{old_package};
$c->log->debug('catchup contract ' . $contract->id . ' contract_balances to now - ' . NGCP::Panel::Utils::DateTime::to_string($now)) if $c;
my ($start_mode,$interval_unit,$interval_value,$carry_over_mode,$has_package,$notopup_expiration);
if (defined $contract->contact->reseller_id && $old_package) {

@ -654,7 +654,7 @@ if (_get_allow_fake_client_time() && $enable_profile_packages) {
my $nexturi = $uri.'/api/balanceintervals/?page=1&rows=' . ((not defined $total_count or $total_count <= 2) ? 2 : $total_count - 1) . '&contact_id='.$custcontact->{id};
do {
$req = HTTP::Request->new('GET',$nexturi);
$req->header('X-Fake-Clienttime' => _get_rfc_1123_now());
$req->header('X-Fake-Clienttime' => _get_fake_clienttime_now());
$req->header('X-Request-Identifier' => $req_identifier) if $req_identifier;
$res = $ua->request($req);
#$res = $ua->get($nexturi);
@ -697,7 +697,7 @@ if (_get_allow_fake_client_time() && $enable_profile_packages) {
#ok(exists $journals->{$journal->{href}},"check page journal item link");
$req = HTTP::Request->new('GET',$uri . $interval_link->{href});
$req->header('X-Fake-Clienttime' => _get_rfc_1123_now());
$req->header('X-Fake-Clienttime' => _get_fake_clienttime_now());
$req->header('X-Request-Identifier' => $req_identifier) if $req_identifier;
$res = $ua->request($req);
@ -737,7 +737,7 @@ sub _check_interval_history {
my $nexturi = $uri.'/api/balanceintervals/'.$customer->{id}.'/?page=1&rows=10&order_by_direction=asc&order_by=start'.$limit;
do {
$req = HTTP::Request->new('GET',$nexturi);
$req->header('X-Fake-Clienttime' => _get_rfc_1123_now());
$req->header('X-Fake-Clienttime' => _get_fake_clienttime_now());
$req->header('X-Request-Identifier' => $req_identifier) if $req_identifier;
$res = $ua->request($req);
#$res = $ua->get($nexturi);
@ -781,7 +781,7 @@ sub _check_interval_history {
# #ok(exists $journals->{$journal->{href}},"check page journal item link");
#
# $req = HTTP::Request->new('GET',$uri . $interval_link->{href});
# $req->header('X-Fake-Clienttime' => _get_rfc_1123_now());
# $req->header('X-Fake-Clienttime' => _get_fake_clienttime_now());
# $req->header('X-Request-Identifier' => $req_identifier) if $req_identifier;
# $res = $ua->request($req);
# is($res->code, 200, $label . "fetch page balance interval item");
@ -866,7 +866,7 @@ sub _fetch_intervals_worker {
my ($delay,$sort_column,$dir) = @_;
diag("starting thread " . threads->tid() . " ...");
$req = HTTP::Request->new('GET', $uri.'/api/balanceintervals/?order_by='.$sort_column.'&order_by_direction='.$dir.'&contact_id='.$custcontact->{id}.'&rows='.(scalar keys %customer_map));
$req->header('X-Fake-Clienttime' => _get_rfc_1123_now());
$req->header('X-Fake-Clienttime' => _get_fake_clienttime_now());
$req->header('X-Request-Identifier' => $req_identifier) if $req_identifier;
$req->header('X-Delay-Commit' => $delay);
$res = $ua->request($req);
@ -897,7 +897,7 @@ sub _create_customer {
my ($package,$record_label) = @_;
$req = HTTP::Request->new('POST', $uri.'/api/customers/');
$req->header('Content-Type' => 'application/json');
$req->header('X-Fake-Clienttime' => _get_rfc_1123_now());
$req->header('X-Fake-Clienttime' => _get_fake_clienttime_now());
$req->header('X-Request-Identifier' => $req_identifier) if $req_identifier;
my $req_data = {
status => "active",
@ -915,7 +915,7 @@ sub _create_customer {
is($res->code, 201, "create " . $label);
my $request = $req;
$req = HTTP::Request->new('GET', $uri.'/'.$res->header('Location'));
$req->header('X-Fake-Clienttime' => _get_rfc_1123_now());
$req->header('X-Fake-Clienttime' => _get_fake_clienttime_now());
$req->header('X-Request-Identifier' => $req_identifier) if $req_identifier;
$res = $ua->request($req);
is($res->code, 200, "fetch " . $label);
@ -932,7 +932,7 @@ sub _switch_package {
$req = HTTP::Request->new('PATCH', $uri.'/api/customers/'.$customer->{id});
$req->header('Prefer' => 'return=representation');
$req->header('Content-Type' => 'application/json-patch+json');
$req->header('X-Fake-Clienttime' => _get_rfc_1123_now());
$req->header('X-Fake-Clienttime' => _get_fake_clienttime_now());
$req->header('X-Request-Identifier' => $req_identifier) if $req_identifier;
$req->content(JSON::to_json(
@ -963,8 +963,10 @@ sub _set_time {
}
}
sub _get_rfc_1123_now {
return NGCP::Panel::Utils::DateTime::to_rfc1123_string(NGCP::Panel::Utils::DateTime::current_local);
sub _get_fake_clienttime_now {
#return NGCP::Panel::Utils::DateTime::to_rfc1123_string(NGCP::Panel::Utils::DateTime::current_local);
#with rfc1123 there could be a problem if jenkins runner and test host will not have the same (language) locale
return NGCP::Panel::Utils::DateTime::to_string(NGCP::Panel::Utils::DateTime::current_local);
}
sub _create_profile_package {
@ -973,7 +975,7 @@ sub _create_profile_package {
$req = HTTP::Request->new('POST', $uri.'/api/profilepackages/');
$req->header('Content-Type' => 'application/json');
$req->header('Prefer' => 'return=representation');
$req->header('X-Fake-Clienttime' => _get_rfc_1123_now());
$req->header('X-Fake-Clienttime' => _get_fake_clienttime_now());
$req->header('X-Request-Identifier' => $req_identifier) if $req_identifier;
my $name = $start_mode . ($interval_unit ? '/' . $interval_value . ' ' . $interval_unit : '');
$req->content(JSON::to_json({
@ -991,7 +993,7 @@ sub _create_profile_package {
is($res->code, 201, "POST test profilepackage - '" . $name . "'");
my $profilepackage_uri = $uri.'/'.$res->header('Location');
$req = HTTP::Request->new('GET', $profilepackage_uri);
$req->header('X-Fake-Clienttime' => _get_rfc_1123_now());
$req->header('X-Fake-Clienttime' => _get_fake_clienttime_now());
$req->header('X-Request-Identifier' => $req_identifier) if $req_identifier;
$res = $ua->request($req);
is($res->code, 200, "fetch POSTed profilepackage - '" . $name . "'");
@ -1262,7 +1264,7 @@ sub _perform_topup_voucher {
my ($subscriber,$voucher) = @_;
$req = HTTP::Request->new('POST', $uri.'/api/topupvouchers/');
$req->header('Content-Type' => 'application/json');
$req->header('X-Fake-Clienttime' => _get_rfc_1123_now());
$req->header('X-Fake-Clienttime' => _get_fake_clienttime_now());
$req->header('X-Request-Identifier' => $req_identifier) if $req_identifier;
my $req_data = {
code => $voucher->{code},
@ -1280,7 +1282,7 @@ sub _perform_topup_cash {
my ($subscriber,$amount,$package) = @_;
$req = HTTP::Request->new('POST', $uri.'/api/topupcash/');
$req->header('Content-Type' => 'application/json');
$req->header('X-Fake-Clienttime' => _get_rfc_1123_now());
$req->header('X-Fake-Clienttime' => _get_fake_clienttime_now());
$req->header('X-Request-Identifier' => $req_identifier) if $req_identifier;
my $req_data = {
amount => $amount * 100.0,

Loading…
Cancel
Save