From 47bcd7a72017602861e52e828b9492f8f53e5057 Mon Sep 17 00:00:00 2001 From: Andreas Romeyke <andreas.romeyke@slub-dresden.de> Date: Thu, 3 Apr 2025 13:19:30 +0200 Subject: [PATCH] - added IE which has state purged --- perl/t/V7-IE100.xml | 110 ++++++++++++++++++++++++++++++++++++++++++++ perl/t/expected.sql | 8 +++- perl/t/parsing.t | 5 +- 3 files changed, 118 insertions(+), 5 deletions(-) create mode 100644 perl/t/V7-IE100.xml diff --git a/perl/t/V7-IE100.xml b/perl/t/V7-IE100.xml new file mode 100644 index 0000000..a14b662 --- /dev/null +++ b/perl/t/V7-IE100.xml @@ -0,0 +1,110 @@ +<mets:mets xmlns:mets="http://www.loc.gov/METS/"> + <mets:amdSec ID="ie-amd"> + <mets:techMD ID="ie-amd-tech"> + <mets:mdWrap MDTYPE="OTHER" OTHERMDTYPE="dnx"> + <mets:xmlData> + <dnx xmlns="http://www.exlibrisgroup.com/dps/dnx"/> + </mets:xmlData> + </mets:mdWrap> + </mets:techMD> + <mets:rightsMD ID="ie-amd-rights"> + <mets:mdWrap MDTYPE="OTHER" OTHERMDTYPE="dnx"> + <mets:xmlData> + <dnx xmlns="http://www.exlibrisgroup.com/dps/dnx"/> + </mets:xmlData> + </mets:mdWrap> + </mets:rightsMD> + <mets:digiprovMD ID="ie-amd-digiprov"> + <mets:mdWrap MDTYPE="OTHER" OTHERMDTYPE="dnx"> + <mets:xmlData> + <dnx xmlns="http://www.exlibrisgroup.com/dps/dnx"> + <section id="producer"> + <record> + <key id="address1">REDACTED</key> + <key id="address3">REDACTED</key> + <key id="address4">REDACTED</key> + <key id="defaultLanguage">en</key> + <key id="emailAddress">REDACTED</key> + <key id="firstName">REDACTED</key> + <key id="lastName">REDACTED</key> + <key id="telephone1">REDACTED</key> + <key id="authorativeName">REDACTED</key> + <key id="producerId">REDACTED</key> + <key id="userIdAppId">REDACTED</key> + <key id="zip">REDACTED</key> + </record> + </section> + <section id="producerAgent"> + <record> + <key id="firstName">REDACTED</key> + <key id="lastName">REDACTED</key> + </record> + </section> + <section id="event"> + <record> + <key id="eventIdentifierType">REDACTED</key> + <key id="eventIdentifierValue">REDACTED</key> + <key id="eventType">EXTERNAL_REPAIR</key> + <key id="eventDescription">REDACTED</key> + <key id="eventDateTime">2017-05-18 12:00:00</key> + <key id="eventOutcome1">SUCCESS</key> + </record> + <record> + <key id="eventIdentifierType">DPS</key> + <key id="eventIdentifierValue">130</key> + <key id="eventType">PROCESSING</key> + <key id="eventDescription">Object's Metadata Record Modified</key> + <key id="eventDateTime">2017-10-15 17:54:51</key> + <key id="eventOutcome1">SUCCESS</key> + <key id="linkingAgentIdentifierType1">USER</key> + <key id="linkingAgentIdentifierValue1">REDACTED</key> + </record> + <record> + <key id="eventIdentifierType">DPS</key> + <key id="eventIdentifierValue">125</key> + <key id="eventType">PROCESSING</key> + <key id="eventDescription">Add Metadata</key> + <key id="eventDateTime">2017-10-15 17:54:52</key> + <key id="eventOutcome1">SUCCESS</key> + <key id="linkingAgentIdentifierType1">USER</key> + <key id="linkingAgentIdentifierValue1">REDACTED</key> + </record> + <record> + <key id="eventDateTime">2018-03-01 09:35:46</key> + <key id="eventType">PROCESSING</key> + <key id="eventIdentifierType">DPS</key> + <key id="eventIdentifierValue">130</key> + <key id="eventOutcome1">SUCCESS</key> + <key id="eventDescription">Object's Metadata Record Modified</key> + <key id="linkingAgentIdentifierType1">USER</key> + <key id="linkingAgentIdentifierValue1">REDACTED</key> + </record> + <record> + <key id="eventDateTime">2024-08-01 08:58:47</key> + <key id="eventType">PROCESSING</key> + <key id="eventIdentifierType">DPS</key> + <key id="eventIdentifierValue">272</key> + <key id="eventOutcome1">SUCCESS</key> + <key id="eventOutcomeDetail1">owner=REDACTED;note=REDACTED;reason=Other;setId=REDACTED;PID=REDACTED;PROCESS_ID=REDACTED;</key> + <key id="eventDescription">IE has been deleted</key> + <key id="linkingAgentIdentifierType1">USER</key> + <key id="linkingAgentIdentifierValue1">REDACTED</key> + </record> + <record> + <key id="eventDateTime">2024-08-01 08:58:47</key> + <key id="eventType">PROCESSING</key> + <key id="eventIdentifierType">DPS</key> + <key id="eventIdentifierValue">274</key> + <key id="eventOutcome1">SUCCESS</key> + <key id="eventOutcomeDetail1">owner=REDACTED;note=REDACTED;reason=Other;setId=REDACTED;PID=REDACTED;PROCESS_ID=REDACTED;</key> + <key id="eventDescription">IE has been purged</key> + <key id="linkingAgentIdentifierType1">USER</key> + <key id="linkingAgentIdentifierValue1">REDACTED</key> + </record> + </section> + </dnx> + </mets:xmlData> + </mets:mdWrap> + </mets:digiprovMD> + </mets:amdSec> +</mets:mets> diff --git a/perl/t/expected.sql b/perl/t/expected.sql index ee3c516..650a4a0 100644 --- a/perl/t/expected.sql +++ b/perl/t/expected.sql @@ -9,6 +9,7 @@ CREATE TABLE aip ( PRIMARY KEY(id AUTOINCREMENT) ); INSERT INTO aip VALUES(1,'IE200928','SLUB:LZA:Kitodo:goobi:202001030001',1,'perl/t'); +INSERT INTO aip VALUES(2,'IE100','SLUB:LZA:migration_from:rosetta:unknown_00000',7,'perl/t'); CREATE TABLE metadatafile ( id INTEGER, aip_id INTEGER NOT NULL REFERENCES aip (id), @@ -17,6 +18,7 @@ CREATE TABLE metadatafile ( PRIMARY KEY(id AUTOINCREMENT) ); INSERT INTO metadatafile VALUES(1,1,'V1-IE200928.xml','hdd'); +INSERT INTO metadatafile VALUES(2,2,'V7-IE100.xml','hdd'); CREATE TABLE dc ( id INTEGER, aip_id INTEGER NOT NULL REFERENCES aip (id), @@ -82,12 +84,14 @@ CREATE TABLE purged ( authorized_by TEXT NOT NULL, PRIMARY KEY(id AUTOINCREMENT) ); +INSERT INTO purged VALUES(1,2,'Other','REDACTED','2024-08-01 08:58:47','REDACTED'); DELETE FROM sqlite_sequence; -INSERT INTO sqlite_sequence VALUES('aip',1); -INSERT INTO sqlite_sequence VALUES('metadatafile',1); +INSERT INTO sqlite_sequence VALUES('aip',2); +INSERT INTO sqlite_sequence VALUES('metadatafile',2); INSERT INTO sqlite_sequence VALUES('sourcedatafile',3); INSERT INTO sqlite_sequence VALUES('sourcedatalocat',3); INSERT INTO sqlite_sequence VALUES('dc',13); +INSERT INTO sqlite_sequence VALUES('purged',1); CREATE UNIQUE INDEX aip_index ON aip (ie_id, version); CREATE UNIQUE INDEX sourcedata_index ON sourcedatafile (aip_id, name); CREATE INDEX delete_index ON deleted (aip_id); diff --git a/perl/t/parsing.t b/perl/t/parsing.t index b813ce1..afd0fe2 100644 --- a/perl/t/parsing.t +++ b/perl/t/parsing.t @@ -20,8 +20,8 @@ is( $? >> 8, 0, 'help, exit status' ); my $tmp = $test->workdir(""); my $current_db = "$tmp/sqlite.db"; $test->run(args => "--sqlitedb-file=$current_db perl/t/"); -like( $test->stdout, qr{preparing SQL.*processed 1 uniq IEs}s, 'sqldump, standard out' ); -is( $test->stderr, "", 'sqldump, standard error' ); +like( $test->stdout, qr{preparing SQL.*processed 2 uniq IEs}s, 'sqldump, standard out' ); +like( $test->stderr, qr{No repid found in file perl\/t\/V7-IE100.xml, is IE intentionally purged.*Yes.*}s, 'sqldump, standard error' ); is( $? >> 8, 0, 'sqldump, exit status' ); ##################### after parsing dump SQL $test->run(args => "--sqlitedb-file=$current_db --enable-sqldump"); @@ -31,4 +31,3 @@ is( $? >> 8, 0, 'sqldump, exit status' ); done_testing(); - -- GitLab