Bugzilla – Attachment 103299 Details for
Bug 22437
Subsequent authority merges in cron may cause biblios to lose authority information
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 22437: Add test case to Merge.t
Bug-22437-Add-test-case-to-Merget.patch (text/plain), 2.66 KB, created by
Phil Ringnalda
on 2020-04-20 13:57:08 UTC
(
hide
)
Description:
Bug 22437: Add test case to Merge.t
Filename:
MIME Type:
Creator:
Phil Ringnalda
Created:
2020-04-20 13:57:08 UTC
Size:
2.66 KB
patch
obsolete
>From f7c168a4b61f5b4c642a186c453342c67244e2de Mon Sep 17 00:00:00 2001 >From: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> >Date: Mon, 6 Apr 2020 13:44:46 +0000 >Subject: [PATCH] Bug 22437: Add test case to Merge.t > >The scenario outlined on Bugzilla is simulated and proves that we need >to remove a merge B->B when B is deleted during a merge. > >Test plan: >Run t/db_dependent/Authority/Merge.t > >Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> >Signed-off-by: Phil Ringnalda <philringnalda@gmail.com> >--- > t/db_dependent/Authority/Merge.t | 16 +++++++++++++++- > 1 file changed, 15 insertions(+), 1 deletion(-) > >diff --git a/t/db_dependent/Authority/Merge.t b/t/db_dependent/Authority/Merge.t >index 3634250cb4..838b87b31f 100755 >--- a/t/db_dependent/Authority/Merge.t >+++ b/t/db_dependent/Authority/Merge.t >@@ -288,7 +288,7 @@ subtest 'Merging authorities should handle deletes (BZ 18070)' => sub { > }; > > subtest "Test some specific postponed merge issues" => sub { >- plan tests => 4; >+ plan tests => 5; > > my $authmarc = MARC::Record->new; > $authmarc->append_fields( MARC::Field->new( '109', '', '', 'a' => 'aa', b => 'bb' )); >@@ -328,6 +328,20 @@ subtest "Test some specific postponed merge issues" => sub { > $restored_mocks->{auth_mod}->unmock_all; > $biblio = C4::Biblio::GetMarcBiblio({ biblionumber => $biblionumber }); > is( $biblio->subfield('109', '9'), $id, 'If the 109 is no longer present, another modify merge would not bring it back' ); >+ # Bug 22437 however presented scenario C->B, B->A (B and A should have linkcount>limit) >+ # This results in: postponed merge B->B, run merge C->B, delete C, and postponed A->A, postponed B->A, delete B >+ # Showing what happens if merge.pl did not remove the B->B merge from the queue >+ t::lib::Mocks::mock_preference('AuthorityMergeLimit', 2); >+ @linkedrecords = ( 1, 2, 3 ); # these biblionumbers do not matter, count>=2 >+ $id = AddAuthority( $authmarc, undef, $authtype1 ); # this is B >+ $biblio->delete_fields( $biblio->field('109') ); # cleanup >+ $biblio->append_fields( MARC::Field->new( '109', '', '', a => 'a', 9 => $id ) ); # a biblio connected to B >+ ModBiblio( $biblio, $biblionumber, '' ); >+ DelAuthority({ authid => $id, skip_merge => 1 }); # delete B when doing B->A >+ merge({ mergefrom => $id, mergeto => $id, MARCto => undef, biblionumbers => [ $biblionumber ] }); # destructive B->B from cron >+ $biblio = C4::Biblio::GetMarcBiblio({ biblionumber => $biblionumber }); >+ my @fields = $biblio->field('109'); >+ is( scalar @fields, 0, 'No field 109: the B,B merge was destructive, so needs to be removed.' ); > }; > > subtest "Graceful resolution of missing reporting tag" => sub { >-- >2.26.1
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 22437
:
95836
|
95848
|
102338
|
102444
|
102445
|
103298
|
103299
|
104557
|
104558
|
104559
|
104698
|
104699
|
104700