spec/rosetta_ie_spec.rb in libis-services-0.0.2 vs spec/rosetta_ie_spec.rb in libis-services-0.0.3

- old
+ new

@@ -6,10 +6,11 @@ require 'libis/tools/config_file' require 'libis/services/rosetta/pds_handler' require 'libis/services/rosetta/ie_handler' +require_relative 'ie_data' describe 'Rosetta IE Service' do let(:credentials) { Libis::Tools::ConfigFile.new File.join(File.dirname(__FILE__), 'credentials-test.yml') } let(:pds_handler) do # noinspection RubyResolve @@ -34,312 +35,20 @@ before :each do ie_handler.pds_handle = handle end - let(:expected_mets) { - { - amd: { - tech: { - 'internalIdentifier' => [ - {'internalIdentifierType' => 'SIPID', 'internalIdentifierValue' => '55010'}, - {'internalIdentifierType' => 'PID', 'internalIdentifierValue' => 'IE403595'}, - {'internalIdentifierType' => 'DepositSetID', 'internalIdentifierValue' => '55662'}], - 'objectCharacteristics' => [ - {'objectType' => 'INTELLECTUAL_ENTITY', - 'creationDate' => '2015-10-13 14:41:56', - 'createdBy' => 'testadmin', - 'modificationDate' => '2015-10-13 14:46:23', - 'modifiedBy' => 'testadmin', - 'owner' => 'CRS00.TESTINS.TESTDEP'}], - 'generalIECharacteristics' => [{'status' => 'ACTIVE'}], - 'retentionPolicy' => [ - {'policyId' => 'NO_RETENTION', - 'policyDescription' => 'No Retention Policy'}] - }, - rights: { - 'accessRightsPolicy' => [ - {'policyId' => '50740', - 'policyParameters' => '', - 'policyDescription' => 'AR_IP_RANGE_KUL'}] - }, - source: { - 'metaData' => [ - {'MID' => 'DNX_IE403595', - 'UUID' => '23107258', - 'creationDate' => '2015-10-13 14:41:56', - 'createdBy' => 'testadmin', - 'modificationDate' => '2015-10-13 14:46:23', - 'modifiedBy' => 'testadmin', - 'metadataType' => '21', - 'description' => '', - 'externalSystem' => '', - 'externalRecordId' => '', - 'application' => 'Test Metadata Profile'}] - }, - digiprov: { - 'producer' => [ - {'userName' => '', - 'address1' => 'Willem de Croylaan 54', - 'address2' => '', - 'address3' => 'Heverlee', - 'address4' => 'Belgium', - 'address5' => '', - 'defaultLanguage' => 'en', - 'emailAddress' => 'lias.test.user@gmail.com', - 'firstName' => 'Test', - 'jobTitle' => '', - 'lastName' => 'Deposit', - 'middleName' => '', - 'telephone1' => '0032 16 32 22 66', - 'telephone2' => '', - 'authorativeName' => 'test_producer_group', - 'producerId' => '23106349', - 'userIdAppId' => '23106348', - 'webSiteUrl' => '', - 'zip' => '3001'}], - 'producerAgent' => [ - {'firstName' => 'Test', 'lastName' => 'Administrator', 'middleName' => ''}], - 'event' => [ - {'eventDateTime' => '2015-10-13 14:46:23', - 'eventType' => 'PROCESSING', - 'eventIdentifierType' => 'DPS', - 'eventIdentifierValue' => '130', - 'eventOutcome1' => 'SUCCESS', - 'eventDescription' => "Object's Metadata Record Modified", - 'linkingAgentIdentifierType1' => 'USER', - 'linkingAgentIdentifierValue1' => 'testadmin'}] - } - }, - dmd: { - 'text' => "\n ", - 'title' => 'Nachtzicht strand Ærøskøbing' - }, - 'Preservation Master' => { - id: 'REP403596', - amd: { - tech: { - 'generalRepCharacteristics' => [ - {'preservationType' => 'PRESERVATION_MASTER', - 'usageType' => 'VIEW', - 'RevisionNumber' => '1', - 'DigitalOriginal' => 'false'}], - 'internalIdentifier' => [ - {'internalIdentifierType' => 'SIPID', 'internalIdentifierValue' => '55010'}, - {'internalIdentifierType' => 'PID', 'internalIdentifierValue' => 'REP403596'}, - {'internalIdentifierType' => 'DepositSetID', 'internalIdentifierValue' => '55662'}], - 'objectCharacteristics' => [ - {'objectType' => 'REPRESENTATION', - 'creationDate' => '2015-10-13 14:41:56', - 'createdBy' => 'testadmin', - 'modificationDate' => '2015-10-13 14:41:56', - 'modifiedBy' => 'testadmin', - 'owner' => 'CRS00.TESTINS.TESTDEP'}] - }, - rights: {}, - source: {'metaData' => - [ - {'MID' => 'DNX_REP403596', - 'UUID' => '23107254', - 'creationDate' => '2015-10-13 14:41:56', - 'createdBy' => 'testadmin', - 'modificationDate' => '2015-10-13 14:41:56', - 'modifiedBy' => '', - 'metadataType' => '21', - 'description' => '', - 'externalSystem' => '', - 'externalRecordId' => ''}, - {'MID' => 'REP403596-1', - 'UUID' => '23107257', - 'creationDate' => '2015-10-13 14:41:56', - 'createdBy' => 'testadmin', - 'modificationDate' => '2015-10-13 14:41:56', - 'modifiedBy' => '', - 'metadataType' => '32', - 'description' => '', - 'externalSystem' => '', - 'externalRecordId' => ''} ] - }, - digiprov: {} - }, - nil => {}, - 'Table of Contents' => - {nil => {}, - 'Nachtzicht strand Ærøskøbing' => { - id: 'FL403597', - amd: { - tech: { - 'fileFixity' => [ - {'fixityType' => 'MD5', - 'fixityValue' => '22d8897eeb3adfa70794fcfac04e8602'}], - 'objectCharacteristics' => [ - {'groupID' => '', - 'objectType' => 'FILE', - 'creationDate' => '2015-10-13 14:41:56', - 'createdBy' => 'testadmin', - 'modificationDate' => '2015-10-13 14:41:56', - 'modifiedBy' => 'testadmin', - 'owner' => 'CRS00.TESTINS.TESTDEP'}], - 'internalIdentifier' => [ - {'internalIdentifierType' => 'SIPID', - 'internalIdentifierValue' => '55010'}, - {'internalIdentifierType' => 'PID', - 'internalIdentifierValue' => 'FL403597'}, - {'internalIdentifierType' => 'DepositSetID', - 'internalIdentifierValue' => '55662'}], - 'vsOutcome' => [ - {'checkDate' => 'Tue Oct 13 14:42:02 CEST 2015', - 'type' => 'FILE_FORMAT', - 'vsAgent' => - 'REG_SA_DROID , Version 6.01 , Signature version Binary SF v.52/ Container SF v.1', - 'result' => 'PASSED', - 'resultDetails' => '', - 'vsEvaluation' => 'PASSED', - 'vsEvaluationDetails' => ''}], - 'fileFormat' => [ - {'agent' => 'REG_SA_DROID', - 'formatRegistry' => 'PRONOM', - 'formatRegistryId' => 'fmt/43', - 'formatRegistryRole' => '', - 'formatName' => 'fmt/43', - 'formatVersion' => '1.01', - 'formatDescription' => 'JPEG File Interchange Format', - 'formatNote' => '', - 'exactFormatIdentification' => 'true', - 'mimeType' => 'image/jpeg', - 'agentVersion' => '6.01', - 'agentSignatureVersion' => 'Binary SF v.52/ Container SF v.1', - 'formatLibraryVersion' => '3.007'}], - 'generalFileCharacteristics' => [ - {'label' => 'Nachtzicht strand Ærøskøbing', - 'note' => '', - 'fileCreationDate' => '', - 'fileModificationDate' => '', - 'FileEntityType' => '', - 'compositionLevel' => '', - 'fileLocationType' => 'FILE', - 'fileLocation' => '', - 'fileOriginalName' => 'DSC03176.jpg', - 'fileOriginalPath' => 'DSC03176.jpg', - 'fileOriginalID' => '/deposit_storage/55001-56000/dep_55662/deposit/content/streams/DSC03176.jpg', - 'fileExtension' => 'jpg', - 'fileMIMEType' => 'image/jpeg', - 'fileSizeBytes' => '7694075', - 'formatLibraryId' => 'fmt/43', - 'riskLibraryIdentifiers' => ''}] - }, - rights: {}, - source: { - 'metaData' => [ - {'MID' => 'DNX_FL403597', - 'UUID' => '23107256', - 'creationDate' => '2015-10-13 14:41:56', - 'createdBy' => 'testadmin', - 'modificationDate' => '2015-10-13 14:41:56', - 'modifiedBy' => '', - 'metadataType' => '21', - 'description' => '', - 'externalSystem' => '', - 'externalRecordId' => ''}] - }, - digiprov: { - 'event' => [ - {'eventDateTime' => '2015-10-13 14:42:01', - 'eventType' => 'VALIDATION', - 'eventIdentifierType' => 'DPS', - 'eventIdentifierValue' => '25', - 'eventOutcome1' => 'SUCCESS', - 'eventOutcomeDetail1' => 'PROCESS_ID=;PID=FL403597;FILE_EXTENSION=jpg;SIP_ID=55010;DEPOSIT_ACTIVITY_ID=55662;MF_ID=23106594;TASK_ID=48;IDENTIFICATION_METHOD=SIGNATURE;PRODUCER_ID=23106349;FORMAT_ID=fmt/43;', - 'eventDescription' => 'Format Identification performed on file', - 'linkingAgentIdentifierType1' => 'SOFTWARE', - 'linkingAgentIdentifierValue1' => 'REG_SA_DROID , Version 6.01 , Signature version Binary SF v.52/ Container SF v.1'}] - } - } - } - } - } - } - } - - let(:expected_ies) { - {amd: { - tech: {'internalIdentifier' => - [{'internalIdentifierType' => 'SIPID', 'internalIdentifierValue' => '55010'}, - {'internalIdentifierType' => 'PID', - 'internalIdentifierValue' => 'IE403595'}, - {'internalIdentifierType' => 'DepositSetID', - 'internalIdentifierValue' => '55662'}], - 'objectCharacteristics' => - [{'objectType' => 'INTELLECTUAL_ENTITY', - 'creationDate' => '2015-10-13 14:41:56', - 'createdBy' => 'testadmin', - 'modificationDate' => '2015-10-13 14:46:23', - 'modifiedBy' => 'testadmin', - 'owner' => 'CRS00.TESTINS.TESTDEP'}], - 'generalIECharacteristics' => [{'status' => 'ACTIVE'}], - 'retentionPolicy' => - [{'policyId' => 'NO_RETENTION', - 'policyDescription' => 'No Retention Policy'}]}, - rights: {'accessRightsPolicy' => - [{'policyId' => '50740', - 'policyParameters' => '', - 'policyDescription' => 'AR_IP_RANGE_KUL'}]}, - source: {'metaData' => - [{'MID' => 'DNX_IE403595', - 'UUID' => '23107258', - 'creationDate' => '2015-10-13 14:41:56', - 'createdBy' => 'testadmin', - 'modificationDate' => '2015-10-13 14:46:23', - 'modifiedBy' => 'testadmin', - 'metadataType' => '21', - 'description' => '', - 'externalSystem' => '', - 'externalRecordId' => '', - 'application' => 'Test Metadata Profile'}]}, - digiprov: {'producer' => - [{'userName' => '', - 'address1' => 'Willem de Croylaan 54', - 'address2' => '', - 'address3' => 'Heverlee', - 'address4' => 'Belgium', - 'address5' => '', - 'defaultLanguage' => 'en', - 'emailAddress' => 'lias.test.user@gmail.com', - 'firstName' => 'Test', - 'jobTitle' => '', - 'lastName' => 'Deposit', - 'middleName' => '', - 'telephone1' => '0032 16 32 22 66', - 'telephone2' => '', - 'authorativeName' => 'test_producer_group', - 'producerId' => '23106349', - 'userIdAppId' => '23106348', - 'webSiteUrl' => '', - 'zip' => '3001'}], - 'producerAgent' => - [{'firstName' => 'Test', 'lastName' => 'Administrator', 'middleName' => ''}], - 'event' => - [{'eventDateTime' => '2015-10-13 14:46:23', - 'eventType' => 'PROCESSING', - 'eventIdentifierType' => 'DPS', - 'eventIdentifierValue' => '130', - 'eventOutcome1' => 'SUCCESS', - 'eventDescription' => "Object's Metadata Record Modified", - 'linkingAgentIdentifierType1' => 'USER', - 'linkingAgentIdentifierValue1' => 'testadmin'}]}}, - dmd: {'text' => "\n ", 'title' => 'Nachtzicht strand Ærøskøbing'}} } - it 'should get IE info' do mets = ie_handler.get_mets('IE403595') expect(mets).not_to be_nil - expect(mets).to match expected_mets + check_container expected_mets, mets end it 'should get IE metadata' do metadata = ie_handler.get_metadata('IE403595') expect(metadata).not_to be_nil - expect(metadata).to match expected_ies + check_container(expected_ies, metadata) end end \ No newline at end of file