Bugzilla – Attachment 181020 Details for
Bug 37901
Add ILL pseudonymization
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 37901: Add Tests
Bug-37901-Add-Tests.patch (text/plain), 5.11 KB, created by
Pedro Amorim
on 2025-04-16 15:44:13 UTC
(
hide
)
Description:
Bug 37901: Add Tests
Filename:
MIME Type:
Creator:
Pedro Amorim
Created:
2025-04-16 15:44:13 UTC
Size:
5.11 KB
patch
obsolete
>From 878c71cfc9105c166c5be03beaaaf62d02b60a86 Mon Sep 17 00:00:00 2001 >From: Pedro Amorim <pedro.amorim@openfifth.co.uk> >Date: Wed, 16 Apr 2025 12:19:16 +0000 >Subject: [PATCH] Bug 37901: Add Tests > >Example reports that can be written for ILL pseudonymized data: > >--Total of requests of a given request type (article)-- > >SELECT > COUNT(*) AS count >FROM > pseudonymized_transactions pt >WHERE > EXISTS ( > SELECT 1 > FROM pseudonymized_metadata_values pmv > WHERE pmv.transaction_id = pt.id > AND pmv.key = 'type' > AND pmv.value = 'article' > ); > >--Add backend info to listing-- > >SELECT > pt.*, > (SELECT pmv.value FROM pseudonymized_metadata_values pmv WHERE pmv.transaction_id = pt.id AND pmv.key = 'type') AS type, > (SELECT pmv.value FROM pseudonymized_metadata_values pmv WHERE pmv.transaction_id = pt.id AND pmv.key = 'backend') AS backend >FROM > pseudonymized_transactions pt; > >--List all pseudonymized transactions and respective metadata values-- > >SELECT > pt.*, > table1.metadata AS borrower_attributes, > table2.metadata AS illrequestattributes >FROM > pseudonymized_transactions pt > LEFT JOIN ( > SELECT > transaction_id, > GROUP_CONCAT(DISTINCT CONCAT(`key`, ':', value)) AS metadata > FROM > pseudonymized_metadata_values > WHERE tablename = 'borrower_attributes' > GROUP BY > transaction_id > ) table1 ON pt.id = table1.transaction_id > LEFT JOIN ( > SELECT > transaction_id, > GROUP_CONCAT(DISTINCT CONCAT(`key`, ':', value)) AS metadata > FROM > pseudonymized_metadata_values > WHERE tablename = 'illrequestattributes' > GROUP BY > transaction_id > ) table2 ON pt.id = table2.transaction_id; > >--- > >Test plan: >1) Add a <bcrypt_settings> under <config> in /etc/koha/sites/kohadev/koha.conf.xml: > $ <bcrypt_settings>$2a$08$9lmorEKnwQloheaCLFIfje</bcrypt_settings> <!-- taken from Pseudonymization.t --> >2) Restart plack & worker: >$ koha-plack --restart kohadev && sudo koha-worker --restart kohadev >3) Enable ILLModule and Pseudonymization system preferences >4) Check 'Keep for pseudonymization' at the only existing patron attribute type: >http://localhost:8081/cgi-bin/koha/admin/patron-attr-types.pl?op=edit_attribute_type&code=SHOW_BCODE >5) Save. Edit that attribute type for 'koha' patron: >http://localhost:8081/cgi-bin/koha/members/memberentry.pl?op=edit_form&destination=circ&borrowernumber=51 >6) Scroll down, set a value for 'Show barcode on the summary screen items listings:'. Save. >7) Do a checkout for that 'koha' patron. >8) Confirm the pseudonymized_transaction has been added alongside its metadata (SHOW_BCODE), run report #3 from the examples listed above. >This concludes the 'preparation' side of testing, ensuring that borrower_attributes are kept for pseudonymization >9) Create a new ILL request of type 'book'. >10) Run the report from 8) again. Verify the ILL pseudonymized transaction and its related pseudonymized metadata is there. >11) Go back to that ILL request and click 'Confirm request'. After that click 'Mark completed'. >12) Repeat 10) > >Run tests: > >prove t/db_dependent/Koha/BackgroundJob/PseudonymizeStatistic.t >prove t/db_dependent/Koha/PseudonymizedTransaction.t >prove t/db_dependent/Koha/Pseudonymization.t > >Sponsored-by: UKHSA - UK Health Security Agency >--- > t/db_dependent/Koha/Pseudonymization.t | 34 +++++++++++++++++++++++++- > 1 file changed, 33 insertions(+), 1 deletion(-) > >diff --git a/t/db_dependent/Koha/Pseudonymization.t b/t/db_dependent/Koha/Pseudonymization.t >index e21bbddc1bd..6365530794a 100755 >--- a/t/db_dependent/Koha/Pseudonymization.t >+++ b/t/db_dependent/Koha/Pseudonymization.t >@@ -148,7 +148,7 @@ subtest 'Koha::Anonymized::Transactions tests' => sub { > > subtest 'PseudonymizedMetadataValues tests' => sub { > >- plan tests => 5; >+ plan tests => 7; > > $schema->storage->txn_begin; > >@@ -275,5 +275,37 @@ subtest 'PseudonymizedMetadataValues tests' => sub { > 'The id of the 2nd pseudonymized transaction should be different' > ); > >+ my $ill_request = $builder->build_sample_ill_request(); >+ $builder->build( >+ { >+ source => 'Illrequestattribute', >+ value => { illrequest_id => $ill_request->illrequest_id, type => 'type', value => 'book' } >+ } >+ ); >+ >+ my $ill_request_statistic = Koha::Statistic->new( >+ { >+ type => 'illreq_created', >+ branch => $library->branchcode, >+ itemnumber => undef, >+ borrowernumber => $patron->borrowernumber, >+ itemtype => undef, >+ location => undef, >+ illrequest_id => $ill_request->illrequest_id, >+ ccode => undef, >+ } >+ ); >+ >+ my $p2 = Koha::PseudonymizedTransaction->new_from_statistic($ill_request_statistic)->store; >+ >+ my $ill_metadata_values = >+ Koha::Database->new->schema->resultset('PseudonymizedMetadataValue') >+ ->search( { transaction_id => $p2->id, tablename => 'illrequestattributes' }, { order_by => 'value' } ); >+ >+ my $ill_metadata_value = $ill_metadata_values->next; >+ >+ is( $ill_metadata_value->key, 'type' ); >+ is( $ill_metadata_value->value, 'book' ); >+ > $schema->storage->txn_rollback; > }; >-- >2.39.5
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 37901
:
178356
|
178956
|
178957
|
178958
|
178959
|
178960
|
178961
|
178962
|
178963
|
178964
|
178965
|
178966
|
178967
|
178968
|
178980
|
178981
|
178982
|
178983
|
178984
|
178985
|
178986
|
178987
|
178988
|
178989
|
178990
|
178991
|
178992
|
181008
|
181009
|
181010
|
181011
|
181012
|
181013
|
181014
|
181015
|
181016
|
181017
|
181018
|
181019
| 181020