Bug 38782: mock_userenv in API tests

Reorder logic slightly for each to only create the counter_file after the mock_userenv has taken place

prove t/db_dependent/api/v1/erm_custom_reports.t

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
This commit is contained in:
Pedro Amorim 2024-12-24 11:15:21 +00:00 committed by Katrin Fischer
parent a297c42394
commit 1e7c49ab98
No known key found for this signature in database
GPG Key ID: 0EF6E2C03357A834
1 changed files with 84 additions and 80 deletions

View File

@ -50,6 +50,27 @@ subtest "monthly_report" => sub {
$schema->storage->txn_begin;
my $librarian = $builder->build_object(
{
class => 'Koha::Patrons',
value => { flags => 2**28 }
}
);
my $password = 'thePassword123';
$librarian->set_password( { password => $password, skip_validation => 1 } );
my $userid = $librarian->userid;
t::lib::Mocks::mock_userenv( { number => $userid } );
my $patron = $builder->build_object(
{
class => 'Koha::Patrons',
value => { flags => 0 }
}
);
$patron->set_password( { password => $password, skip_validation => 1 } );
my $unauth_userid = $patron->userid;
# Run a harvest to populate the database with data
my $usage_data_provider = $builder->build_object( { class => 'Koha::ERM::EUsage::UsageDataProviders' } );
my $counter_file = $sushi_counter_TR_J1->get_COUNTER_from_SUSHI;
@ -64,26 +85,6 @@ subtest "monthly_report" => sub {
]
);
my $librarian = $builder->build_object(
{
class => 'Koha::Patrons',
value => { flags => 2**28 }
}
);
my $password = 'thePassword123';
$librarian->set_password( { password => $password, skip_validation => 1 } );
my $userid = $librarian->userid;
my $patron = $builder->build_object(
{
class => 'Koha::Patrons',
value => { flags => 0 }
}
);
$patron->set_password( { password => $password, skip_validation => 1 } );
my $unauth_userid = $patron->userid;
# Unauthorized access
$t->get_ok("//$unauth_userid:$password@/api/v1/erm/eUsage/monthly_report/title")->status_is(403);
@ -148,6 +149,27 @@ subtest "yearly_report" => sub {
$schema->storage->txn_begin;
my $librarian = $builder->build_object(
{
class => 'Koha::Patrons',
value => { flags => 2**28 }
}
);
my $password = 'thePassword123';
$librarian->set_password( { password => $password, skip_validation => 1 } );
my $userid = $librarian->userid;
t::lib::Mocks::mock_userenv( { number => $userid } );
my $patron = $builder->build_object(
{
class => 'Koha::Patrons',
value => { flags => 0 }
}
);
$patron->set_password( { password => $password, skip_validation => 1 } );
my $unauth_userid = $patron->userid;
# Run a harvest to populate the database with data
my $usage_data_provider = $builder->build_object( { class => 'Koha::ERM::EUsage::UsageDataProviders' } );
my $counter_file = $sushi_counter_TR_J1->get_COUNTER_from_SUSHI;
@ -162,26 +184,6 @@ subtest "yearly_report" => sub {
]
);
my $librarian = $builder->build_object(
{
class => 'Koha::Patrons',
value => { flags => 2**28 }
}
);
my $password = 'thePassword123';
$librarian->set_password( { password => $password, skip_validation => 1 } );
my $userid = $librarian->userid;
my $patron = $builder->build_object(
{
class => 'Koha::Patrons',
value => { flags => 0 }
}
);
$patron->set_password( { password => $password, skip_validation => 1 } );
my $unauth_userid = $patron->userid;
# Unauthorized access
$t->get_ok("//$unauth_userid:$password@/api/v1/erm/eUsage/yearly_report/title")->status_is(403);
@ -237,6 +239,27 @@ subtest "metric_types_report" => sub {
$schema->storage->txn_begin;
my $librarian = $builder->build_object(
{
class => 'Koha::Patrons',
value => { flags => 2**28 }
}
);
my $password = 'thePassword123';
$librarian->set_password( { password => $password, skip_validation => 1 } );
my $userid = $librarian->userid;
t::lib::Mocks::mock_userenv( { number => $userid } );
my $patron = $builder->build_object(
{
class => 'Koha::Patrons',
value => { flags => 0 }
}
);
$patron->set_password( { password => $password, skip_validation => 1 } );
my $unauth_userid = $patron->userid;
# Run a harvest to populate the database with data
my $usage_data_provider = $builder->build_object( { class => 'Koha::ERM::EUsage::UsageDataProviders' } );
my $counter_file = $sushi_counter_TR_J1->get_COUNTER_from_SUSHI;
@ -251,26 +274,6 @@ subtest "metric_types_report" => sub {
]
);
my $librarian = $builder->build_object(
{
class => 'Koha::Patrons',
value => { flags => 2**28 }
}
);
my $password = 'thePassword123';
$librarian->set_password( { password => $password, skip_validation => 1 } );
my $userid = $librarian->userid;
my $patron = $builder->build_object(
{
class => 'Koha::Patrons',
value => { flags => 0 }
}
);
$patron->set_password( { password => $password, skip_validation => 1 } );
my $unauth_userid = $patron->userid;
# Unauthorized access
$t->get_ok("//$unauth_userid:$password@/api/v1/erm/eUsage/metric_types_report/title")->status_is(403);
@ -332,6 +335,27 @@ subtest "provider_rollup_report" => sub {
$schema->storage->txn_begin;
my $librarian = $builder->build_object(
{
class => 'Koha::Patrons',
value => { flags => 2**28 }
}
);
my $password = 'thePassword123';
$librarian->set_password( { password => $password, skip_validation => 1 } );
my $userid = $librarian->userid;
t::lib::Mocks::mock_userenv( { number => $userid } );
my $patron = $builder->build_object(
{
class => 'Koha::Patrons',
value => { flags => 0 }
}
);
$patron->set_password( { password => $password, skip_validation => 1 } );
my $unauth_userid = $patron->userid;
# Run a harvest to populate the database with data
my $usage_data_provider = $builder->build_object( { class => 'Koha::ERM::EUsage::UsageDataProviders' } );
my $counter_file = $sushi_counter_TR_J1->get_COUNTER_from_SUSHI;
@ -346,26 +370,6 @@ subtest "provider_rollup_report" => sub {
]
);
my $librarian = $builder->build_object(
{
class => 'Koha::Patrons',
value => { flags => 2**28 }
}
);
my $password = 'thePassword123';
$librarian->set_password( { password => $password, skip_validation => 1 } );
my $userid = $librarian->userid;
my $patron = $builder->build_object(
{
class => 'Koha::Patrons',
value => { flags => 0 }
}
);
$patron->set_password( { password => $password, skip_validation => 1 } );
my $unauth_userid = $patron->userid;
# Unauthorized access
$t->get_ok("//$unauth_userid:$password@/api/v1/erm/eUsage/provider_rollup_report/title")->status_is(403);