diff --git a/README.md b/README.md index 060f25f..90a65a8 100644 --- a/README.md +++ b/README.md @@ -17,11 +17,11 @@ Its primary job is to manage the flow of content from Fedora into Swift for pres ## Workflow -1. Any save (create or update) on a GenericFile in ERA will trigger an after save callback that will push the GenericFile unique identifier (NOID) into a Queue. -2. The queue (Redis) is setup to be a unique set (which only allows one GenericFile NOID to be included in the queue at a single time), and ordered by priority from First In, First out (FIFO). +1. Any save (create or update) on a Item/Thesis in ERA/Jupiter will trigger an after save callback that will push the item's unique identifier (UUID or NOID) into a Queue. +2. The queue (Redis) is setup to be a unique set (which only allows one item's UUID to be included in the queue at a single time), and ordered by priority from First In, First out (FIFO). 3. PushmiPullyu will then monitor the queue. After a certain wait period has passed since an element has been on the queue, PushmiPullyu will then retrieve the elements off the queue and begin to process the preservation event. -4. All the GenericFile information and data required for preservation are retrieved from Fedora and Solr using multiple REST calls. -5. An Archival Information Package (AIP) is created from the GenericFile's information. It is then bagged and tarred. +4. All the GenericFile information and data required for preservation are retrieved from Fedora using multiple REST calls. A database connection to the user database fetches (via ActiveRecord )owner emails and modifies the fetched documents, where applicable. +5. An Archival Information Package (AIP) is created from the item's information. It is then bagged and tarred. 6. The AIP tar is then uploaded to Swift via a REST call. 7. On a successful Swift upload, a entry is added for this preservation event to the preservation event logs. diff --git a/docs/images/system-infrastructure-diagram.png b/docs/images/system-infrastructure-diagram.png index f1f71a6..9a9d571 100644 Binary files a/docs/images/system-infrastructure-diagram.png and b/docs/images/system-infrastructure-diagram.png differ diff --git a/examples/pushmi_pullyu.yml b/examples/pushmi_pullyu.yml index 44421c7..ed14975 100644 --- a/examples/pushmi_pullyu.yml +++ b/examples/pushmi_pullyu.yml @@ -8,6 +8,7 @@ # PushmiPullyu will run this file through ERB when reading it so you can # even put in dynamic logic, like consuming ENV Variables. +aip_version: 'lightaip-2.0' debug: false logdir: log monitor: false @@ -20,15 +21,18 @@ minimum_age: 0 redis: url: redis://localhost:6379 -solr: - url: http://localhost:8983/solr/development - fedora: url: http://localhost:8080/fcrepo/rest user: fedoraAdmin password: fedoraAdmin base_path: /dev +database: + encoding: utf8 + url: postgresql://jupiter:mysecretpassword@127.0.0.1 + database: jupiter_development + pool: 5 + #parameters project_name and project_domain_name are required only for keystone v3 authentication swift: tenant: tester diff --git a/lib/pushmi_pullyu.rb b/lib/pushmi_pullyu.rb index 11adf6e..476fee2 100644 --- a/lib/pushmi_pullyu.rb +++ b/lib/pushmi_pullyu.rb @@ -8,8 +8,11 @@ require 'pushmi_pullyu/aip' require 'pushmi_pullyu/aip/creator' require 'pushmi_pullyu/aip/downloader' -require 'pushmi_pullyu/aip/solr_fetcher' require 'pushmi_pullyu/aip/fedora_fetcher' +require 'pushmi_pullyu/aip/file_list_creator' +require 'pushmi_pullyu/aip/owner_email_editor' +require 'active_record' +require 'pushmi_pullyu/aip/user' require 'pushmi_pullyu/cli' require 'pushmi_pullyu/preservation_queue' require 'pushmi_pullyu/swift_depositer' @@ -20,6 +23,7 @@ # PushmiPullyu main module module PushmiPullyu DEFAULTS = { + aip_version: 'lightaip-2.0', daemonize: false, debug: false, logdir: 'log', @@ -32,10 +36,6 @@ module PushmiPullyu redis: { url: 'redis://localhost:6379' }, - # TODO: rest of these are examples for solr/fedora/swift... feel free to fill them in correctly - solr: { - url: 'http://localhost:8983/solr/development' - }, fedora: { url: 'http://localhost:8080/fcrepo/rest', user: 'fedoraAdmin', @@ -52,6 +52,12 @@ module PushmiPullyu container: 'ERA' }, rollbar: { + }, + database: { + encoding: 'utf8', + pool: ENV['RAILS_MAX_THREADS'] || 5, + url: ENV['DATABASE_URL'] || ENV['JUPITER_DATABASE_URL'] || 'postgresql://jupiter:mysecretpassword@127.0.0.1', + database: 'jupiter_development' } }.freeze diff --git a/lib/pushmi_pullyu/aip/creator.rb b/lib/pushmi_pullyu/aip/creator.rb index 284d015..a5d6e52 100644 --- a/lib/pushmi_pullyu/aip/creator.rb +++ b/lib/pushmi_pullyu/aip/creator.rb @@ -22,11 +22,15 @@ def run private def bag_aip - bag = BagIt::Bag.new(@aip_directory) + bag = BagIt::Bag.new(@aip_directory, bag_metadata) bag.manifest! raise BagInvalid unless bag.valid? end + def bag_metadata + { 'AIP-Version' => PushmiPullyu.options[:aip_version] } + end + def tar_bag # We want to change the directory to the work directory path so we get the tar file to be exactly # the contents of the noid directory and not the entire work directory structure. For example the noid.tar diff --git a/lib/pushmi_pullyu/aip/downloader.rb b/lib/pushmi_pullyu/aip/downloader.rb index 8f5d3d3..a0b4f2e 100644 --- a/lib/pushmi_pullyu/aip/downloader.rb +++ b/lib/pushmi_pullyu/aip/downloader.rb @@ -7,7 +7,18 @@ # related to an object class PushmiPullyu::AIP::Downloader + PREDICATE_URIS = { + filename: 'http://purl.org/dc/terms/title', + member_files: 'http://pcdm.org/models#hasFile', + member_file_sets: 'http://pcdm.org/models#hasMember', + original_file: 'http://pcdm.org/use#OriginalFile', + type: 'http://www.w3.org/1999/02/22-rdf-syntax-ns#type' + }.freeze + + class NoFileSets < StandardError; end + class NoMemberFiles < StandardError; end class NoContentFilename < StandardError; end + class NoOriginalFile < StandardError; end def initialize(noid, aip_directory) @noid = noid @@ -19,21 +30,45 @@ def run PushmiPullyu.logger.info("#{@noid}: Retreiving data from Fedora ...") - [:main_object, :fixity, :content_datastream_metadata, :versions, :thumbnail, - :characterization, :fedora3foxml, :fedora3foxml_metadata].each do |item| - path_spec = aip_paths[item] - download_and_log(path_spec, PushmiPullyu::AIP::FedoraFetcher.new(@noid)) - end + # Main object metadata + object_downloader = PushmiPullyu::AIP::FedoraFetcher.new(@noid) + download_and_log(object_aip_paths[:main_object], object_downloader) - # Need content filename from metadata - path_spec = OpenStruct.new( - remote: '/content', - local: content_filename, # lookup filename derived from metadata - optional: false - ) - download_and_log(path_spec, PushmiPullyu::AIP::FedoraFetcher.new(@noid)) + # Construct the file ordering file + list_source_uri = object_downloader.object_url + object_aip_paths.list_source.remote + create_and_log_file_order_list(list_source_uri) + + member_file_set_uuids.each do |file_set_uuid| + make_file_set_directories(file_set_uuid) + + # FileSet metadata + file_set_downloader = PushmiPullyu::AIP::FedoraFetcher.new(file_set_uuid) + path_spec = file_set_aip_paths(file_set_uuid)[:main_object] + download_and_log(path_spec, file_set_downloader) + + # Find the original file by looping through the files in the file_set + original_file_remote_base = nil + member_files(file_set_uuid).each do |file_path| + path_spec = OpenStruct.new( + remote: "/files/#{file_path}/fcr:metadata", + # Note: local file gets clobbered on each download until it finds the right one + local: "#{file_set_dirs(file_set_uuid).metadata}/original_file_metadata.n3", + optional: true + ) + download_and_log(path_spec, file_set_downloader) + if original_file?(path_spec.local) + original_file_remote_base = "/files/#{file_path}" + break + end + end - download_permissions + raise NoOriginalFile unless original_file_remote_base.present? + + [:content, :fixity].each do |item| + path_spec = file_aip_paths(file_set_uuid, original_file_remote_base)[item] + download_and_log(path_spec, file_set_downloader) + end + end end private @@ -43,35 +78,24 @@ def download_and_log(path_spec, fedora_fetcher) log_fetching(fedora_fetcher.object_url(path_spec.remote), output_file) - is_rdf = (output_file !~ /\.n3$/) + is_rdf = (output_file =~ /\.n3$/) + should_add_user_email = path_spec.to_h.fetch(:should_add_user_email, false) is_success = fedora_fetcher.download_object(output_file, url_extra: path_spec.remote, optional: path_spec.optional, - is_rdf: is_rdf) + is_rdf: is_rdf, + should_add_user_email: should_add_user_email) log_saved(is_success, output_file) end - def download_permissions - PushmiPullyu.logger.info("#{@noid}: looking up permissions from Solr ...") - results = PushmiPullyu::AIP::SolrFetcher.new(@noid).fetch_permission_object_ids - if results.empty? - PushmiPullyu.logger.info("#{@noid}: permissions not found") - else - results.each do |permission_id| - PushmiPullyu.logger.info("#{@noid}: permission object #{permission_id} found") - download_permission(permission_id) - end - end - end - - def download_permission(permission_id) - path_spec = OpenStruct.new( - remote: nil, - local: "#{aip_dirs.metadata}/permission_#{permission_id}.n3", - optional: false - ) - download_and_log(path_spec, PushmiPullyu::AIP::FedoraFetcher.new(permission_id)) + def create_and_log_file_order_list(url) + output_file = object_aip_paths.file_ordering.local + PushmiPullyu::Logging.log_aip_activity(@aip_directory, + "#{@noid}: #{output_file} -- creating from #{url} ...") + PushmiPullyu::AIP::FileListCreator.new(url, output_file, member_file_set_uuids).run + PushmiPullyu::Logging.log_aip_activity(@aip_directory, + "#{@noid}: #{output_file} -- created") end ### Logging @@ -92,8 +116,19 @@ def aip_dirs @aip_dirs ||= OpenStruct.new( objects: "#{@aip_directory}/data/objects", metadata: "#{@aip_directory}/data/objects/metadata", + files: "#{@aip_directory}/data/objects/files", + files_metadata: "#{@aip_directory}/data/objects/metadata/files_metadata", logs: "#{@aip_directory}/data/logs", - thumbnails: "#{@aip_directory}/data/thumbnails" + file_logs: "#{@aip_directory}/data/logs/files_logs" + ) + end + + def file_set_dirs(file_set_uuid) + @file_set_dirs ||= {} + @file_set_dirs[file_set_uuid] ||= OpenStruct.new( + metadata: "#{aip_dirs.files_metadata}/#{file_set_uuid}", + files: "#{aip_dirs.files}/#{file_set_uuid}", + logs: "#{aip_dirs.file_logs}/#{file_set_uuid}" ) end @@ -106,6 +141,14 @@ def make_directories PushmiPullyu.logger.debug("#{@noid}: Creating directories done") end + def make_file_set_directories(file_set_uuid) + PushmiPullyu.logger.debug("#{@noid}: Creating file set #{file_set_uuid} directories ...") + file_set_dirs(file_set_uuid).to_h.each_value do |path| + FileUtils.mkdir_p(path) + end + PushmiPullyu.logger.debug("#{@noid}: Creating file set #{file_set_uuid} directories done") + end + def clean_directories return unless File.exist?(@aip_directory) PushmiPullyu.logger.debug("#{@noid}: Nuking directories ...") @@ -114,63 +157,105 @@ def clean_directories ### Files - def aip_paths - @aip_paths ||= OpenStruct.new( + def object_aip_paths + @object_aip_paths ||= OpenStruct.new( main_object: OpenStruct.new( remote: nil, # Base path local: "#{aip_dirs.metadata}/object_metadata.n3", + should_add_user_email: true, optional: false ), - fixity: OpenStruct.new( - remote: '/content/fcr:fixity', - local: "#{aip_dirs.logs}/content_fixity_report.n3", - optional: false + list_source: OpenStruct.new( + # This is downloaded, but not saved + remote: '/list_source' ), - content_datastream_metadata: OpenStruct.new( - remote: '/content/fcr:metadata', - local: "#{aip_dirs.metadata}/content_fcr_metadata.n3", + # This is constructed, not downloaded + file_ordering: OpenStruct.new( + local: "#{aip_dirs.files_metadata}/file_order.xml" + ) + ).freeze + end + + def file_set_aip_paths(file_set_uuid) + @file_set_aip_paths ||= {} + @file_set_aip_paths[file_set_uuid] ||= OpenStruct.new( + main_object: OpenStruct.new( + remote: nil, # Base file_set path + local: "#{file_set_dirs(file_set_uuid).metadata}/file_set_metadata.n3", + should_add_user_email: true, optional: false - ), - versions: OpenStruct.new( - remote: '/content/fcr:versions', - local: "#{aip_dirs.metadata}/content_versions.n3", + ) + ).freeze + end + + def file_aip_paths(file_set_uuid, original_file_remote_base) + @file_aip_paths ||= {} + @file_aip_paths[file_set_uuid] ||= OpenStruct.new( + content: OpenStruct.new( + remote: original_file_remote_base, + local: file_set_filename(file_set_uuid), optional: false ), - # Optional downloads - thumbnail: OpenStruct.new( - remote: '/thumbnail', - local: "#{aip_dirs.thumbnails}/thumbnail", - optional: true - ), - characterization: OpenStruct.new( - remote: '/characterization', - local: "#{aip_dirs.logs}/content_characterization.n3", - optional: true - ), - fedora3foxml: OpenStruct.new( - remote: '/fedora3foxml', - local: "#{aip_dirs.metadata}/fedora3foxml.xml", - optional: true - ), - fedora3foxml_metadata: OpenStruct.new( - remote: '/fedora3foxml/fcr:metadata', - local: "#{aip_dirs.metadata}/fedora3foxml.n3", - optional: true + fixity: OpenStruct.new( + remote: "#{original_file_remote_base}/fcr:fixity", + local: "#{file_set_dirs(file_set_uuid)[:logs]}/content_fixity_report.n3", + optional: false ) ).freeze end - # Extract filename from main object metadata - def content_filename - filename_predicate = RDF::URI('info:fedora/fedora-system:def/model#downloadFilename') + def member_file_set_uuids + @member_file_set_uuids ||= [] + return @member_file_set_uuids unless @member_file_set_uuids.empty? - graph = RDF::Graph.load(aip_paths.main_object.local) + member_file_set_predicate = RDF::URI(PREDICATE_URIS[:member_file_sets]) + + graph = RDF::Graph.load(object_aip_paths.main_object.local) + + graph.query(predicate: member_file_set_predicate) do |results| + # Get uuid from end of fedora path + @member_file_set_uuids << results.object.to_s.split('/').last + end + return @member_file_set_uuids unless @member_file_set_uuids.empty? + + raise NoFileSets + end + + def file_set_filename(file_set_uuid) + filename_predicate = RDF::URI(PREDICATE_URIS[:filename]) + + graph = RDF::Graph.load(file_set_aip_paths(file_set_uuid).main_object.local) graph.query(predicate: filename_predicate) do |results| - return "#{aip_dirs.objects}/#{results.object}" + return "#{file_set_dirs(file_set_uuid).files}/#{results.object}" end raise NoContentFilename end + def member_files(file_set_uuid) + member_file_predicate = RDF::URI(PREDICATE_URIS[:member_files]) + + graph = RDF::Graph.load(file_set_aip_paths(file_set_uuid).main_object.local) + + member_files = [] + graph.query(predicate: member_file_predicate) do |results| + # Get uuid from end of fedora path + member_files << results.object.to_s.split('/').last + end + return member_files if member_files.present? + + raise NoMemberFiles + end + + def original_file?(metadata_filename) + type_predicate = RDF::URI(PREDICATE_URIS[:type]) + original_file_uri = RDF::URI(PREDICATE_URIS[:original_file]) + graph = RDF::Graph.load(metadata_filename) + graph.query(predicate: type_predicate) do |results| + return true if results.object == original_file_uri + end + false + end + end diff --git a/lib/pushmi_pullyu/aip/fedora_fetcher.rb b/lib/pushmi_pullyu/aip/fedora_fetcher.rb index 0b194c5..b34d8df 100644 --- a/lib/pushmi_pullyu/aip/fedora_fetcher.rb +++ b/lib/pushmi_pullyu/aip/fedora_fetcher.rb @@ -19,7 +19,8 @@ def object_url(url_extra = nil) # Return true on success, raise an error otherwise # (or use 'optional' to return false on 404) def download_object(download_path, url_extra: nil, - optional: false, is_rdf: false) + optional: false, is_rdf: false, + should_add_user_email: false) uri = URI(object_url(url_extra)) @@ -34,8 +35,13 @@ def download_object(download_path, url_extra: nil, end if response.is_a?(Net::HTTPSuccess) + body = if should_add_user_email + PushmiPullyu::AIP::OwnerEmailEditor.new(response.body).run + else + response.body + end file = File.open(download_path, 'wb') - file.write(response.body) + file.write(body) file.close return true elsif response.is_a?(Net::HTTPNotFound) diff --git a/lib/pushmi_pullyu/aip/file_list_creator.rb b/lib/pushmi_pullyu/aip/file_list_creator.rb new file mode 100644 index 0000000..b418a23 --- /dev/null +++ b/lib/pushmi_pullyu/aip/file_list_creator.rb @@ -0,0 +1,115 @@ +require 'rdf' +require 'rdf/n3' + +class PushmiPullyu::AIP::FileListCreator + + IANA = 'http://www.iana.org/assignments/relation/'.freeze + PREDICATES = { + proxy_for: RDF::URI('http://www.openarchives.org/ore/terms/proxyFor'), + first: RDF::URI(IANA + 'first'), + last: RDF::URI(IANA + 'last'), + prev: RDF::URI(IANA + 'prev'), + next: RDF::URI(IANA + 'next'), + has_part: RDF::URI('http://purl.org/dc/terms/hasPart') + }.freeze + + class NoProxyURIFound < StandardError; end + class NoFirstProxyFound < StandardError; end + class FirstProxyHasPrev < StandardError; end + class ListSourceFileSetMismatch < StandardError; end + + def initialize(list_source_uri, output_xml_file, file_set_uuids) + @uri = RDF::URI(list_source_uri) + @output_file = output_xml_file + + # These are the known fileset uuids, used for validation + @file_set_uuids = file_set_uuids + end + + def run + extract_list_source_uuids + raise ListSourceFileSetMismatch, @uri.to_s if @list_source_uuids.sort != @file_set_uuids.sort + + write_output_file + end + + def extract_list_source_uuids + # Note: raises IOError if can't find + # raises RDF::ReaderError if can't parse + @graph = RDF::Graph.load(@uri, validate: true) + + @list_source_uuids = [] + + # Fetch first FileSet in list source + this_proxy = find_first_proxy + + while @list_source_uuids.count <= num_proxies + @list_source_uuids << uuid_from_proxy(this_proxy) + next_proxy = find_next_proxy(this_proxy) + + break if next_proxy.nil? + + raise NextPreviousProxyMismatch if this_proxy != find_prev_proxy(next_proxy) + this_proxy = next_proxy + end + + raise ProxyCountIncorrect if @list_source_uuids.count != num_proxies + raise LastProxyFailsValidation if this_proxy != find_last_proxy + end + + def num_proxies + @num_proxies ||= @graph.query(subject: @uri, predicate: PREDICATES[:has_part]).count + end + + def uuid_from_proxy(proxy_uri) + @graph.query(subject: proxy_uri, predicate: PREDICATES[:proxy_for]) do |statement| + return statement.object.to_s.split('/').last + end + raise NoProxyURIFound, proxy_uri.to_s + end + + def find_first_proxy + @graph.query(subject: @uri, predicate: PREDICATES[:first]) do |statement| + first_uri = statement.object + # Validate that the first proxy doesn't have a previous one + raise FirstProxyHasPrev, @uri.to_s if find_prev_proxy(first_uri) + return first_uri + end + raise NoFirstProxyFound, @uri.to_s + end + + def find_last_proxy + @graph.query(subject: @uri, predicate: PREDICATES[:last]) do |statement| + last_uri = statement.object + # Validate that the last proxy doesn't have a next one + raise LastProxyHasNext, @uri.to_s if find_next_proxy(last_uri) + return last_uri + end + raise LastProxyFound, @uri.to_s + end + + def find_next_proxy(proxy_uri) + @graph.query(subject: proxy_uri, predicate: PREDICATES[:next]) do |statement| + return statement.object + end + nil + end + + def find_prev_proxy(proxy_uri) + @graph.query(subject: proxy_uri, predicate: PREDICATES[:prev]) do |statement| + return statement.object + end + nil + end + + def write_output_file + File.open(@output_file, 'w') do |file| + file.write("\n") + @list_source_uuids.each do |uuid| + file.write(" #{uuid}\n") + end + file.write("\n") + end + end + +end diff --git a/lib/pushmi_pullyu/aip/owner_email_editor.rb b/lib/pushmi_pullyu/aip/owner_email_editor.rb new file mode 100644 index 0000000..c2204cf --- /dev/null +++ b/lib/pushmi_pullyu/aip/owner_email_editor.rb @@ -0,0 +1,62 @@ +require 'net/http' + +class PushmiPullyu::AIP::OwnerEmailEditor + + OWNER_PREDICATE = RDF::URI('http://purl.org/ontology/bibo/owner').freeze + + class NoOwnerPredicate < StandardError; end + + def initialize(rdf_string) + @document = rdf_string + end + + def run + ensure_database_connection + + is_modified = false + prefixes = nil + # Read once to load prefixes (the @things at the top of an n3 file) + RDF::N3::Reader.new(input = @document) do |reader| + reader.each_statement { |_statement| } + prefixes = reader.prefixes + end + new_body = RDF::N3::Writer.buffer(prefixes: prefixes) do |writer| + RDF::N3::Reader.new(input = @document) do |reader| + reader.each_statement do |statement| + if statement.predicate == OWNER_PREDICATE + user = PushmiPullyu::AIP::User.find(statement.object.to_i) + writer << [statement.subject, statement.predicate, user.email] + is_modified = true + else + writer << statement + end + end + end + end + return new_body if is_modified + raise NoOwnerPredicate + end + + private + + def ensure_database_connection + return if ActiveRecord::Base.connected? + ActiveRecord::Base.establish_connection(database_configuration) + end + + def database_configuration + # Config either from URL, or with more granular options (the later taking precedence) + config = {} + uri = URI.parse(PushmiPullyu.options[:database][:url]) + config[:adapter] = PushmiPullyu.options[:database][:adaptor] || uri.scheme + config[:host] = PushmiPullyu.options[:database][:host] || uri.host + config[:database] = PushmiPullyu.options[:database][:database] || uri.path.split('/')[1].to_s + config[:username] = PushmiPullyu.options[:database][:username] || uri.user + config[:password] = PushmiPullyu.options[:database][:password] || uri.password + params = CGI.parse(uri.query || '') + config[:encoding] = PushmiPullyu.options[:database][:encoding] || params['encoding'].to_a.first + config[:pool] = PushmiPullyu.options[:database][:pool] || params['pool'].to_a.first + config + end + +end diff --git a/lib/pushmi_pullyu/aip/solr_fetcher.rb b/lib/pushmi_pullyu/aip/solr_fetcher.rb deleted file mode 100644 index f4b9388..0000000 --- a/lib/pushmi_pullyu/aip/solr_fetcher.rb +++ /dev/null @@ -1,33 +0,0 @@ -require 'json' -require 'net/http' - -class PushmiPullyu::AIP::SolrFetcher - - class SolrFetchError < StandardError; end - - def initialize(noid) - @noid = noid - end - - def fetch_permission_object_ids - hash = JSON.parse(run_query_json) - - return [] if hash['response']['docs'].empty? - - hash['response']['docs'].map { |hit| hit['id'] } - end - - private - - # Return fetched results, else raise an error - def run_query_json - response = Net::HTTP.get_response( - URI("#{PushmiPullyu.options[:solr][:url]}/select?q=accessTo_ssim:#{@noid}&fl=id&wt=json") - ) - - return response.body if response.is_a?(Net::HTTPSuccess) - - raise SolrFetchError - end - -end diff --git a/lib/pushmi_pullyu/aip/user.rb b/lib/pushmi_pullyu/aip/user.rb new file mode 100644 index 0000000..9d59c4c --- /dev/null +++ b/lib/pushmi_pullyu/aip/user.rb @@ -0,0 +1,2 @@ +class PushmiPullyu::AIP::User < ActiveRecord::Base +end diff --git a/pushmi_pullyu.gemspec b/pushmi_pullyu.gemspec index 489e3b1..61acf0d 100644 --- a/pushmi_pullyu.gemspec +++ b/pushmi_pullyu.gemspec @@ -1,4 +1,4 @@ -lib = File.expand_path('../lib', __FILE__) +lib = File.expand_path('lib', __dir__) $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib) require 'pushmi_pullyu/version' @@ -21,12 +21,14 @@ Gem::Specification.new do |spec| spec.required_ruby_version = '>= 2.3.1' + spec.add_runtime_dependency 'activerecord', '~> 5.1.5' spec.add_runtime_dependency 'activesupport', '~> 5.0' spec.add_runtime_dependency 'bagit', '~> 0.4' spec.add_runtime_dependency 'connection_pool', '~> 2.2' spec.add_runtime_dependency 'daemons', '~> 1.2', '>= 1.2.4' spec.add_runtime_dependency 'minitar', '~> 0.6' spec.add_runtime_dependency 'openstack', '~> 3.3', '>= 3.3.10' + spec.add_runtime_dependency 'pg', '~> 1.0.0' spec.add_runtime_dependency 'rdf', '>= 1.99', '< 4.0' spec.add_runtime_dependency 'rdf-n3', '>= 1.99', '< 4.0' spec.add_runtime_dependency 'redis', '>= 3.3', '< 5.0' diff --git a/spec/fixtures/aip_download/6841cece-41f1-4edf-ab9a-59459a127c77/data/logs/aipcreation.log b/spec/fixtures/aip_download/6841cece-41f1-4edf-ab9a-59459a127c77/data/logs/aipcreation.log new file mode 100644 index 0000000..e20e655 --- /dev/null +++ b/spec/fixtures/aip_download/6841cece-41f1-4edf-ab9a-59459a127c77/data/logs/aipcreation.log @@ -0,0 +1,29 @@ +# Logfile created on 2018-03-19 15:25:54 -0600 by logger.rb/56815 +I, [2018-03-19T15:25:54.849868 #32469] INFO -- : 6841cece-41f1-4edf-ab9a-59459a127c77: /tmp/aip/6841cece-41f1-4edf-ab9a-59459a127c77/data/objects/metadata/object_metadata.n3 -- fetching from http://localhost:8080/fcrepo/rest/dev/68/41/ce/ce/6841cece-41f1-4edf-ab9a-59459a127c77 ... +I, [2018-03-19T15:25:55.074254 #32469] INFO -- : 6841cece-41f1-4edf-ab9a-59459a127c77: /tmp/aip/6841cece-41f1-4edf-ab9a-59459a127c77/data/objects/metadata/object_metadata.n3 -- saved +I, [2018-03-19T15:25:55.124696 #32469] INFO -- : 6841cece-41f1-4edf-ab9a-59459a127c77: /tmp/aip/6841cece-41f1-4edf-ab9a-59459a127c77/data/objects/metadata/files_metadata/856444b6-8dd5-4dfa-857d-435e354a2ead/file_set_metadata.n3 -- fetching from http://localhost:8080/fcrepo/rest/dev/85/64/44/b6/856444b6-8dd5-4dfa-857d-435e354a2ead ... +I, [2018-03-19T15:25:55.163497 #32469] INFO -- : 6841cece-41f1-4edf-ab9a-59459a127c77: /tmp/aip/6841cece-41f1-4edf-ab9a-59459a127c77/data/objects/metadata/files_metadata/856444b6-8dd5-4dfa-857d-435e354a2ead/file_set_metadata.n3 -- saved +I, [2018-03-19T15:25:55.173367 #32469] INFO -- : 6841cece-41f1-4edf-ab9a-59459a127c77: /tmp/aip/6841cece-41f1-4edf-ab9a-59459a127c77/data/objects/metadata/files_metadata/856444b6-8dd5-4dfa-857d-435e354a2ead/original_file_metadata.n3 -- fetching from http://localhost:8080/fcrepo/rest/dev/85/64/44/b6/856444b6-8dd5-4dfa-857d-435e354a2ead/files/e1bc671b-b3ce-4f9f-9596-df3cad1d84bb/fcr:metadata ... +I, [2018-03-19T15:25:55.177168 #32469] INFO -- : 6841cece-41f1-4edf-ab9a-59459a127c77: /tmp/aip/6841cece-41f1-4edf-ab9a-59459a127c77/data/objects/metadata/files_metadata/856444b6-8dd5-4dfa-857d-435e354a2ead/original_file_metadata.n3 -- saved +I, [2018-03-19T15:25:55.192042 #32469] INFO -- : 6841cece-41f1-4edf-ab9a-59459a127c77: /tmp/aip/6841cece-41f1-4edf-ab9a-59459a127c77/data/objects/metadata/files_metadata/856444b6-8dd5-4dfa-857d-435e354a2ead/original_file_metadata.n3 -- fetching from http://localhost:8080/fcrepo/rest/dev/85/64/44/b6/856444b6-8dd5-4dfa-857d-435e354a2ead/files/04bb7928-cc5d-4338-8062-3209274b29da/fcr:metadata ... +I, [2018-03-19T15:25:55.196054 #32469] INFO -- : 6841cece-41f1-4edf-ab9a-59459a127c77: /tmp/aip/6841cece-41f1-4edf-ab9a-59459a127c77/data/objects/metadata/files_metadata/856444b6-8dd5-4dfa-857d-435e354a2ead/original_file_metadata.n3 -- saved +I, [2018-03-19T15:25:55.224521 #32469] INFO -- : 6841cece-41f1-4edf-ab9a-59459a127c77: /tmp/aip/6841cece-41f1-4edf-ab9a-59459a127c77/data/objects/files/856444b6-8dd5-4dfa-857d-435e354a2ead/era-logo.png -- fetching from http://localhost:8080/fcrepo/rest/dev/85/64/44/b6/856444b6-8dd5-4dfa-857d-435e354a2ead/files/04bb7928-cc5d-4338-8062-3209274b29da ... +I, [2018-03-19T15:25:55.226876 #32469] INFO -- : 6841cece-41f1-4edf-ab9a-59459a127c77: /tmp/aip/6841cece-41f1-4edf-ab9a-59459a127c77/data/objects/files/856444b6-8dd5-4dfa-857d-435e354a2ead/era-logo.png -- saved +I, [2018-03-19T15:25:55.226973 #32469] INFO -- : 6841cece-41f1-4edf-ab9a-59459a127c77: /tmp/aip/6841cece-41f1-4edf-ab9a-59459a127c77/data/logs/files_logs/856444b6-8dd5-4dfa-857d-435e354a2ead/content_fixity_report.n3 -- fetching from http://localhost:8080/fcrepo/rest/dev/85/64/44/b6/856444b6-8dd5-4dfa-857d-435e354a2ead/files/04bb7928-cc5d-4338-8062-3209274b29da/fcr:fixity ... +I, [2018-03-19T15:25:55.229338 #32469] INFO -- : 6841cece-41f1-4edf-ab9a-59459a127c77: /tmp/aip/6841cece-41f1-4edf-ab9a-59459a127c77/data/logs/files_logs/856444b6-8dd5-4dfa-857d-435e354a2ead/content_fixity_report.n3 -- saved +I, [2018-03-19T15:25:55.229559 #32469] INFO -- : 6841cece-41f1-4edf-ab9a-59459a127c77: /tmp/aip/6841cece-41f1-4edf-ab9a-59459a127c77/data/objects/metadata/files_metadata/837977d6-de61-49ea-a912-a65af5c9005e/file_set_metadata.n3 -- fetching from http://localhost:8080/fcrepo/rest/dev/83/79/77/d6/837977d6-de61-49ea-a912-a65af5c9005e ... +I, [2018-03-19T15:25:55.267283 #32469] INFO -- : 6841cece-41f1-4edf-ab9a-59459a127c77: /tmp/aip/6841cece-41f1-4edf-ab9a-59459a127c77/data/objects/metadata/files_metadata/837977d6-de61-49ea-a912-a65af5c9005e/file_set_metadata.n3 -- saved +I, [2018-03-19T15:25:55.278070 #32469] INFO -- : 6841cece-41f1-4edf-ab9a-59459a127c77: /tmp/aip/6841cece-41f1-4edf-ab9a-59459a127c77/data/objects/metadata/files_metadata/837977d6-de61-49ea-a912-a65af5c9005e/original_file_metadata.n3 -- fetching from http://localhost:8080/fcrepo/rest/dev/83/79/77/d6/837977d6-de61-49ea-a912-a65af5c9005e/files/956ee84b-ef1a-4e1e-955e-0707e34df4b8/fcr:metadata ... +I, [2018-03-19T15:25:55.282213 #32469] INFO -- : 6841cece-41f1-4edf-ab9a-59459a127c77: /tmp/aip/6841cece-41f1-4edf-ab9a-59459a127c77/data/objects/metadata/files_metadata/837977d6-de61-49ea-a912-a65af5c9005e/original_file_metadata.n3 -- saved +I, [2018-03-19T15:25:55.311343 #32469] INFO -- : 6841cece-41f1-4edf-ab9a-59459a127c77: /tmp/aip/6841cece-41f1-4edf-ab9a-59459a127c77/data/objects/files/837977d6-de61-49ea-a912-a65af5c9005e/image-sample.jpeg -- fetching from http://localhost:8080/fcrepo/rest/dev/83/79/77/d6/837977d6-de61-49ea-a912-a65af5c9005e/files/956ee84b-ef1a-4e1e-955e-0707e34df4b8 ... +I, [2018-03-19T15:25:55.313634 #32469] INFO -- : 6841cece-41f1-4edf-ab9a-59459a127c77: /tmp/aip/6841cece-41f1-4edf-ab9a-59459a127c77/data/objects/files/837977d6-de61-49ea-a912-a65af5c9005e/image-sample.jpeg -- saved +I, [2018-03-19T15:25:55.313742 #32469] INFO -- : 6841cece-41f1-4edf-ab9a-59459a127c77: /tmp/aip/6841cece-41f1-4edf-ab9a-59459a127c77/data/logs/files_logs/837977d6-de61-49ea-a912-a65af5c9005e/content_fixity_report.n3 -- fetching from http://localhost:8080/fcrepo/rest/dev/83/79/77/d6/837977d6-de61-49ea-a912-a65af5c9005e/files/956ee84b-ef1a-4e1e-955e-0707e34df4b8/fcr:fixity ... +I, [2018-03-19T15:25:55.316106 #32469] INFO -- : 6841cece-41f1-4edf-ab9a-59459a127c77: /tmp/aip/6841cece-41f1-4edf-ab9a-59459a127c77/data/logs/files_logs/837977d6-de61-49ea-a912-a65af5c9005e/content_fixity_report.n3 -- saved +I, [2018-03-19T15:25:55.316328 #32469] INFO -- : 6841cece-41f1-4edf-ab9a-59459a127c77: /tmp/aip/6841cece-41f1-4edf-ab9a-59459a127c77/data/objects/metadata/files_metadata/01bb1b09-974d-478b-8826-2c606a447606/file_set_metadata.n3 -- fetching from http://localhost:8080/fcrepo/rest/dev/01/bb/1b/09/01bb1b09-974d-478b-8826-2c606a447606 ... +I, [2018-03-19T15:25:55.354159 #32469] INFO -- : 6841cece-41f1-4edf-ab9a-59459a127c77: /tmp/aip/6841cece-41f1-4edf-ab9a-59459a127c77/data/objects/metadata/files_metadata/01bb1b09-974d-478b-8826-2c606a447606/file_set_metadata.n3 -- saved +I, [2018-03-19T15:25:55.364942 #32469] INFO -- : 6841cece-41f1-4edf-ab9a-59459a127c77: /tmp/aip/6841cece-41f1-4edf-ab9a-59459a127c77/data/objects/metadata/files_metadata/01bb1b09-974d-478b-8826-2c606a447606/original_file_metadata.n3 -- fetching from http://localhost:8080/fcrepo/rest/dev/01/bb/1b/09/01bb1b09-974d-478b-8826-2c606a447606/files/8b26afd3-0f72-4241-87d4-830f0bbdf58c/fcr:metadata ... +I, [2018-03-19T15:25:55.369202 #32469] INFO -- : 6841cece-41f1-4edf-ab9a-59459a127c77: /tmp/aip/6841cece-41f1-4edf-ab9a-59459a127c77/data/objects/metadata/files_metadata/01bb1b09-974d-478b-8826-2c606a447606/original_file_metadata.n3 -- saved +I, [2018-03-19T15:25:55.398452 #32469] INFO -- : 6841cece-41f1-4edf-ab9a-59459a127c77: /tmp/aip/6841cece-41f1-4edf-ab9a-59459a127c77/data/objects/files/01bb1b09-974d-478b-8826-2c606a447606/theses.jpg -- fetching from http://localhost:8080/fcrepo/rest/dev/01/bb/1b/09/01bb1b09-974d-478b-8826-2c606a447606/files/8b26afd3-0f72-4241-87d4-830f0bbdf58c ... +I, [2018-03-19T15:25:55.400813 #32469] INFO -- : 6841cece-41f1-4edf-ab9a-59459a127c77: /tmp/aip/6841cece-41f1-4edf-ab9a-59459a127c77/data/objects/files/01bb1b09-974d-478b-8826-2c606a447606/theses.jpg -- saved +I, [2018-03-19T15:25:55.400923 #32469] INFO -- : 6841cece-41f1-4edf-ab9a-59459a127c77: /tmp/aip/6841cece-41f1-4edf-ab9a-59459a127c77/data/logs/files_logs/01bb1b09-974d-478b-8826-2c606a447606/content_fixity_report.n3 -- fetching from http://localhost:8080/fcrepo/rest/dev/01/bb/1b/09/01bb1b09-974d-478b-8826-2c606a447606/files/8b26afd3-0f72-4241-87d4-830f0bbdf58c/fcr:fixity ... +I, [2018-03-19T15:25:55.403282 #32469] INFO -- : 6841cece-41f1-4edf-ab9a-59459a127c77: /tmp/aip/6841cece-41f1-4edf-ab9a-59459a127c77/data/logs/files_logs/01bb1b09-974d-478b-8826-2c606a447606/content_fixity_report.n3 -- saved diff --git a/spec/fixtures/aip_download/6841cece-41f1-4edf-ab9a-59459a127c77/data/logs/files_logs/01bb1b09-974d-478b-8826-2c606a447606/content_fixity_report.n3 b/spec/fixtures/aip_download/6841cece-41f1-4edf-ab9a-59459a127c77/data/logs/files_logs/01bb1b09-974d-478b-8826-2c606a447606/content_fixity_report.n3 new file mode 100644 index 0000000..797c205 --- /dev/null +++ b/spec/fixtures/aip_download/6841cece-41f1-4edf-ab9a-59459a127c77/data/logs/files_logs/01bb1b09-974d-478b-8826-2c606a447606/content_fixity_report.n3 @@ -0,0 +1,42 @@ +@prefix premis: . +@prefix rdfs: . +@prefix ns004: . +@prefix ns003: . +@prefix ns002: . +@prefix xsi: . +@prefix ns001: . +@prefix ns008: . +@prefix ns007: . +@prefix ns006: . +@prefix xmlns: . +@prefix ns005: . +@prefix xml: . +@prefix ns009: . +@prefix fedoraconfig: . +@prefix foaf: . +@prefix test: . +@prefix ns011: . +@prefix ns010: . +@prefix ns015: . +@prefix ns014: . +@prefix ns013: . +@prefix ns012: . +@prefix ns019: . +@prefix ns018: . +@prefix ns017: . +@prefix ns016: . +@prefix fedora: . +@prefix rdf: . +@prefix ebucore: . +@prefix ldp: . +@prefix xs: . +@prefix dc: . + + + premis:hasFixity . + + + a premis:EventOutcomeDetail , premis:Fixity ; + premis:hasEventOutcome "SUCCESS"^^ ; + premis:hasMessageDigest ; + premis:hasSize "53678"^^ . diff --git a/spec/fixtures/aip_download/6841cece-41f1-4edf-ab9a-59459a127c77/data/logs/files_logs/837977d6-de61-49ea-a912-a65af5c9005e/content_fixity_report.n3 b/spec/fixtures/aip_download/6841cece-41f1-4edf-ab9a-59459a127c77/data/logs/files_logs/837977d6-de61-49ea-a912-a65af5c9005e/content_fixity_report.n3 new file mode 100644 index 0000000..d08feab --- /dev/null +++ b/spec/fixtures/aip_download/6841cece-41f1-4edf-ab9a-59459a127c77/data/logs/files_logs/837977d6-de61-49ea-a912-a65af5c9005e/content_fixity_report.n3 @@ -0,0 +1,42 @@ +@prefix premis: . +@prefix rdfs: . +@prefix ns004: . +@prefix ns003: . +@prefix ns002: . +@prefix xsi: . +@prefix ns001: . +@prefix ns008: . +@prefix ns007: . +@prefix ns006: . +@prefix xmlns: . +@prefix ns005: . +@prefix xml: . +@prefix ns009: . +@prefix fedoraconfig: . +@prefix foaf: . +@prefix test: . +@prefix ns011: . +@prefix ns010: . +@prefix ns015: . +@prefix ns014: . +@prefix ns013: . +@prefix ns012: . +@prefix ns019: . +@prefix ns018: . +@prefix ns017: . +@prefix ns016: . +@prefix fedora: . +@prefix rdf: . +@prefix ebucore: . +@prefix ldp: . +@prefix xs: . +@prefix dc: . + + + premis:hasFixity . + + + a premis:EventOutcomeDetail , premis:Fixity ; + premis:hasEventOutcome "SUCCESS"^^ ; + premis:hasMessageDigest ; + premis:hasSize "12401"^^ . diff --git a/spec/fixtures/aip_download/6841cece-41f1-4edf-ab9a-59459a127c77/data/logs/files_logs/856444b6-8dd5-4dfa-857d-435e354a2ead/content_fixity_report.n3 b/spec/fixtures/aip_download/6841cece-41f1-4edf-ab9a-59459a127c77/data/logs/files_logs/856444b6-8dd5-4dfa-857d-435e354a2ead/content_fixity_report.n3 new file mode 100644 index 0000000..e14e35f --- /dev/null +++ b/spec/fixtures/aip_download/6841cece-41f1-4edf-ab9a-59459a127c77/data/logs/files_logs/856444b6-8dd5-4dfa-857d-435e354a2ead/content_fixity_report.n3 @@ -0,0 +1,42 @@ +@prefix premis: . +@prefix rdfs: . +@prefix ns004: . +@prefix ns003: . +@prefix ns002: . +@prefix xsi: . +@prefix ns001: . +@prefix ns008: . +@prefix ns007: . +@prefix ns006: . +@prefix xmlns: . +@prefix ns005: . +@prefix xml: . +@prefix ns009: . +@prefix fedoraconfig: . +@prefix foaf: . +@prefix test: . +@prefix ns011: . +@prefix ns010: . +@prefix ns015: . +@prefix ns014: . +@prefix ns013: . +@prefix ns012: . +@prefix ns019: . +@prefix ns018: . +@prefix ns017: . +@prefix ns016: . +@prefix fedora: . +@prefix rdf: . +@prefix ebucore: . +@prefix ldp: . +@prefix xs: . +@prefix dc: . + + + a premis:EventOutcomeDetail , premis:Fixity ; + premis:hasEventOutcome "SUCCESS"^^ ; + premis:hasMessageDigest ; + premis:hasSize "5612"^^ . + + + premis:hasFixity . diff --git a/spec/fixtures/aip_download/6841cece-41f1-4edf-ab9a-59459a127c77/data/objects/files/01bb1b09-974d-478b-8826-2c606a447606/theses.jpg b/spec/fixtures/aip_download/6841cece-41f1-4edf-ab9a-59459a127c77/data/objects/files/01bb1b09-974d-478b-8826-2c606a447606/theses.jpg new file mode 100644 index 0000000..a676cf6 Binary files /dev/null and b/spec/fixtures/aip_download/6841cece-41f1-4edf-ab9a-59459a127c77/data/objects/files/01bb1b09-974d-478b-8826-2c606a447606/theses.jpg differ diff --git a/spec/fixtures/aip_download/6841cece-41f1-4edf-ab9a-59459a127c77/data/objects/files/837977d6-de61-49ea-a912-a65af5c9005e/image-sample.jpeg b/spec/fixtures/aip_download/6841cece-41f1-4edf-ab9a-59459a127c77/data/objects/files/837977d6-de61-49ea-a912-a65af5c9005e/image-sample.jpeg new file mode 100644 index 0000000..3853a5e Binary files /dev/null and b/spec/fixtures/aip_download/6841cece-41f1-4edf-ab9a-59459a127c77/data/objects/files/837977d6-de61-49ea-a912-a65af5c9005e/image-sample.jpeg differ diff --git a/spec/fixtures/aip_download/6841cece-41f1-4edf-ab9a-59459a127c77/data/objects/files/856444b6-8dd5-4dfa-857d-435e354a2ead/era-logo.png b/spec/fixtures/aip_download/6841cece-41f1-4edf-ab9a-59459a127c77/data/objects/files/856444b6-8dd5-4dfa-857d-435e354a2ead/era-logo.png new file mode 100644 index 0000000..df281fc Binary files /dev/null and b/spec/fixtures/aip_download/6841cece-41f1-4edf-ab9a-59459a127c77/data/objects/files/856444b6-8dd5-4dfa-857d-435e354a2ead/era-logo.png differ diff --git a/spec/fixtures/aip_download/6841cece-41f1-4edf-ab9a-59459a127c77/data/objects/metadata/files_metadata/01bb1b09-974d-478b-8826-2c606a447606/file_set_metadata.n3 b/spec/fixtures/aip_download/6841cece-41f1-4edf-ab9a-59459a127c77/data/objects/metadata/files_metadata/01bb1b09-974d-478b-8826-2c606a447606/file_set_metadata.n3 new file mode 100644 index 0000000..a753dc3 --- /dev/null +++ b/spec/fixtures/aip_download/6841cece-41f1-4edf-ab9a-59459a127c77/data/objects/metadata/files_metadata/01bb1b09-974d-478b-8826-2c606a447606/file_set_metadata.n3 @@ -0,0 +1,35 @@ +@prefix ebucore: . +@prefix fedora: . +@prefix ldp: . +@prefix ns001: . +@prefix ns002: . +@prefix ns003: . +@prefix ns005: . +@prefix ns007: . +@prefix ns010: . +@prefix rdf: . +@prefix xs: . + + a ldp:Container, + ns005:Object, + fedora:Container, + ldp:RDFSource, + ns007:FileSet, + fedora:Resource; + ns003:title "theses.jpg"; + fedora:created "2018-03-09T18:53:30.313Z"^^; + fedora:createdBy "bypassAdmin"; + fedora:hasParent ; + fedora:lastModified "2018-03-09T18:53:30.663Z"^^; + fedora:lastModifiedBy "bypassAdmin"; + fedora:writable true; + ns005:hasFile ; + ns005:memberOf ; + ns003:accessRights "http://terms.library.ualberta.ca/public"; + ns002:owner "admin@ualberta.ca"; + ns010:recordCreatedInJupiter "2018-03-09T18:53:30.296Z"; + ns010:sitemapLink ""; + ebucore:dateIngested "2018-03-09T18:53:30.296Z"; + ldp:contains , + ; + ns001:hasModel "IRFileSet" . diff --git a/spec/fixtures/aip_download/6841cece-41f1-4edf-ab9a-59459a127c77/data/objects/metadata/files_metadata/01bb1b09-974d-478b-8826-2c606a447606/original_file_metadata.n3 b/spec/fixtures/aip_download/6841cece-41f1-4edf-ab9a-59459a127c77/data/objects/metadata/files_metadata/01bb1b09-974d-478b-8826-2c606a447606/original_file_metadata.n3 new file mode 100644 index 0000000..55969db --- /dev/null +++ b/spec/fixtures/aip_download/6841cece-41f1-4edf-ab9a-59459a127c77/data/objects/metadata/files_metadata/01bb1b09-974d-478b-8826-2c606a447606/original_file_metadata.n3 @@ -0,0 +1,61 @@ +@prefix premis: . +@prefix rdfs: . +@prefix ns004: . +@prefix ns003: . +@prefix ns002: . +@prefix xsi: . +@prefix ns001: . +@prefix ns008: . +@prefix ns007: . +@prefix ns006: . +@prefix xmlns: . +@prefix ns005: . +@prefix xml: . +@prefix ns009: . +@prefix fedoraconfig: . +@prefix foaf: . +@prefix test: . +@prefix ns011: . +@prefix ns010: . +@prefix ns015: . +@prefix ns014: . +@prefix ns013: . +@prefix ns012: . +@prefix ns019: . +@prefix ns018: . +@prefix ns017: . +@prefix ns016: . +@prefix fedora: . +@prefix rdf: . +@prefix ebucore: . +@prefix ldp: . +@prefix xs: . +@prefix dc: . + + + a ldp:NonRDFSource , ns011:OriginalFile , fedora:Resource , ns005:File , fedora:Binary ; + fedora:created "2018-03-09T18:53:30.447Z"^^ ; + fedora:createdBy "bypassAdmin"^^ ; + fedora:hasFixityService ; + fedora:hasParent ; + fedora:lastModified "2018-03-09T18:53:32.99Z"^^ ; + fedora:lastModifiedBy "bypassAdmin"^^ ; + fedora:writable "true"^^ ; + ns017:valid "true"^^ ; + ns017:wellFormed "true"^^ ; + ns019:compressionScheme "JPEG"^^ ; + ns018:byteOrder "big endian"^^ ; + ebucore:fileSize "53678"^^ ; + ebucore:filename "theses.jpg"^^ ; + ebucore:hasMimeType "image/jpeg"^^ ; + ebucore:height "335"^^ ; + ebucore:width "504"^^ ; + ns014:describedby ; + premis:hasCreatingApplicationVersion + "1.2.0"^^ ; + premis:hasFormatName "JPEG File Interchange Format"^^ ; + premis:hasMessageDigest ; + premis:hasSize "53678"^^ ; + ns016:hashValue "59ced23d3250b0cf54a58dd21bad4512"^^ ; + ns015:colorSpace "YCbCr"^^ ; + ns015:exifVersion "10.00"^^ . diff --git a/spec/fixtures/aip_download/6841cece-41f1-4edf-ab9a-59459a127c77/data/objects/metadata/files_metadata/837977d6-de61-49ea-a912-a65af5c9005e/file_set_metadata.n3 b/spec/fixtures/aip_download/6841cece-41f1-4edf-ab9a-59459a127c77/data/objects/metadata/files_metadata/837977d6-de61-49ea-a912-a65af5c9005e/file_set_metadata.n3 new file mode 100644 index 0000000..89f882b --- /dev/null +++ b/spec/fixtures/aip_download/6841cece-41f1-4edf-ab9a-59459a127c77/data/objects/metadata/files_metadata/837977d6-de61-49ea-a912-a65af5c9005e/file_set_metadata.n3 @@ -0,0 +1,35 @@ +@prefix ebucore: . +@prefix fedora: . +@prefix ldp: . +@prefix ns001: . +@prefix ns002: . +@prefix ns003: . +@prefix ns005: . +@prefix ns007: . +@prefix ns010: . +@prefix rdf: . +@prefix xs: . + + a ldp:Container, + ns005:Object, + fedora:Container, + fedora:Resource, + ns007:FileSet, + ldp:RDFSource; + ns003:title "image-sample.jpeg"; + fedora:created "2018-03-09T18:53:33.018Z"^^; + fedora:createdBy "bypassAdmin"; + fedora:hasParent ; + fedora:lastModified "2018-03-09T18:53:33.375Z"^^; + fedora:lastModifiedBy "bypassAdmin"; + fedora:writable true; + ns005:hasFile ; + ns005:memberOf ; + ns003:accessRights "http://terms.library.ualberta.ca/public"; + ns002:owner "admin@ualberta.ca"; + ns010:recordCreatedInJupiter "2018-03-09T18:53:32.996Z"; + ns010:sitemapLink ""; + ebucore:dateIngested "2018-03-09T18:53:32.996Z"; + ldp:contains , + ; + ns001:hasModel "IRFileSet" . diff --git a/spec/fixtures/aip_download/6841cece-41f1-4edf-ab9a-59459a127c77/data/objects/metadata/files_metadata/837977d6-de61-49ea-a912-a65af5c9005e/original_file_metadata.n3 b/spec/fixtures/aip_download/6841cece-41f1-4edf-ab9a-59459a127c77/data/objects/metadata/files_metadata/837977d6-de61-49ea-a912-a65af5c9005e/original_file_metadata.n3 new file mode 100644 index 0000000..19b6b7e --- /dev/null +++ b/spec/fixtures/aip_download/6841cece-41f1-4edf-ab9a-59459a127c77/data/objects/metadata/files_metadata/837977d6-de61-49ea-a912-a65af5c9005e/original_file_metadata.n3 @@ -0,0 +1,61 @@ +@prefix premis: . +@prefix rdfs: . +@prefix ns004: . +@prefix ns003: . +@prefix ns002: . +@prefix xsi: . +@prefix ns001: . +@prefix ns008: . +@prefix ns007: . +@prefix ns006: . +@prefix xmlns: . +@prefix ns005: . +@prefix xml: . +@prefix ns009: . +@prefix fedoraconfig: . +@prefix foaf: . +@prefix test: . +@prefix ns011: . +@prefix ns010: . +@prefix ns015: . +@prefix ns014: . +@prefix ns013: . +@prefix ns012: . +@prefix ns019: . +@prefix ns018: . +@prefix ns017: . +@prefix ns016: . +@prefix fedora: . +@prefix rdf: . +@prefix ebucore: . +@prefix ldp: . +@prefix xs: . +@prefix dc: . + + + a fedora:Binary , fedora:Resource , ldp:NonRDFSource , ns011:OriginalFile , ns005:File ; + fedora:created "2018-03-09T18:53:33.16Z"^^ ; + fedora:createdBy "bypassAdmin"^^ ; + fedora:hasFixityService ; + fedora:hasParent ; + fedora:lastModified "2018-03-09T18:53:35.73Z"^^ ; + fedora:lastModifiedBy "bypassAdmin"^^ ; + fedora:writable "true"^^ ; + ns017:valid "true"^^ ; + ns017:wellFormed "true"^^ ; + ns019:compressionScheme "JPEG"^^ ; + ns018:byteOrder "big endian"^^ ; + ebucore:fileSize "12401"^^ ; + ebucore:filename "image-sample.jpeg"^^ ; + ebucore:hasMimeType "image/jpeg"^^ ; + ebucore:height "183"^^ ; + ebucore:width "276"^^ ; + ns014:describedby ; + premis:hasCreatingApplicationVersion + "1.2.0"^^ ; + premis:hasFormatName "JPEG File Interchange Format"^^ ; + premis:hasMessageDigest ; + premis:hasSize "12401"^^ ; + ns016:hashValue "71179c73ffd133cf0f25e3f7b3572ef7"^^ ; + ns015:colorSpace "YCbCr"^^ ; + ns015:exifVersion "10.00"^^ . diff --git a/spec/fixtures/aip_download/6841cece-41f1-4edf-ab9a-59459a127c77/data/objects/metadata/files_metadata/856444b6-8dd5-4dfa-857d-435e354a2ead/file_set_metadata.n3 b/spec/fixtures/aip_download/6841cece-41f1-4edf-ab9a-59459a127c77/data/objects/metadata/files_metadata/856444b6-8dd5-4dfa-857d-435e354a2ead/file_set_metadata.n3 new file mode 100644 index 0000000..51ed63d --- /dev/null +++ b/spec/fixtures/aip_download/6841cece-41f1-4edf-ab9a-59459a127c77/data/objects/metadata/files_metadata/856444b6-8dd5-4dfa-857d-435e354a2ead/file_set_metadata.n3 @@ -0,0 +1,36 @@ +@prefix ebucore: . +@prefix fedora: . +@prefix ldp: . +@prefix ns001: . +@prefix ns002: . +@prefix ns003: . +@prefix ns005: . +@prefix ns007: . +@prefix ns010: . +@prefix rdf: . +@prefix xs: . + + a ldp:Container, + ns005:Object, + fedora:Container, + fedora:Resource, + ns007:FileSet, + ldp:RDFSource; + ns003:title "era-logo.png"; + fedora:created "2018-03-09T18:53:35.759Z"^^; + fedora:createdBy "bypassAdmin"; + fedora:hasParent ; + fedora:lastModified "2018-03-09T18:53:39.162Z"^^; + fedora:lastModifiedBy "bypassAdmin"; + fedora:writable true; + ns005:hasFile , + ; + ns005:memberOf ; + ns003:accessRights "http://terms.library.ualberta.ca/public"; + ns002:owner "admin@ualberta.ca"; + ns010:recordCreatedInJupiter "2018-03-09T18:53:35.736Z"; + ns010:sitemapLink ""; + ebucore:dateIngested "2018-03-09T18:53:35.736Z"; + ldp:contains , + ; + ns001:hasModel "IRFileSet" . diff --git a/spec/fixtures/aip_download/6841cece-41f1-4edf-ab9a-59459a127c77/data/objects/metadata/files_metadata/856444b6-8dd5-4dfa-857d-435e354a2ead/original_file_metadata.n3 b/spec/fixtures/aip_download/6841cece-41f1-4edf-ab9a-59459a127c77/data/objects/metadata/files_metadata/856444b6-8dd5-4dfa-857d-435e354a2ead/original_file_metadata.n3 new file mode 100644 index 0000000..fee5984 --- /dev/null +++ b/spec/fixtures/aip_download/6841cece-41f1-4edf-ab9a-59459a127c77/data/objects/metadata/files_metadata/856444b6-8dd5-4dfa-857d-435e354a2ead/original_file_metadata.n3 @@ -0,0 +1,58 @@ +@prefix premis: . +@prefix rdfs: . +@prefix ns004: . +@prefix ns003: . +@prefix ns002: . +@prefix xsi: . +@prefix ns001: . +@prefix ns008: . +@prefix ns007: . +@prefix ns006: . +@prefix xmlns: . +@prefix ns005: . +@prefix xml: . +@prefix ns009: . +@prefix fedoraconfig: . +@prefix foaf: . +@prefix test: . +@prefix ns011: . +@prefix ns010: . +@prefix ns015: . +@prefix ns014: . +@prefix ns013: . +@prefix ns012: . +@prefix ns019: . +@prefix ns018: . +@prefix ns017: . +@prefix ns016: . +@prefix fedora: . +@prefix rdf: . +@prefix ebucore: . +@prefix ldp: . +@prefix xs: . +@prefix dc: . + + + a ns011:OriginalFile , fedora:Resource , fedora:Binary , ldp:NonRDFSource , ns005:File ; + fedora:created "2018-03-09T18:53:35.896Z"^^ ; + fedora:createdBy "bypassAdmin"^^ ; + fedora:hasFixityService ; + fedora:hasParent ; + fedora:lastModified "2018-03-09T18:53:38.335Z"^^ ; + fedora:lastModifiedBy "bypassAdmin"^^ ; + fedora:writable "true"^^ ; + ns019:compressionScheme "Deflate/Inflate"^^ , "Deflate"^^ ; + ebucore:fileSize "5612"^^ ; + ebucore:filename "era-logo.png"^^ ; + ebucore:hasMimeType "image/png"^^ ; + ebucore:height "114"^^ ; + ebucore:width "208"^^ ; + ns014:describedby ; + premis:hasCreatingApplicationVersion + "1.2.0"^^ ; + premis:hasFormatName "Portable Network Graphics"^^ ; + premis:hasMessageDigest ; + premis:hasSize "5612"^^ ; + ns016:hashValue "d409b41db16cfaf9f315ac20532eac07"^^ ; + ns015:exifVersion "10.00"^^ ; + ns015:orientation "normal*"^^ . diff --git a/spec/fixtures/aip_download/6841cece-41f1-4edf-ab9a-59459a127c77/data/objects/metadata/files_metadata/file_order.xml b/spec/fixtures/aip_download/6841cece-41f1-4edf-ab9a-59459a127c77/data/objects/metadata/files_metadata/file_order.xml new file mode 100644 index 0000000..25609d4 --- /dev/null +++ b/spec/fixtures/aip_download/6841cece-41f1-4edf-ab9a-59459a127c77/data/objects/metadata/files_metadata/file_order.xml @@ -0,0 +1,5 @@ + + 01bb1b09-974d-478b-8826-2c606a447606 + 837977d6-de61-49ea-a912-a65af5c9005e + 856444b6-8dd5-4dfa-857d-435e354a2ead + diff --git a/spec/fixtures/aip_download/6841cece-41f1-4edf-ab9a-59459a127c77/data/objects/metadata/object_metadata.n3 b/spec/fixtures/aip_download/6841cece-41f1-4edf-ab9a-59459a127c77/data/objects/metadata/object_metadata.n3 new file mode 100644 index 0000000..24b0b41 --- /dev/null +++ b/spec/fixtures/aip_download/6841cece-41f1-4edf-ab9a-59459a127c77/data/objects/metadata/object_metadata.n3 @@ -0,0 +1,69 @@ +@prefix dc: . +@prefix ebucore: . +@prefix fedora: . +@prefix ldp: . +@prefix ns001: . +@prefix ns002: . +@prefix ns003: . +@prefix ns005: . +@prefix ns010: . +@prefix ns012: . +@prefix ns013: . +@prefix ns014: . +@prefix rdf: . +@prefix xs: . + + a ns002:Thesis, + ldp:Container, + ns005:Object, + fedora:Container, + fedora:Resource, + ldp:RDFSource; + ns003:title "An über-thesis about the effects of Samuel Smith’s Imperial IPA on dogs"; + fedora:created "2018-03-09T18:53:29.983Z"^^; + fedora:createdBy "bypassAdmin"; + fedora:hasParent ; + fedora:lastModified "2018-03-09T18:53:38.862Z"^^; + fedora:lastModifiedBy "bypassAdmin"; + fedora:writable true; + ns013:institution "http://id.loc.gov/authorities/names/n79058482"; + ns005:hasMember , + , + ; + ns005:memberOf , + ; + ns012:doi "doi:bogus-2018-03-09T18:53:23.145Z"; + dc:rights "Share my stuff with everybody"; + dc:subject "Dog", + "Mondo"; + ns003:abstract "In corrupti laboriosam delectus quisquam dolores possimus eveniet rerum dolores soluta vero et minima illo velit quam tenetur harum ut"; + ns003:accessRights "http://terms.library.ualberta.ca/public"; + ns003:alternative "A full, holistic, dog-tastic approach"; + ns003:isVersionOf "The CDROM titled 'Dogs!'", + "The original laserdisc series from Orange-on-a-Blue-Background studios"; + ns003:language "http://id.loc.gov/vocabulary/iso639-2/eng"; + ns002:degree "Master's of Marketing"; + ns002:owner "admin@ualberta.ca"; + ns010:commiteeMember "Howard I. No (Department of Everything)", + "I. Ron Stomach (Marketing)"; + ns010:department "Deparment of Marketing", + "Department of Everything"; + ns010:departmentList "[\"Deparment of Marketing\",\"Department of Everything\"]"; + ns010:dissertant "Missy Sokoke"; + ns010:graduationDate "Fall 1976"; + ns010:path "86cf34a4-74f5-426b-a868-0e3686efee9c/f2667e8a-cfaa-4002-9246-35105f6325d4", + "86cf34a4-74f5-426b-a868-0e3686efee9c/944b07fe-f0c5-497e-87de-24735fd4810e"; + ns010:recordCreatedInJupiter "2018-03-09T18:53:29.839Z"; + ns010:sortYear "1976"; + ns010:specialization "Marketing"; + ns010:supervisor "Pepe C. Cola (Marketing)", + "I. Ron Stomach (Department of Everything)"; + ns010:supervisorList "[\"Pepe C. Cola (Marketing)\",\"I. Ron Stomach (Department of Everything)\"]"; + ns010:thesisLevel "Master's"; + ebucore:dateIngested "2018-03-09T18:53:29.839Z"; + ns014:first ; + ns014:last ; + ldp:contains , + , + ; + ns001:hasModel "IRThesis" . diff --git a/spec/fixtures/aip_download/9p2909328/data/logs/aipcreation.log b/spec/fixtures/aip_download/9p2909328/data/logs/aipcreation.log deleted file mode 100644 index ee56b16..0000000 --- a/spec/fixtures/aip_download/9p2909328/data/logs/aipcreation.log +++ /dev/null @@ -1,25 +0,0 @@ -# Logfile created on 2017-05-25 14:44:12 +0000 by logger.rb/56438 -I, [2017-05-25T14:44:12.125455 #20526] INFO -- : 9p2909328: /gitwork/pushmi_pullyu/tmp/aip_spec/9p2909328/data/objects/metadata/object_metadata.n3 -- fetching from http://www.example.com:8080/fcrepo/rest/test/9p/29/09/32/9p2909328 ... -I, [2017-05-25T14:44:12.133126 #20526] INFO -- : 9p2909328: /gitwork/pushmi_pullyu/tmp/aip_spec/9p2909328/data/objects/metadata/object_metadata.n3 -- saved -I, [2017-05-25T14:44:12.133331 #20526] INFO -- : 9p2909328: /gitwork/pushmi_pullyu/tmp/aip_spec/9p2909328/data/logs/content_fixity_report.n3 -- fetching from http://www.example.com:8080/fcrepo/rest/test/9p/29/09/32/9p2909328/content/fcr:fixity ... -I, [2017-05-25T14:44:12.135843 #20526] INFO -- : 9p2909328: /gitwork/pushmi_pullyu/tmp/aip_spec/9p2909328/data/logs/content_fixity_report.n3 -- saved -I, [2017-05-25T14:44:12.136048 #20526] INFO -- : 9p2909328: /gitwork/pushmi_pullyu/tmp/aip_spec/9p2909328/data/objects/metadata/content_fcr_metadata.n3 -- fetching from http://www.example.com:8080/fcrepo/rest/test/9p/29/09/32/9p2909328/content/fcr:metadata ... -I, [2017-05-25T14:44:12.138613 #20526] INFO -- : 9p2909328: /gitwork/pushmi_pullyu/tmp/aip_spec/9p2909328/data/objects/metadata/content_fcr_metadata.n3 -- saved -I, [2017-05-25T14:44:12.138805 #20526] INFO -- : 9p2909328: /gitwork/pushmi_pullyu/tmp/aip_spec/9p2909328/data/objects/metadata/content_versions.n3 -- fetching from http://www.example.com:8080/fcrepo/rest/test/9p/29/09/32/9p2909328/content/fcr:versions ... -I, [2017-05-25T14:44:12.141411 #20526] INFO -- : 9p2909328: /gitwork/pushmi_pullyu/tmp/aip_spec/9p2909328/data/objects/metadata/content_versions.n3 -- saved -I, [2017-05-25T14:44:12.141606 #20526] INFO -- : 9p2909328: /gitwork/pushmi_pullyu/tmp/aip_spec/9p2909328/data/thumbnails/thumbnail -- fetching from http://www.example.com:8080/fcrepo/rest/test/9p/29/09/32/9p2909328/thumbnail ... -I, [2017-05-25T14:44:12.143990 #20526] INFO -- : 9p2909328: /gitwork/pushmi_pullyu/tmp/aip_spec/9p2909328/data/thumbnails/thumbnail -- saved -I, [2017-05-25T14:44:12.144182 #20526] INFO -- : 9p2909328: /gitwork/pushmi_pullyu/tmp/aip_spec/9p2909328/data/logs/content_characterization.n3 -- fetching from http://www.example.com:8080/fcrepo/rest/test/9p/29/09/32/9p2909328/characterization ... -I, [2017-05-25T14:44:12.146657 #20526] INFO -- : 9p2909328: /gitwork/pushmi_pullyu/tmp/aip_spec/9p2909328/data/logs/content_characterization.n3 -- saved -I, [2017-05-25T14:44:12.146851 #20526] INFO -- : 9p2909328: /gitwork/pushmi_pullyu/tmp/aip_spec/9p2909328/data/objects/metadata/fedora3foxml.xml -- fetching from http://www.example.com:8080/fcrepo/rest/test/9p/29/09/32/9p2909328/fedora3foxml ... -I, [2017-05-25T14:44:12.149237 #20526] INFO -- : 9p2909328: /gitwork/pushmi_pullyu/tmp/aip_spec/9p2909328/data/objects/metadata/fedora3foxml.xml -- not_found -I, [2017-05-25T14:44:12.149422 #20526] INFO -- : 9p2909328: /gitwork/pushmi_pullyu/tmp/aip_spec/9p2909328/data/objects/metadata/fedora3foxml.n3 -- fetching from http://www.example.com:8080/fcrepo/rest/test/9p/29/09/32/9p2909328/fedora3foxml/fcr:metadata ... -I, [2017-05-25T14:44:12.151889 #20526] INFO -- : 9p2909328: /gitwork/pushmi_pullyu/tmp/aip_spec/9p2909328/data/objects/metadata/fedora3foxml.n3 -- not_found -I, [2017-05-25T14:44:12.230713 #20526] INFO -- : 9p2909328: /gitwork/pushmi_pullyu/tmp/aip_spec/9p2909328/data/objects/whatever.pdf -- fetching from http://www.example.com:8080/fcrepo/rest/test/9p/29/09/32/9p2909328/content ... -I, [2017-05-25T14:44:12.236411 #20526] INFO -- : 9p2909328: /gitwork/pushmi_pullyu/tmp/aip_spec/9p2909328/data/objects/whatever.pdf -- saved -I, [2017-05-25T14:44:12.239749 #20526] INFO -- : 9p2909328: /gitwork/pushmi_pullyu/tmp/aip_spec/9p2909328/data/objects/metadata/permission_ffd40638-290a-41f7-bcb2-4e0e54fc3ffd.n3 -- fetching from http://www.example.com:8080/fcrepo/rest/test/ff/d4/06/38/ffd40638-290a-41f7-bcb2-4e0e54fc3ffd ... -I, [2017-05-25T14:44:12.242377 #20526] INFO -- : 9p2909328: /gitwork/pushmi_pullyu/tmp/aip_spec/9p2909328/data/objects/metadata/permission_ffd40638-290a-41f7-bcb2-4e0e54fc3ffd.n3 -- saved -I, [2017-05-25T14:44:12.242590 #20526] INFO -- : 9p2909328: /gitwork/pushmi_pullyu/tmp/aip_spec/9p2909328/data/objects/metadata/permission_ef4319c0-2f7a-44c0-b1b5-cd650aa4a075.n3 -- fetching from http://www.example.com:8080/fcrepo/rest/test/ef/43/19/c0/ef4319c0-2f7a-44c0-b1b5-cd650aa4a075 ... -I, [2017-05-25T14:44:12.245188 #20526] INFO -- : 9p2909328: /gitwork/pushmi_pullyu/tmp/aip_spec/9p2909328/data/objects/metadata/permission_ef4319c0-2f7a-44c0-b1b5-cd650aa4a075.n3 -- saved -I, [2017-05-25T14:44:12.245404 #20526] INFO -- : 9p2909328: /gitwork/pushmi_pullyu/tmp/aip_spec/9p2909328/data/objects/metadata/permission_e1910293-34b3-42bb-9179-f67f37eb145e.n3 -- fetching from http://www.example.com:8080/fcrepo/rest/test/e1/91/02/93/e1910293-34b3-42bb-9179-f67f37eb145e ... -I, [2017-05-25T14:44:12.247959 #20526] INFO -- : 9p2909328: /gitwork/pushmi_pullyu/tmp/aip_spec/9p2909328/data/objects/metadata/permission_e1910293-34b3-42bb-9179-f67f37eb145e.n3 -- saved diff --git a/spec/fixtures/aip_download/9p2909328/data/logs/content_characterization.n3 b/spec/fixtures/aip_download/9p2909328/data/logs/content_characterization.n3 deleted file mode 100644 index a3e1e2a..0000000 --- a/spec/fixtures/aip_download/9p2909328/data/logs/content_characterization.n3 +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - 1.4 - fmt/18 - - - - 7162 - LibreOffice 5.2/Writer - 2017:05:16 15:26:04-06:00 - /tmp/content-1.pdf20170516-18431-2uhrid.pdf - whatever.pdf - 94a2454204f52b39c4a6d4ff86e8d516 - 1494970582000 - - - true - true - - - - Writer - en-CA - 1 - no - no - no - - LiberationSerif - - no - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/spec/fixtures/aip_download/9p2909328/data/logs/content_fixity_report.n3 b/spec/fixtures/aip_download/9p2909328/data/logs/content_fixity_report.n3 deleted file mode 100644 index cd30472..0000000 --- a/spec/fixtures/aip_download/9p2909328/data/logs/content_fixity_report.n3 +++ /dev/null @@ -1,44 +0,0 @@ -@prefix premis: . -@prefix nt: . -@prefix rdfs: . -@prefix ns004: . -@prefix ns003: . -@prefix ns002: . -@prefix ns001: . -@prefix xsi: . -@prefix ns008: . -@prefix mode: . -@prefix ns007: . -@prefix ns006: . -@prefix ns005: . -@prefix xml: . -@prefix ns009: . -@prefix fedoraconfig: . -@prefix mix: . -@prefix foaf: . -@prefix image: . -@prefix sv: . -@prefix test: . -@prefix ns011: . -@prefix ns010: . -@prefix ns015: . -@prefix ns014: . -@prefix ns013: . -@prefix ns012: . -@prefix rdf: . -@prefix fedora: . -@prefix ldp: . -@prefix xs: . -@prefix dc: . - - - premis:hasFixity . - - a premis:Fixity ; - fedora:status "SUCCESS"^^ ; - premis:hasMessageDigest ; - premis:hasSize "7162"^^ ; - premis:hasContentLocation . - - a premis:ContentLocation ; - premis:hasContentLocationValue "info://org.modeshape.jcr.value.binary.FileSystemBinaryStore@688492e5/app/jetty/fcrepo4-data/fcrepo.binary.directory#5eb6d58841f4196cc682ef1af3054dddacb6d40c"^^ . diff --git a/spec/fixtures/aip_download/9p2909328/data/objects/metadata/content_fcr_metadata.n3 b/spec/fixtures/aip_download/9p2909328/data/objects/metadata/content_fcr_metadata.n3 deleted file mode 100644 index 25c50d2..0000000 --- a/spec/fixtures/aip_download/9p2909328/data/objects/metadata/content_fcr_metadata.n3 +++ /dev/null @@ -1,63 +0,0 @@ -@prefix premis: . -@prefix nt: . -@prefix rdfs: . -@prefix ns004: . -@prefix ns003: . -@prefix ns002: . -@prefix ns001: . -@prefix xsi: . -@prefix ns008: . -@prefix mode: . -@prefix ns007: . -@prefix ns006: . -@prefix ns005: . -@prefix xml: . -@prefix ns009: . -@prefix fedoraconfig: . -@prefix mix: . -@prefix foaf: . -@prefix image: . -@prefix sv: . -@prefix test: . -@prefix ns011: . -@prefix ns010: . -@prefix ns015: . -@prefix ns014: . -@prefix ns013: . -@prefix ns012: . -@prefix rdf: . -@prefix fedora: . -@prefix ldp: . -@prefix xs: . -@prefix dc: . - - - a ldp:RDFSource , , , , , fedora:NonRdfSourceDescription , fedora:Resource , , fedora:Resource , , , , ; - fedora:lastModifiedBy "bypassAdmin"^^ ; - fedora:uuid "42c0f21d-c8a3-48bc-9d63-9b743689f734"^^ ; - fedora:createdBy "bypassAdmin"^^ ; - fedora:primaryType "nt:file"^^ ; - fedora:created "2017-05-16T21:26:56.51Z"^^ ; - fedora:mixinTypes "fedora:NonRdfSourceDescription"^^ , "fedora:Resource"^^ , "mix:versionable"^^ ; - fedora:lastModified "2017-05-16T21:26:56.715Z"^^ ; - fedora:writable "true"^^ ; - ; - fedora:hasParent . - - a , , , , fedora:Binary , fedora:Resource , , , ; - fedora:lastModifiedBy "bypassAdmin"^^ ; - fedora:uuid "d2f3d5ef-aa81-46de-9e08-3b762ad269e2"^^ ; - fedora:mimeType "application/pdf"^^ ; - fedora:digest ; - premis:hasSize "7162"^^ ; - fedora:createdBy "bypassAdmin"^^ ; - fedora:primaryType "nt:resource"^^ ; - fedora:created "2017-05-16T21:26:56.51Z"^^ ; - fedora:mixinTypes "fedora:Binary"^^ ; - fedora:lastModified "2017-05-16T21:26:56.51Z"^^ ; - premis:hasOriginalName "whatever.pdf"^^ ; - . - - fedora:hasVersions . - - fedora:hasFixityService . diff --git a/spec/fixtures/aip_download/9p2909328/data/objects/metadata/content_versions.n3 b/spec/fixtures/aip_download/9p2909328/data/objects/metadata/content_versions.n3 deleted file mode 100644 index 088aea2..0000000 --- a/spec/fixtures/aip_download/9p2909328/data/objects/metadata/content_versions.n3 +++ /dev/null @@ -1,38 +0,0 @@ -@prefix premis: . -@prefix nt: . -@prefix rdfs: . -@prefix ns004: . -@prefix ns003: . -@prefix ns002: . -@prefix ns001: . -@prefix xsi: . -@prefix ns008: . -@prefix mode: . -@prefix ns007: . -@prefix ns006: . -@prefix ns005: . -@prefix xml: . -@prefix ns009: . -@prefix fedoraconfig: . -@prefix mix: . -@prefix foaf: . -@prefix image: . -@prefix sv: . -@prefix test: . -@prefix ns011: . -@prefix ns010: . -@prefix ns015: . -@prefix ns014: . -@prefix ns013: . -@prefix ns012: . -@prefix rdf: . -@prefix fedora: . -@prefix ldp: . -@prefix xs: . -@prefix dc: . - - - fedora:hasVersion . - - fedora:hasVersionLabel "version1"^^ ; - fedora:created "2017-05-16T21:26:57.041Z"^^ . diff --git a/spec/fixtures/aip_download/9p2909328/data/objects/metadata/object_metadata.n3 b/spec/fixtures/aip_download/9p2909328/data/objects/metadata/object_metadata.n3 deleted file mode 100644 index 6568fde..0000000 --- a/spec/fixtures/aip_download/9p2909328/data/objects/metadata/object_metadata.n3 +++ /dev/null @@ -1,76 +0,0 @@ -@prefix premis: . -@prefix nt: . -@prefix rdfs: . -@prefix ns004: . -@prefix ns003: . -@prefix ns002: . -@prefix ns001: . -@prefix xsi: . -@prefix ns008: . -@prefix mode: . -@prefix ns007: . -@prefix ns006: . -@prefix ns005: . -@prefix xml: . -@prefix ns009: . -@prefix fedoraconfig: . -@prefix mix: . -@prefix foaf: . -@prefix image: . -@prefix sv: . -@prefix test: . -@prefix ns011: . -@prefix ns010: . -@prefix ns015: . -@prefix ns014: . -@prefix ns013: . -@prefix ns012: . -@prefix rdf: . -@prefix fedora: . -@prefix ldp: . -@prefix xs: . -@prefix dc: . - - - a ldp:RDFSource , ldp:Container , , , , , fedora:Container , fedora:Resource , fedora:Resource , , , ; - fedora:lastModifiedBy "bypassAdmin"^^ ; - ns001:createdDate "2017-05-16T21:26:37.782051115Z"^^ ; - ns001:downloadFilename "whatever.pdf"^^ ; - ns002:hasCollectionId "br86b356q"^^ ; - ns006:doi "doi:10.5072/FK29G5PB8V"^^ ; - ns004:isVersionOf ""^^ ; - fedora:createdBy "bypassAdmin"^^ ; - ns002:year_created "2017"^^ ; - fedora:created "2017-05-16T21:26:56.326Z"^^ ; - fedora:lastModified "2017-05-16T21:28:55.135Z"^^ ; - ns004:subject "Sarcasm"^^ ; - ns004:modified "2017-05-16T21:26:37.782051115Z"^^ ; - ns015:relativePath ""^^ ; - ns004:license "http://creativecommons.org/licenses/by/4.0/"^^ ; - fedora:uuid "22d19a70-fa3c-4944-9418-4c59e3893b87"^^ ; - ns004:rights ""^^ ; - ns001:hasModel "GenericFile"^^ ; - ns010:isPartOf ; - ns004:creator "Chris Want"^^ ; - ns003:dpt "dittest@ualberta.ca"^^ ; - fedora:primaryType "nt:folder"^^ ; - fedora:mixinTypes "fedora:Container"^^ , "fedora:Resource"^^ ; - ns004:created "2017/01/01"^^ ; - "available"^^ ; - ns002:belongsToCommunity "6682x392q"^^ ; - ns004:description "Test PDF"^^ ; - ns004:language "English"^^ ; - ns004:source ""^^ ; - ns004:title "Whatever"^^ ; - ns004:type "Book Chapter"^^ ; - ns002:hasCollection "Technical Reports"^^ ; - ns004:relation ""^^ ; - fedora:writable "true"^^ ; - fedora:hasParent ; - ldp:contains , , . - - dc:format . - - fedora:exportsAs . - - rdfs:label "jcr/xml"^^ . diff --git a/spec/fixtures/aip_download/9p2909328/data/objects/metadata/permission_e1910293-34b3-42bb-9179-f67f37eb145e.n3 b/spec/fixtures/aip_download/9p2909328/data/objects/metadata/permission_e1910293-34b3-42bb-9179-f67f37eb145e.n3 deleted file mode 100644 index 5b21fde..0000000 --- a/spec/fixtures/aip_download/9p2909328/data/objects/metadata/permission_e1910293-34b3-42bb-9179-f67f37eb145e.n3 +++ /dev/null @@ -1,54 +0,0 @@ -@prefix premis: . -@prefix nt: . -@prefix rdfs: . -@prefix ns004: . -@prefix ns003: . -@prefix ns002: . -@prefix ns001: . -@prefix xsi: . -@prefix ns008: . -@prefix mode: . -@prefix ns007: . -@prefix ns006: . -@prefix ns005: . -@prefix xml: . -@prefix ns009: . -@prefix fedoraconfig: . -@prefix mix: . -@prefix foaf: . -@prefix image: . -@prefix sv: . -@prefix test: . -@prefix ns011: . -@prefix ns010: . -@prefix ns015: . -@prefix ns014: . -@prefix ns013: . -@prefix ns012: . -@prefix rdf: . -@prefix fedora: . -@prefix ldp: . -@prefix xs: . -@prefix dc: . - - - a ldp:RDFSource , ldp:Container , , , , , fedora:Container , fedora:Resource , fedora:Resource , , , ; - ns005:accessTo ; - fedora:lastModifiedBy "bypassAdmin"^^ ; - fedora:uuid "d0bfd66b-64ae-4c73-9b8d-eaef81fe1394"^^ ; - fedora:createdBy "bypassAdmin"^^ ; - fedora:primaryType "nt:folder"^^ ; - fedora:created "2017-05-16T21:28:47.72Z"^^ ; - fedora:mixinTypes "fedora:Container"^^ , "fedora:Resource"^^ ; - fedora:lastModified "2017-05-16T21:28:47.72Z"^^ ; - ns005:mode ns005:Read ; - ns001:hasModel "Hydra::AccessControls::Permission"^^ ; - ns005:agent ; - fedora:writable "true"^^ ; - fedora:hasParent . - - dc:format . - - fedora:exportsAs . - - rdfs:label "jcr/xml"^^ . diff --git a/spec/fixtures/aip_download/9p2909328/data/objects/metadata/permission_ef4319c0-2f7a-44c0-b1b5-cd650aa4a075.n3 b/spec/fixtures/aip_download/9p2909328/data/objects/metadata/permission_ef4319c0-2f7a-44c0-b1b5-cd650aa4a075.n3 deleted file mode 100644 index d734710..0000000 --- a/spec/fixtures/aip_download/9p2909328/data/objects/metadata/permission_ef4319c0-2f7a-44c0-b1b5-cd650aa4a075.n3 +++ /dev/null @@ -1,53 +0,0 @@ -@prefix premis: . -@prefix nt: . -@prefix rdfs: . -@prefix ns004: . -@prefix ns003: . -@prefix ns002: . -@prefix ns001: . -@prefix xsi: . -@prefix ns008: . -@prefix mode: . -@prefix ns007: . -@prefix ns006: . -@prefix ns005: . -@prefix xml: . -@prefix ns009: . -@prefix fedoraconfig: . -@prefix mix: . -@prefix foaf: . -@prefix image: . -@prefix sv: . -@prefix test: . -@prefix ns011: . -@prefix ns010: . -@prefix ns015: . -@prefix ns014: . -@prefix ns013: . -@prefix ns012: . -@prefix rdf: . -@prefix fedora: . -@prefix ldp: . -@prefix xs: . -@prefix dc: . - - - a ldp:RDFSource , ldp:Container , , , , , fedora:Container , fedora:Resource , fedora:Resource , , , ; - ns005:accessTo ; - fedora:lastModifiedBy "bypassAdmin"^^ ; - fedora:uuid "73139ad6-d9d3-4e09-bc6a-639577686454"^^ ; - fedora:createdBy "bypassAdmin"^^ ; - fedora:primaryType "nt:folder"^^ ; - fedora:created "2017-05-16T21:28:47.376Z"^^ ; - fedora:mixinTypes "fedora:Container"^^ , "fedora:Resource"^^ ; - fedora:lastModified "2017-05-16T21:28:47.376Z"^^ ; - ns005:mode ns005:Read ; - ns001:hasModel "Hydra::AccessControls::Permission"^^ ; - ns005:agent ; - fedora:writable "true"^^ ; - fedora:hasParent ; - fedora:exportsAs . - - dc:format . - - rdfs:label "jcr/xml"^^ . diff --git a/spec/fixtures/aip_download/9p2909328/data/objects/metadata/permission_ffd40638-290a-41f7-bcb2-4e0e54fc3ffd.n3 b/spec/fixtures/aip_download/9p2909328/data/objects/metadata/permission_ffd40638-290a-41f7-bcb2-4e0e54fc3ffd.n3 deleted file mode 100644 index 83f59bd..0000000 --- a/spec/fixtures/aip_download/9p2909328/data/objects/metadata/permission_ffd40638-290a-41f7-bcb2-4e0e54fc3ffd.n3 +++ /dev/null @@ -1,53 +0,0 @@ -@prefix premis: . -@prefix nt: . -@prefix rdfs: . -@prefix ns004: . -@prefix ns003: . -@prefix ns002: . -@prefix ns001: . -@prefix xsi: . -@prefix ns008: . -@prefix mode: . -@prefix ns007: . -@prefix ns006: . -@prefix ns005: . -@prefix xml: . -@prefix ns009: . -@prefix fedoraconfig: . -@prefix mix: . -@prefix foaf: . -@prefix image: . -@prefix sv: . -@prefix test: . -@prefix ns011: . -@prefix ns010: . -@prefix ns015: . -@prefix ns014: . -@prefix ns013: . -@prefix ns012: . -@prefix rdf: . -@prefix fedora: . -@prefix ldp: . -@prefix xs: . -@prefix dc: . - - - a ldp:RDFSource , ldp:Container , , , , , fedora:Container , fedora:Resource , fedora:Resource , , , ; - ns005:accessTo ; - fedora:lastModifiedBy "bypassAdmin"^^ ; - fedora:uuid "5500b30e-8181-49b7-8322-6d71545942cf"^^ ; - fedora:createdBy "bypassAdmin"^^ ; - fedora:primaryType "nt:folder"^^ ; - fedora:created "2017-05-16T21:26:58.414Z"^^ ; - fedora:mixinTypes "fedora:Container"^^ , "fedora:Resource"^^ ; - fedora:lastModified "2017-05-16T21:26:58.414Z"^^ ; - ns005:mode ns005:Write ; - ns001:hasModel "Hydra::AccessControls::Permission"^^ ; - ns005:agent ; - fedora:writable "true"^^ ; - fedora:hasParent ; - fedora:exportsAs . - - dc:format . - - rdfs:label "jcr/xml"^^ . diff --git a/spec/fixtures/aip_download/9p2909328/data/objects/whatever.pdf b/spec/fixtures/aip_download/9p2909328/data/objects/whatever.pdf deleted file mode 100644 index dc9953c..0000000 Binary files a/spec/fixtures/aip_download/9p2909328/data/objects/whatever.pdf and /dev/null differ diff --git a/spec/fixtures/aip_download/9p2909328/data/thumbnails/thumbnail b/spec/fixtures/aip_download/9p2909328/data/thumbnails/thumbnail deleted file mode 100644 index ce5c7e4..0000000 Binary files a/spec/fixtures/aip_download/9p2909328/data/thumbnails/thumbnail and /dev/null differ diff --git a/spec/fixtures/config.yml b/spec/fixtures/config.yml index 52f57d9..f3a7ad0 100644 --- a/spec/fixtures/config.yml +++ b/spec/fixtures/config.yml @@ -1,5 +1,6 @@ # Dummy sample file for testing parsing of configuration file into PushmiPullyu +aip_version: 'lightaip-2.0' debug: true logdir: tmp/spec/log monitor: false @@ -13,9 +14,6 @@ rollbar: proxy_host: 'your_proxy_url' proxy_port: '80' -solr: - url: http://www.example.com:8983/solr/test - fedora: url: http://www.example.com:8080/fcrepo/rest base_path: '/test' diff --git a/spec/integration/acceptance_spec.rb b/spec/integration/acceptance_spec.rb index 34b2951..3e91b78 100644 --- a/spec/integration/acceptance_spec.rb +++ b/spec/integration/acceptance_spec.rb @@ -2,7 +2,7 @@ RSpec.describe 'Acceptance test', type: :feature do let(:workdir) { 'tmp/spec' } - let(:noid) { '9p2909328' } + let(:noid) { '6841cece-41f1-4edf-ab9a-59459a127c77' } let(:aip_folder) { "#{workdir}/#{noid}" } let(:aip_file) { "#{aip_folder}.tar" } let(:log_folder) { "#{workdir}/log" } @@ -18,6 +18,8 @@ FileUtils.mkdir_p(log_folder) allow(PushmiPullyu::Logging.logger).to receive(:info) + allow(PushmiPullyu::AIP::User) + .to receive(:find).with(2705).and_return(OpenStruct.new(email: 'admin@example.com')) end after do @@ -27,7 +29,7 @@ end # this is basically testing exactly what the `PushmiPullyu::CLI#run_preservation_cycle` method does - it 'successfully gets NOID off queue, fetches data from fedora/solr, creates AIP and uploads to Swift' do + it 'successfully gets NOID off queue, fetches data from fedora/database, creates AIP and uploads to Swift' do cli = PushmiPullyu::CLI.instance cli.parse(['-C', 'spec/fixtures/config.yml', '-W', workdir]) diff --git a/spec/pushmi_pullyu/aip/creator_spec.rb b/spec/pushmi_pullyu/aip/creator_spec.rb index e576b03..a065a50 100644 --- a/spec/pushmi_pullyu/aip/creator_spec.rb +++ b/spec/pushmi_pullyu/aip/creator_spec.rb @@ -1,14 +1,15 @@ require 'spec_helper' +require 'timecop' RSpec.describe PushmiPullyu::AIP::Creator do let(:workdir) { 'tmp/creator_spec' } - let(:noid) { '9p2909328' } + let(:noid) { '6841cece-41f1-4edf-ab9a-59459a127c77' } let(:aip_file) { "#{aip_folder}.tar" } let(:aip_folder) { "#{workdir}/#{noid}" } let(:creator) { PushmiPullyu::AIP::Creator.new(noid, aip_folder, aip_file) } before do - allow(PushmiPullyu).to receive(:options) { { workdir: workdir } } + allow(PushmiPullyu).to receive(:options) { { workdir: workdir, aip_version: 'lightaip-2.0' } } FileUtils.mkdir_p(workdir) FileUtils.cp_r("spec/fixtures/aip_download/#{noid}", workdir) end @@ -44,43 +45,79 @@ expect(File.exist?("#{aip_folder}/bagit.txt")).to eq(true) expect(File.exist?("#{aip_folder}/bag-info.txt")).to eq(true) - # The downloaded AIP should have 5 directories and 11 files including the log, - # bagging should add the above 6 files, so 22 total files/directories + # The downloaded AIP should have 16 directories and 15 files including the log + # (see the downloader_spec for more elaboration about this), + # bagging should add the above 6 files, so 37 total files/directories # (see also file count test in creator spec) - expect(Dir["#{aip_folder}/**/*"].length).to eq(22) + expect(Dir["#{aip_folder}/**/*"].length).to eq(37) end - it 'the created manifest is correct' do + it 'creates a correct manifest' do creator.run lines = File.readlines("#{aip_folder}/manifest-sha1.txt").map(&:strip).sort - expect(lines.length).to eq(11) + # 15 files in the bag + expect(lines.length).to eq(15) # We can't know the sha1 of the aipcreation.log in advance (timestamps are recorded) sha1 = Digest::SHA1.file("#{aip_folder}/data/logs/aipcreation.log").hexdigest expected_file_sums = - ['e22815d17cdf02a044c25ba120360b43e4af8d28 data/thumbnails/thumbnail', - '570b43680370ae15f458ce45192986c2f24970d9 data/objects/metadata/content_versions.n3', - 'c3769541388b1cd557185e43bb20ddf662e63546 data/logs/content_fixity_report.n3', + ['c4cf94314f09bbbb13e0b7d01023b77cb3c533d9 '\ + 'data/logs/files_logs/01bb1b09-974d-478b-8826-2c606a447606/content_fixity_report.n3', + '3231d2c4345426655bdae4b9060ca3d8e422004c '\ + 'data/logs/files_logs/837977d6-de61-49ea-a912-a65af5c9005e/content_fixity_report.n3', + 'c2e0cfbab6558fca5364978e9f5af098746b881f '\ + 'data/logs/files_logs/856444b6-8dd5-4dfa-857d-435e354a2ead/content_fixity_report.n3', "#{sha1} data/logs/aipcreation.log", - '7c01bc0cd2fe9741ab76f2a171f1383704b60816 data/logs/content_characterization.n3', + 'c989727f21d6b62f17836007a8d1c59bcedb9b7a '\ + 'data/objects/metadata/object_metadata.n3', + '027e59b14f9df9cb973729d36b4f12047deb0871 '\ + 'data/objects/metadata/files_metadata/file_order.xml', + '0b9d190afaab8577424789cecd74b824cd2ae81d '\ + 'data/objects/metadata/files_metadata/01bb1b09-974d-478b-8826-2c606a447606/file_set_metadata.n3', + '94866e6490673a524888dee6acf5b85c81458a03 '\ + 'data/objects/metadata/files_metadata/01bb1b09-974d-478b-8826-2c606a447606/original_file_metadata.n3', + '442a1f64a3bd05884020a9b70fbd17752ed13e12 '\ + 'data/objects/metadata/files_metadata/837977d6-de61-49ea-a912-a65af5c9005e/file_set_metadata.n3', + '254587e16e46846e5428ba989526bc1c08ecdb47 '\ + 'data/objects/metadata/files_metadata/837977d6-de61-49ea-a912-a65af5c9005e/original_file_metadata.n3', + '7083d7bca4650aec59920e5e8b90a85667ecc5d6 '\ + 'data/objects/metadata/files_metadata/856444b6-8dd5-4dfa-857d-435e354a2ead/file_set_metadata.n3', + '30604fd556c96aac01abddf1e8b4e0369fc90ba5 '\ + 'data/objects/metadata/files_metadata/856444b6-8dd5-4dfa-857d-435e354a2ead/original_file_metadata.n3', + '9ea739a91eff6ba99e0227e3a909436d1dfd7ca7 '\ + 'data/objects/files/01bb1b09-974d-478b-8826-2c606a447606/theses.jpg', + 'e559f7cea3fc307524bccdedb6d012a30b4e6c86 '\ + 'data/objects/files/837977d6-de61-49ea-a912-a65af5c9005e/image-sample.jpeg', + '49b1dc60dc20a270cf59ee04a564393bba2bf6c8 '\ + 'data/objects/files/856444b6-8dd5-4dfa-857d-435e354a2ead/era-logo.png'].sort - '5d88a0382091a3fb4fd974590b1819ec53d2f9ad '\ - 'data/objects/metadata/permission_e1910293-34b3-42bb-9179-f67f37eb145e.n3', - - 'fc41debcd250c808f7c90a7e7eac6eb53198e160 data/objects/metadata/object_metadata.n3', - - '422c4247a3460cfe10e082efe53d63a349a76439 '\ - 'data/objects/metadata/permission_ffd40638-290a-41f7-bcb2-4e0e54fc3ffd.n3', + expect(lines).to eq(expected_file_sums) + end - 'cd5825971cf2bc737b21c2e30b1d01d3ecebcfa7 '\ - 'data/objects/metadata/permission_ef4319c0-2f7a-44c0-b1b5-cd650aa4a075.n3', + it 'creates the correct bag metadata' do + now = Time.now + Timecop.freeze(now) - '50b065c7cf19ed3e282a2a98b70f6e9429cc56ea data/objects/metadata/content_fcr_metadata.n3', - '5eb6d58841f4196cc682ef1af3054dddacb6d40c data/objects/whatever.pdf'].sort + creator.run - expect(lines).to eq(expected_file_sums) + lines = File.readlines("#{aip_folder}/bag-info.txt").map(&:strip).sort + + expect(lines.length).to eq(4) + + lines.each do |line| + (key, value) = line.split(': ') + if key == 'AIP-Version' + expect(value).to eq('lightaip-2.0') + elsif key == 'Bagging-Date' + expect(value).to eq(now.strftime('%F')) + else + # Don't care about the values for these ones + expect(['Bag-Software-Agent', 'Payload-Oxum'].include?(key)).to eq(true) + end + end + Timecop.return end end end diff --git a/spec/pushmi_pullyu/aip/downloader_spec.rb b/spec/pushmi_pullyu/aip/downloader_spec.rb index d64f977..0fc6aba 100644 --- a/spec/pushmi_pullyu/aip/downloader_spec.rb +++ b/spec/pushmi_pullyu/aip/downloader_spec.rb @@ -8,9 +8,15 @@ base_path: '/test', user: 'fedoraAdmin', password: 'fedoraAdmin' }, - solr: { url: 'http://www.example.com:8983/solr/test' } } + # This next one isn't really used, see mock of PushmiPullyu::AIP::User.find below + database: { url: 'postgresql://jupiter:mysecretpassword@127.0.0.1/jupiter_test?pool=5' } } + end + let(:noid) { '6841cece-41f1-4edf-ab9a-59459a127c77' } + let(:file_set_uuids) do + ['01bb1b09-974d-478b-8826-2c606a447606', + '837977d6-de61-49ea-a912-a65af5c9005e', + '856444b6-8dd5-4dfa-857d-435e354a2ead'] end - let(:noid) { '9p2909328' } let(:aip_folder) { "#{workdir}/#{noid}" } let(:downloader) { PushmiPullyu::AIP::Downloader.new(noid, aip_folder) } @@ -19,6 +25,8 @@ allow(PushmiPullyu.logger).to receive(:debug) allow(PushmiPullyu).to receive(:options) { options } FileUtils.mkdir_p(workdir) + allow(PushmiPullyu::AIP::User) + .to receive(:find).with(2705).and_return(OpenStruct.new(email: 'admin@example.com')) end after do @@ -37,41 +45,55 @@ # Now it exists expect(File.exist?(aip_folder)).to eq(true) - # 5 directories exist? - ['tmp/downloader_spec/9p2909328/data', - 'tmp/downloader_spec/9p2909328/data/objects', - 'tmp/downloader_spec/9p2909328/data/objects/metadata', - 'tmp/downloader_spec/9p2909328/data/logs', - 'tmp/downloader_spec/9p2909328/data/thumbnails'].each do |dir| + # 16 folders exist + folders = + ["tmp/downloader_spec/#{noid}/data", + "tmp/downloader_spec/#{noid}/data/logs", + "tmp/downloader_spec/#{noid}/data/logs/files_logs", + "tmp/downloader_spec/#{noid}/data/logs/files_logs/#{file_set_uuids[0]}", + "tmp/downloader_spec/#{noid}/data/logs/files_logs/#{file_set_uuids[1]}", + "tmp/downloader_spec/#{noid}/data/logs/files_logs/#{file_set_uuids[2]}", + "tmp/downloader_spec/#{noid}/data/objects", + "tmp/downloader_spec/#{noid}/data/objects/metadata", + "tmp/downloader_spec/#{noid}/data/objects/metadata/files_metadata", + "tmp/downloader_spec/#{noid}/data/objects/metadata/files_metadata/#{file_set_uuids[0]}", + "tmp/downloader_spec/#{noid}/data/objects/metadata/files_metadata/#{file_set_uuids[1]}", + "tmp/downloader_spec/#{noid}/data/objects/metadata/files_metadata/#{file_set_uuids[2]}", + "tmp/downloader_spec/#{noid}/data/objects/files", + "tmp/downloader_spec/#{noid}/data/objects/files/#{file_set_uuids[0]}", + "tmp/downloader_spec/#{noid}/data/objects/files/#{file_set_uuids[1]}", + "tmp/downloader_spec/#{noid}/data/objects/files/#{file_set_uuids[2]}"] + + folders.each do |dir| expect(File.exist?(dir)).to eq(true) end - # 11 files exist? - ['tmp/downloader_spec/9p2909328/data/objects/whatever.pdf', - 'tmp/downloader_spec/9p2909328/data/objects/metadata/content_versions.n3', - 'tmp/downloader_spec/9p2909328/data/logs/aipcreation.log', - 'tmp/downloader_spec/9p2909328/data/logs/content_fixity_report.n3', - 'tmp/downloader_spec/9p2909328/data/logs/content_characterization.n3', - 'tmp/downloader_spec/9p2909328/data/objects/metadata/object_metadata.n3', - - 'tmp/downloader_spec/9p2909328/data/objects/metadata/'\ - 'permission_e1910293-34b3-42bb-9179-f67f37eb145e.n3', - - 'tmp/downloader_spec/9p2909328/data/objects/metadata/'\ - 'permission_ffd40638-290a-41f7-bcb2-4e0e54fc3ffd.n3', - - 'tmp/downloader_spec/9p2909328/data/objects/metadata/'\ - 'permission_ef4319c0-2f7a-44c0-b1b5-cd650aa4a075.n3', - - 'tmp/downloader_spec/9p2909328/data/objects/metadata/'\ - 'content_fcr_metadata.n3', - - 'tmp/downloader_spec/9p2909328/data/thumbnails/thumbnail'].each do |file| + # 15 files exist + files = + ["tmp/downloader_spec/#{noid}/data/logs/aipcreation.log", + "tmp/downloader_spec/#{noid}/data/logs/files_logs/#{file_set_uuids[0]}/content_fixity_report.n3", + "tmp/downloader_spec/#{noid}/data/logs/files_logs/#{file_set_uuids[1]}/content_fixity_report.n3", + "tmp/downloader_spec/#{noid}/data/logs/files_logs/#{file_set_uuids[2]}/content_fixity_report.n3", + "tmp/downloader_spec/#{noid}/data/objects/metadata/object_metadata.n3", + "tmp/downloader_spec/#{noid}/data/objects/metadata/files_metadata/file_order.xml", + "tmp/downloader_spec/#{noid}/data/objects/metadata/files_metadata/#{file_set_uuids[0]}/file_set_metadata.n3", + "tmp/downloader_spec/#{noid}/data/objects/metadata/files_metadata/#{file_set_uuids[0]}/"\ + 'original_file_metadata.n3', + "tmp/downloader_spec/#{noid}/data/objects/metadata/files_metadata/#{file_set_uuids[1]}/file_set_metadata.n3", + "tmp/downloader_spec/#{noid}/data/objects/metadata/files_metadata/#{file_set_uuids[1]}/"\ + 'original_file_metadata.n3', + "tmp/downloader_spec/#{noid}/data/objects/metadata/files_metadata/#{file_set_uuids[2]}/file_set_metadata.n3", + "tmp/downloader_spec/#{noid}/data/objects/metadata/files_metadata/#{file_set_uuids[2]}/"\ + 'original_file_metadata.n3', + "tmp/downloader_spec/#{noid}/data/objects/files/#{file_set_uuids[0]}/theses.jpg", + "tmp/downloader_spec/#{noid}/data/objects/files/#{file_set_uuids[1]}/image-sample.jpeg", + "tmp/downloader_spec/#{noid}/data/objects/files/#{file_set_uuids[2]}/era-logo.png"] + files.each do |file| expect(File.exist?(file)).to eq(true) end - # 16 files and directories total were created - expect(Dir['tmp/downloader_spec/9p2909328/**/*'].length).to eq(16) + # 31 files and directories total were created + expect(Dir["tmp/downloader_spec/#{noid}/**/*"].sort).to eq((folders + files).sort) end end end diff --git a/spec/pushmi_pullyu/aip/fedora_fetcher_spec.rb b/spec/pushmi_pullyu/aip/fedora_fetcher_spec.rb index f7422a9..16d9977 100644 --- a/spec/pushmi_pullyu/aip/fedora_fetcher_spec.rb +++ b/spec/pushmi_pullyu/aip/fedora_fetcher_spec.rb @@ -13,7 +13,9 @@ fedora: { url: 'http://www.example.com:8080/fcrepo/rest', base_path: '/test', user: 'gollum', - password: 'iH8zH0bb1tzeZ' } + password: 'iH8zH0bb1tzeZ' }, + # This next one isn't really used, see mock of PushmiPullyu::AIP::User.find below + database: { url: 'postgresql://jupiter:mysecretpassword@127.0.0.1/jupiter_test?pool=5' } ) end @@ -37,6 +39,51 @@ expect(File.exist?(download_path)).to eq(true) end + it "doesn't change owners by default" do + VCR.use_cassette('fedora_fetcher_owner') do + expect(fedora_fetcher.download_object(download_path)).to eq(true) + end + graph = RDF::Graph.load(download_path) + owner = nil + graph.query(predicate: RDF::URI('http://purl.org/ontology/bibo/owner')) do |statement| + owner = statement.object + end + expect(owner.to_i).to eq(2705) + end + + it 'changes owners as an option' do + allow(PushmiPullyu::AIP::User) + .to receive(:find).with(2705).and_return(OpenStruct.new(email: 'admin@example.com')) + + VCR.use_cassette('fedora_fetcher_owner') do + expect(fedora_fetcher.download_object(download_path, should_add_user_email: true)).to eq(true) + end + graph = RDF::Graph.load(download_path) + owner = nil + graph.query(predicate: RDF::URI('http://purl.org/ontology/bibo/owner')) do |statement| + owner = statement.object + end + expect(owner.to_s).to eq('admin@example.com') + end + + it "raises an error if the owner can't be fetched" do + allow(PushmiPullyu::AIP::User) + .to receive(:find).with(2705).and_raise(ActiveRecord::RecordNotFound) + + VCR.use_cassette('fedora_fetcher_owner') do + expect { fedora_fetcher.download_object(download_path, should_add_user_email: true) } + .to raise_error(ActiveRecord::RecordNotFound) + end + end + + it 'raises an error if no owner is found' do + # cassette fedora_fetcher_200 has no owner predicate + VCR.use_cassette('fedora_fetcher_200') do + expect { fedora_fetcher.download_object(download_path, should_add_user_email: true) } + .to raise_error(PushmiPullyu::AIP::OwnerEmailEditor::NoOwnerPredicate) + end + end + it 'raises an error on an object with a bad noid' do VCR.use_cassette('fedora_fetcher_404') do expect { fedora_fetcher_404.download_object(download_path) } diff --git a/spec/pushmi_pullyu/aip/owner_email_editor_spec.rb b/spec/pushmi_pullyu/aip/owner_email_editor_spec.rb new file mode 100644 index 0000000..269ce0c --- /dev/null +++ b/spec/pushmi_pullyu/aip/owner_email_editor_spec.rb @@ -0,0 +1,66 @@ +require 'spec_helper' + +RSpec.describe PushmiPullyu::AIP::OwnerEmailEditor do + let(:noid) { '6841cece-41f1-4edf-ab9a-59459a127c77' } + let(:fedora_fetcher) { PushmiPullyu::AIP::FedoraFetcher.new(noid) } + let(:workdir) { 'tmp/owner_email_editor_spec' } + let(:download_path) { "#{workdir}/newobject.n3" } + let(:output_path) { "#{workdir}/modifiedobject.n3" } + + before do + FileUtils.mkdir_p(workdir) + allow(PushmiPullyu).to receive(:options).and_return( + fedora: { url: 'http://www.example.com:8080/fcrepo/rest', + base_path: '/test', + user: 'gollum', + password: 'iH8zH0bb1tzeZ' }, + # This next one isn't really used, see mock of PushmiPullyu::AIP::User.find below + database: { url: 'postgresql://jupiter:mysecretpassword@127.0.0.1/jupiter_test?pool=5' } + ) + allow(PushmiPullyu::AIP::User) + .to receive(:find).with(2705).and_return(OpenStruct.new(email: 'admin@example.com')) + end + + after do + FileUtils.rm_rf(workdir) + end + + it 'edits the owner triple, but keeps everything else unchanged' do + VCR.use_cassette('aip_downloader_run') do + expect(fedora_fetcher.download_object(download_path)).to eq(true) + end + + input_rdf = File.read(download_path) + output_rdf = PushmiPullyu::AIP::OwnerEmailEditor.new(input_rdf).run + + # It bothers me that I have to load a graph from file/URI, but can't from a string + File.open(output_path, 'w') { |file| file.write(output_rdf) } + input_graph = RDF::Graph.load(download_path) + output_graph = RDF::Graph.load(output_path) + + expect(input_graph.count).to eq(54) + expect(output_graph.count).to eq(54) + + statements_matched = 0 + input_graph.each_statement do |input_statement| + if input_statement.predicate == RDF::URI('http://purl.org/ontology/bibo/owner') + # If it's the owner predicate, it has been changed ... + output_graph.query(subject: input_statement.subject, + predicate: input_statement.predicate) do |output_statement| + statements_matched += 1 + expect(input_statement.object.to_i).to eq(2705) + expect(output_statement.object.to_s).to eq('admin@example.com') + end + else + # ... otherwise an identical statement is in the output + output_graph.query(subject: input_statement.subject, + predicate: input_statement.predicate, + object: input_statement.object) do |_output_statement| + statements_matched += 1 + end + end + end + + expect(statements_matched).to eq(54) + end +end diff --git a/spec/pushmi_pullyu/aip/solr_fetcher_spec.rb b/spec/pushmi_pullyu/aip/solr_fetcher_spec.rb deleted file mode 100644 index 6dbe60f..0000000 --- a/spec/pushmi_pullyu/aip/solr_fetcher_spec.rb +++ /dev/null @@ -1,31 +0,0 @@ -require 'spec_helper' - -RSpec.describe PushmiPullyu::AIP::SolrFetcher do - let(:noid) { '9p2909328' } - let(:solr_fetcher) { PushmiPullyu::AIP::SolrFetcher.new(noid) } - let(:solr_fetcher_404) { PushmiPullyu::AIP::SolrFetcher.new('ohnoimbad') } - - before do - allow(PushmiPullyu).to receive(:options).and_return( - solr: { url: 'http://www.example.com:8983/solr/test' } - ) - end - - describe '#fetch_permission_object_ids' do - it 'gets a permission object with a correct noid' do - VCR.use_cassette('solr_fetcher_200') do - permission_objects = solr_fetcher.fetch_permission_object_ids - - expect(permission_objects).to be_an_instance_of(Array) - expect(permission_objects.count).to eq(3) - end - end - - it 'raises an error on a permission object with a bad noid' do - VCR.use_cassette('solr_fetcher_404') do - expect { solr_fetcher_404.fetch_permission_object_ids } - .to raise_error(PushmiPullyu::AIP::SolrFetcher::SolrFetchError) - end - end - end -end diff --git a/spec/support/http_cache/vcr/aip_download_and_swift_upload.yml b/spec/support/http_cache/vcr/aip_download_and_swift_upload.yml index 914900d..cece51c 100644 --- a/spec/support/http_cache/vcr/aip_download_and_swift_upload.yml +++ b/spec/support/http_cache/vcr/aip_download_and_swift_upload.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: http://www.example.com:8080/fcrepo/rest/test/9p/29/09/32/9p2909328 + uri: http://www.example.com:8080/fcrepo/rest/test/68/41/ce/ce/6841cece-41f1-4edf-ab9a-59459a127c77 body: encoding: US-ASCII string: '' @@ -20,12 +20,12 @@ http_interactions: response: status: code: 200 - message: OK + message: '' headers: Etag: - - '"1539d6331ef8a9b918b8b748fdd4f9593111f5de"' + - W/"4238732dd789ae249c0201fa7e124dfa78e5fce2" Last-Modified: - - Tue, 16 May 2017 21:28:55 GMT + - Fri, 09 Mar 2018 18:53:38 GMT Link: - ;rel="type" - ;rel="type" @@ -33,7 +33,7 @@ http_interactions: Accept-Patch: - application/sparql-update Accept-Post: - - text/turtle,text/rdf+n3,text/n3,application/rdf+xml,application/n-triples,multipart/form-data,application/sparql-update + - text/turtle,text/rdf+n3,text/n3,application/rdf+xml,application/n-triples,application/ld+json,multipart/form-data,application/sparql-update Allow: - MOVE,COPY,DELETE,POST,HEAD,GET,PUT,PATCH,OPTIONS Preference-Applied: @@ -41,140 +41,204 @@ http_interactions: Vary: - Accept, Range, Accept-Encoding, Accept-Language - Prefer - Content-Length: - - '5694' Content-Type: - - text/rdf+n3 + - text/rdf+n3;charset=utf-8 + Content-Length: + - '7518' + Date: + - Fri, 16 Mar 2018 21:06:20 GMT body: encoding: UTF-8 - string: "@prefix premis: .\n@prefix nt: - .\n@prefix rdfs: - .\n@prefix ns004: .\n@prefix ns003: - .\n@prefix ns002: .\n@prefix - ns001: .\n@prefix xsi: - .\n@prefix ns008: .\n@prefix mode: - .\n@prefix ns007: .\n@prefix ns006: - .\n@prefix ns005: - .\n@prefix xml: .\n@prefix ns009: - .\n@prefix fedoraconfig: .\n@prefix - mix: .\n@prefix foaf: - .\n@prefix image: .\n@prefix sv: - .\n@prefix test: .\n@prefix ns011: - .\n@prefix ns010: .\n@prefix - ns015: .\n@prefix ns014: - .\n@prefix ns013: .\n@prefix ns012: - .\n@prefix rdf: .\n@prefix fedora: - .\n@prefix ldp: - .\n@prefix xs: .\n@prefix dc: - .\n\n\n - a ldp:RDFSource , ldp:Container , , - , - , , fedora:Container , fedora:Resource - , fedora:Resource , , - , ;\n\tfedora:lastModifiedBy - \"bypassAdmin\"^^ ;\n\tns001:createdDate - \"2017-05-16T21:26:37.782051115Z\"^^ - ;\n\tns001:downloadFilename \"whatever.pdf\"^^ - ;\n\tns002:hasCollectionId \"br86b356q\"^^ - ;\n\tns006:doi \"doi:10.5072/FK29G5PB8V\"^^ - ;\n\tns004:isVersionOf \"\"^^ ;\n\tfedora:createdBy - \"bypassAdmin\"^^ ;\n\tns002:year_created - \"2017\"^^ ;\n\tfedora:created \"2017-05-16T21:26:56.326Z\"^^ - ;\n\tfedora:lastModified \"2017-05-16T21:28:55.135Z\"^^ - ;\n\tns004:subject \"Sarcasm\"^^ - ;\n\tns004:modified \"2017-05-16T21:26:37.782051115Z\"^^ - ;\n\tns015:relativePath \"\"^^ ;\n\tns004:license - \"http://creativecommons.org/licenses/by/4.0/\"^^ - ;\n\tfedora:uuid \"22d19a70-fa3c-4944-9418-4c59e3893b87\"^^ - ;\n\tns004:rights \"\"^^ ;\n\tns001:hasModel - \"GenericFile\"^^ ;\n\tns010:isPartOf - ;\n\tns004:creator - \"Chris Want\"^^ ;\n\tns003:dpt \"dittest@ualberta.ca\"^^ - ;\n\tfedora:primaryType \"nt:folder\"^^ - ;\n\tfedora:mixinTypes \"fedora:Container\"^^ - , \"fedora:Resource\"^^ ;\n\tns004:created - \"2017/01/01\"^^ ;\n\t - \"available\"^^ ;\n\tns002:belongsToCommunity - \"6682x392q\"^^ ;\n\tns004:description - \"Test PDF\"^^ ;\n\tns004:language - \"English\"^^ ;\n\tns004:source \"\"^^ - ;\n\tns004:title \"Whatever\"^^ ;\n\tns004:type - \"Book Chapter\"^^ ;\n\tns002:hasCollection - \"Technical Reports\"^^ ;\n\tns004:relation - \"\"^^ ;\n\tfedora:writable \"true\"^^ - ;\n\tfedora:hasParent ;\n\tldp:contains - - , - , - .\n\n - dc:format .\n\n - fedora:exportsAs - .\n\n rdfs:label \"jcr/xml\"^^ - .\n" - http_version: - recorded_at: Tue, 16 May 2017 21:47:14 GMT + string: | + @prefix premis: . + @prefix rdfs: . + @prefix ns004: . + @prefix ns003: . + @prefix ns002: . + @prefix xsi: . + @prefix ns001: . + @prefix ns008: . + @prefix ns007: . + @prefix ns006: . + @prefix xmlns: . + @prefix ns005: . + @prefix xml: . + @prefix ns009: . + @prefix fedoraconfig: . + @prefix foaf: . + @prefix test: . + @prefix ns011: . + @prefix ns010: . + @prefix ns015: . + @prefix ns014: . + @prefix ns013: . + @prefix ns012: . + @prefix ns019: . + @prefix ns018: . + @prefix ns017: . + @prefix ns016: . + @prefix fedora: . + @prefix rdf: . + @prefix ebucore: . + @prefix ldp: . + @prefix xs: . + @prefix dc: . + + + a ldp:RDFSource , fedora:Resource , fedora:Container , ldp:Container , ns005:Object , ns002:Thesis ; + fedora:created "2018-03-09T18:53:29.983Z"^^ ; + fedora:createdBy "bypassAdmin"^^ ; + fedora:hasParent ; + fedora:lastModified "2018-03-09T18:53:38.862Z"^^ ; + fedora:lastModifiedBy "bypassAdmin"^^ ; + fedora:writable "true"^^ ; + ns013:institution "http://id.loc.gov/authorities/names/n79058482"^^ ; + ns005:hasMember , , ; + ns005:memberOf , ; + ns012:doi "doi:bogus-2018-03-09T18:53:23.145Z"^^ ; + dc:rights "Share my stuff with everybody"^^ ; + dc:subject "Dog"^^ , "Mondo"^^ ; + ns003:abstract "In corrupti laboriosam delectus quisquam dolores possimus eveniet rerum dolores soluta vero et minima illo velit quam tenetur harum ut"^^ ; + ns003:accessRights "http://terms.library.ualberta.ca/public"^^ ; + ns003:alternative "A full, holistic, dog-tastic approach"^^ ; + ns003:isVersionOf "The original laserdisc series from Orange-on-a-Blue-Background studios"^^ , "The CDROM titled 'Dogs!'"^^ ; + ns003:language "http://id.loc.gov/vocabulary/iso639-2/eng"^^ ; + ns003:title "An über-thesis about the effects of Samuel Smith’s Imperial IPA on dogs"^^ ; + ns002:degree "Master's of Marketing"^^ ; + ns002:owner 2705 ; + ns010:commiteeMember "I. Ron Stomach (Marketing)"^^ , "Howard I. No (Department of Everything)"^^ ; + ns010:department "Deparment of Marketing"^^ , "Department of Everything"^^ ; + ns010:departmentList "[\"Deparment of Marketing\",\"Department of Everything\"]"^^ ; + ns010:dissertant "Missy Sokoke"^^ ; + ns010:graduationDate "Fall 1976"^^ ; + ns010:path "86cf34a4-74f5-426b-a868-0e3686efee9c/f2667e8a-cfaa-4002-9246-35105f6325d4"^^ , "86cf34a4-74f5-426b-a868-0e3686efee9c/944b07fe-f0c5-497e-87de-24735fd4810e"^^ ; + ns010:recordCreatedInJupiter "2018-03-09T18:53:29.839Z"^^ ; + ns010:sortYear "1976"^^ ; + ns010:specialization "Marketing"^^ ; + ns010:supervisor "I. Ron Stomach (Department of Everything)"^^ , "Pepe C. Cola (Marketing)"^^ ; + ns010:supervisorList "[\"Pepe C. Cola (Marketing)\",\"I. Ron Stomach (Department of Everything)\"]"^^ ; + ns010:thesisLevel "Master's"^^ ; + ebucore:dateIngested "2018-03-09T18:53:29.839Z"^^ ; + ns014:first ; + ns014:last ; + ldp:contains , , ; + ns001:hasModel "IRThesis"^^ . + http_version: + recorded_at: Fri, 16 Mar 2018 21:06:20 GMT - request: method: get - uri: http://www.example.com:8080/fcrepo/rest/test/9p/29/09/32/9p2909328/content/fcr:fixity + uri: http://www.example.com:8080/fcrepo/rest/test/68/41/ce/ce/6841cece-41f1-4edf-ab9a-59459a127c77/list_source body: encoding: US-ASCII string: '' headers: + Accept: + - text/n3, text/rdf+n3;q=0.2, application/rdf+n3;q=0.2, application/n-triples, + text/plain;q=0.2, */*;q=0.1 Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - text/rdf+n3 User-Agent: - Ruby - Host: - - www.example.com:8080 - Authorization: - - Basic ZmVkb3JhQWRtaW46ZmVkb3JhQWRtaW4= response: status: code: 200 - message: OK + message: '' headers: - Content-Length: - - '2868' + Etag: + - W/"e3e778a3e6ad71b79c130bb60c29f904f58a90ea" + Last-Modified: + - Fri, 09 Mar 2018 18:53:38 GMT + Link: + - ;rel="type" + - ;rel="type" + - ;rel="type" + Accept-Patch: + - application/sparql-update + Accept-Post: + - text/turtle,text/rdf+n3,text/n3,application/rdf+xml,application/n-triples,application/ld+json,multipart/form-data,application/sparql-update + Allow: + - MOVE,COPY,DELETE,POST,HEAD,GET,PUT,PATCH,OPTIONS + Preference-Applied: + - return=representation + Vary: + - Accept, Range, Accept-Encoding, Accept-Language + - Prefer Content-Type: - - text/rdf+n3 + - text/n3;charset=utf-8 + Content-Length: + - '5176' + Date: + - Fri, 16 Mar 2018 21:06:20 GMT body: encoding: UTF-8 - string: "@prefix premis: .\n@prefix nt: - .\n@prefix rdfs: - .\n@prefix ns004: .\n@prefix ns003: - .\n@prefix ns002: .\n@prefix - ns001: .\n@prefix xsi: - .\n@prefix ns008: .\n@prefix mode: - .\n@prefix ns007: .\n@prefix ns006: - .\n@prefix ns005: - .\n@prefix xml: .\n@prefix ns009: - .\n@prefix fedoraconfig: .\n@prefix - mix: .\n@prefix foaf: - .\n@prefix image: .\n@prefix sv: - .\n@prefix test: .\n@prefix ns011: - .\n@prefix ns010: .\n@prefix - ns015: .\n@prefix ns014: - .\n@prefix ns013: .\n@prefix ns012: - .\n@prefix rdf: .\n@prefix fedora: - .\n@prefix ldp: - .\n@prefix xs: .\n@prefix dc: - .\n\n\n - premis:hasFixity - .\n\n - a premis:Fixity ;\n\tfedora:status \"SUCCESS\"^^ - ;\n\tpremis:hasMessageDigest - ;\n\tpremis:hasSize \"7162\"^^ ;\n\tpremis:hasContentLocation - - .\n\n - a premis:ContentLocation ;\n\tpremis:hasContentLocationValue \"info://org.modeshape.jcr.value.binary.FileSystemBinaryStore@688492e5/app/jetty/fcrepo4-data/fcrepo.binary.directory#5eb6d58841f4196cc682ef1af3054dddacb6d40c\"^^ - .\n" - http_version: - recorded_at: Tue, 16 May 2017 21:47:14 GMT + string: | + @prefix premis: . + @prefix rdfs: . + @prefix ns004: . + @prefix ns003: . + @prefix ns002: . + @prefix xsi: . + @prefix ns001: . + @prefix ns008: . + @prefix ns007: . + @prefix ns006: . + @prefix xmlns: . + @prefix ns005: . + @prefix xml: . + @prefix ns009: . + @prefix fedoraconfig: . + @prefix foaf: . + @prefix test: . + @prefix ns011: . + @prefix ns010: . + @prefix ns015: . + @prefix ns014: . + @prefix ns013: . + @prefix ns012: . + @prefix ns019: . + @prefix ns018: . + @prefix ns017: . + @prefix ns016: . + @prefix fedora: . + @prefix rdf: . + @prefix ebucore: . + @prefix ldp: . + @prefix xs: . + @prefix dc: . + + + ns014:next ; + ns014:prev ; + ns008:proxyFor ; + ns008:proxyIn . + + + a fedora:Container , ldp:Container , ldp:RDFSource , fedora:Resource ; + fedora:created "2018-03-09T18:53:38.77Z"^^ ; + fedora:createdBy "bypassAdmin"^^ ; + fedora:hasParent ; + fedora:lastModified "2018-03-09T18:53:38.77Z"^^ ; + fedora:lastModifiedBy "bypassAdmin"^^ ; + fedora:writable "true"^^ ; + ns003:hasPart , , ; + ns014:first ; + ns014:last ; + ns001:hasModel "ActiveFedora::Aggregation::ListSource"^^ . + + + ns014:next ; + ns008:proxyFor ; + ns008:proxyIn . + + + ns014:prev ; + ns008:proxyFor ; + ns008:proxyIn . + http_version: + recorded_at: Fri, 16 Mar 2018 21:06:20 GMT - request: method: get - uri: http://www.example.com:8080/fcrepo/rest/test/9p/29/09/32/9p2909328/content/fcr:metadata + uri: http://www.example.com:8080/fcrepo/rest/test/01/bb/1b/09/01bb1b09-974d-478b-8826-2c606a447606 body: encoding: US-ASCII string: '' @@ -192,19 +256,20 @@ http_interactions: response: status: code: 200 - message: OK + message: '' headers: Etag: - - '"a3b31a7423417546b53e422cbe1a93f204d4043c"' + - W/"0952e907cee31167252f072495f7744d1a966739" Last-Modified: - - Tue, 16 May 2017 21:26:56 GMT + - Fri, 09 Mar 2018 18:53:30 GMT Link: - - ; - rel="describes" - - ;rel="type" + - ;rel="type" + - ;rel="type" - ;rel="type" Accept-Patch: - application/sparql-update + Accept-Post: + - text/turtle,text/rdf+n3,text/n3,application/rdf+xml,application/n-triples,application/ld+json,multipart/form-data,application/sparql-update Allow: - MOVE,COPY,DELETE,POST,HEAD,GET,PUT,PATCH,OPTIONS Preference-Applied: @@ -212,74 +277,72 @@ http_interactions: Vary: - Accept, Range, Accept-Encoding, Accept-Language - Prefer - Content-Length: - - '5192' Content-Type: - - text/rdf+n3 + - text/rdf+n3;charset=utf-8 + Content-Length: + - '4131' + Date: + - Fri, 16 Mar 2018 21:06:20 GMT body: encoding: UTF-8 - string: "@prefix premis: .\n@prefix nt: - .\n@prefix rdfs: - .\n@prefix ns004: .\n@prefix ns003: - .\n@prefix ns002: .\n@prefix - ns001: .\n@prefix xsi: - .\n@prefix ns008: .\n@prefix mode: - .\n@prefix ns007: .\n@prefix ns006: - .\n@prefix ns005: - .\n@prefix xml: .\n@prefix ns009: - .\n@prefix fedoraconfig: .\n@prefix - mix: .\n@prefix foaf: - .\n@prefix image: .\n@prefix sv: - .\n@prefix test: .\n@prefix ns011: - .\n@prefix ns010: .\n@prefix - ns015: .\n@prefix ns014: - .\n@prefix ns013: .\n@prefix ns012: - .\n@prefix rdf: .\n@prefix fedora: - .\n@prefix ldp: - .\n@prefix xs: .\n@prefix dc: - .\n\n\n - a ldp:RDFSource , , - , , - , fedora:NonRdfSourceDescription , fedora:Resource , - , fedora:Resource , , - , , - ;\n\tfedora:lastModifiedBy \"bypassAdmin\"^^ - ;\n\tfedora:uuid \"42c0f21d-c8a3-48bc-9d63-9b743689f734\"^^ - ;\n\tfedora:createdBy \"bypassAdmin\"^^ - ;\n\tfedora:primaryType \"nt:file\"^^ - ;\n\tfedora:created \"2017-05-16T21:26:56.51Z\"^^ - ;\n\tfedora:mixinTypes \"fedora:NonRdfSourceDescription\"^^ - , \"fedora:Resource\"^^ , \"mix:versionable\"^^ - ;\n\tfedora:lastModified \"2017-05-16T21:26:56.715Z\"^^ - ;\n\tfedora:writable \"true\"^^ - ;\n\t - ;\n\tfedora:hasParent - .\n\n - a , - , , - , fedora:Binary , fedora:Resource , - , , - ;\n\tfedora:lastModifiedBy \"bypassAdmin\"^^ - ;\n\tfedora:uuid \"d2f3d5ef-aa81-46de-9e08-3b762ad269e2\"^^ - ;\n\tfedora:mimeType \"application/pdf\"^^ - ;\n\tfedora:digest ;\n\tpremis:hasSize - \"7162\"^^ ;\n\tfedora:createdBy \"bypassAdmin\"^^ - ;\n\tfedora:primaryType \"nt:resource\"^^ - ;\n\tfedora:created \"2017-05-16T21:26:56.51Z\"^^ - ;\n\tfedora:mixinTypes \"fedora:Binary\"^^ - ;\n\tfedora:lastModified \"2017-05-16T21:26:56.51Z\"^^ - ;\n\tpremis:hasOriginalName \"whatever.pdf\"^^ - ;\n\t - .\n\n - fedora:hasVersions - .\n\n - fedora:hasFixityService - .\n" - http_version: - recorded_at: Tue, 16 May 2017 21:47:14 GMT + string: | + @prefix premis: . + @prefix rdfs: . + @prefix ns004: . + @prefix ns003: . + @prefix ns002: . + @prefix xsi: . + @prefix ns001: . + @prefix ns008: . + @prefix ns007: . + @prefix ns006: . + @prefix xmlns: . + @prefix ns005: . + @prefix xml: . + @prefix ns009: . + @prefix fedoraconfig: . + @prefix foaf: . + @prefix test: . + @prefix ns011: . + @prefix ns010: . + @prefix ns015: . + @prefix ns014: . + @prefix ns013: . + @prefix ns012: . + @prefix ns019: . + @prefix ns018: . + @prefix ns017: . + @prefix ns016: . + @prefix fedora: . + @prefix rdf: . + @prefix ebucore: . + @prefix ldp: . + @prefix xs: . + @prefix dc: . + + + a ldp:Container , fedora:Resource , ns007:FileSet , ldp:RDFSource , fedora:Container , ns005:Object ; + fedora:created "2018-03-09T18:53:30.313Z"^^ ; + fedora:createdBy "bypassAdmin"^^ ; + fedora:hasParent ; + fedora:lastModified "2018-03-09T18:53:30.663Z"^^ ; + fedora:lastModifiedBy "bypassAdmin"^^ ; + fedora:writable "true"^^ ; + ns005:hasFile ; + ns005:memberOf ; + ns003:accessRights "http://terms.library.ualberta.ca/public"^^ ; + ns003:title "theses.jpg"^^ ; + ns002:owner 2705 ; + ns010:recordCreatedInJupiter "2018-03-09T18:53:30.296Z"^^ ; + ns010:sitemapLink ""^^ ; + ebucore:dateIngested "2018-03-09T18:53:30.296Z"^^ ; + ldp:contains , ; + ns001:hasModel "IRFileSet"^^ . + http_version: + recorded_at: Fri, 16 Mar 2018 21:06:20 GMT - request: method: get - uri: http://www.example.com:8080/fcrepo/rest/test/9p/29/09/32/9p2909328/content/fcr:versions + uri: http://www.example.com:8080/fcrepo/rest/test/01/bb/1b/09/01bb1b09-974d-478b-8826-2c606a447606/files/8b26afd3-0f72-4241-87d4-830f0bbdf58c/fcr:metadata body: encoding: US-ASCII string: '' @@ -297,44 +360,101 @@ http_interactions: response: status: code: 200 - message: OK + message: '' headers: - Content-Length: - - '2306' + Etag: + - W/"e1f7f639e96f5c864bd390c8c239c18833d96707" + Last-Modified: + - Fri, 09 Mar 2018 18:53:32 GMT + Link: + - ; + rel="describes" + - ;rel="type" + - ;rel="type" + Accept-Patch: + - application/sparql-update + Allow: + - MOVE,COPY,DELETE,POST,HEAD,GET,PUT,PATCH,OPTIONS + Preference-Applied: + - return=representation + Vary: + - Accept, Range, Accept-Encoding, Accept-Language + - Prefer Content-Type: - - text/rdf+n3 + - text/rdf+n3;charset=utf-8 + Content-Length: + - '4549' + Date: + - Fri, 16 Mar 2018 21:06:20 GMT body: encoding: UTF-8 - string: "@prefix premis: .\n@prefix nt: - .\n@prefix rdfs: - .\n@prefix ns004: .\n@prefix ns003: - .\n@prefix ns002: .\n@prefix - ns001: .\n@prefix xsi: - .\n@prefix ns008: .\n@prefix mode: - .\n@prefix ns007: .\n@prefix ns006: - .\n@prefix ns005: - .\n@prefix xml: .\n@prefix ns009: - .\n@prefix fedoraconfig: .\n@prefix - mix: .\n@prefix foaf: - .\n@prefix image: .\n@prefix sv: - .\n@prefix test: .\n@prefix ns011: - .\n@prefix ns010: .\n@prefix - ns015: .\n@prefix ns014: - .\n@prefix ns013: .\n@prefix ns012: - .\n@prefix rdf: .\n@prefix fedora: - .\n@prefix ldp: - .\n@prefix xs: .\n@prefix dc: - .\n\n\n - fedora:hasVersion - .\n\n - fedora:hasVersionLabel \"version1\"^^ - ;\n\tfedora:created \"2017-05-16T21:26:57.041Z\"^^ - .\n" - http_version: - recorded_at: Tue, 16 May 2017 21:47:14 GMT + string: | + @prefix premis: . + @prefix rdfs: . + @prefix ns004: . + @prefix ns003: . + @prefix ns002: . + @prefix xsi: . + @prefix ns001: . + @prefix ns008: . + @prefix ns007: . + @prefix ns006: . + @prefix xmlns: . + @prefix ns005: . + @prefix xml: . + @prefix ns009: . + @prefix fedoraconfig: . + @prefix foaf: . + @prefix test: . + @prefix ns011: . + @prefix ns010: . + @prefix ns015: . + @prefix ns014: . + @prefix ns013: . + @prefix ns012: . + @prefix ns019: . + @prefix ns018: . + @prefix ns017: . + @prefix ns016: . + @prefix fedora: . + @prefix rdf: . + @prefix ebucore: . + @prefix ldp: . + @prefix xs: . + @prefix dc: . + + + a ldp:NonRDFSource , fedora:Binary , ns005:File , ns011:OriginalFile , fedora:Resource ; + fedora:created "2018-03-09T18:53:30.447Z"^^ ; + fedora:createdBy "bypassAdmin"^^ ; + fedora:hasFixityService ; + fedora:hasParent ; + fedora:lastModified "2018-03-09T18:53:32.99Z"^^ ; + fedora:lastModifiedBy "bypassAdmin"^^ ; + fedora:writable "true"^^ ; + ns017:valid "true"^^ ; + ns017:wellFormed "true"^^ ; + ns019:compressionScheme "JPEG"^^ ; + ns018:byteOrder "big endian"^^ ; + ebucore:fileSize "53678"^^ ; + ebucore:filename "theses.jpg"^^ ; + ebucore:hasMimeType "image/jpeg"^^ ; + ebucore:height "335"^^ ; + ebucore:width "504"^^ ; + ns014:describedby ; + premis:hasCreatingApplicationVersion + "1.2.0"^^ ; + premis:hasFormatName "JPEG File Interchange Format"^^ ; + premis:hasMessageDigest ; + premis:hasSize "53678"^^ ; + ns016:hashValue "59ced23d3250b0cf54a58dd21bad4512"^^ ; + ns015:colorSpace "YCbCr"^^ ; + ns015:exifVersion "10.00"^^ . + http_version: + recorded_at: Fri, 16 Mar 2018 21:06:20 GMT - request: method: get - uri: http://www.example.com:8080/fcrepo/rest/test/9p/29/09/32/9p2909328/thumbnail + uri: http://www.example.com:8080/fcrepo/rest/test/01/bb/1b/09/01bb1b09-974d-478b-8826-2c606a447606/files/8b26afd3-0f72-4241-87d4-830f0bbdf58c body: encoding: US-ASCII string: '' @@ -352,115 +472,1235 @@ http_interactions: response: status: code: 200 - message: OK + message: '' headers: Etag: - - '"94925806bc6c9348bc1b160cc4d5134c8001df63"' - - '"94925806bc6c9348bc1b160cc4d5134c8001df63"' + - '"66d4222b266c43f70751b07d12d9de9fc742e8d1"' + - '"66d4222b266c43f70751b07d12d9de9fc742e8d1"' Last-Modified: - - Tue, 16 May 2017 21:36:28 GMT - - Tue, 16 May 2017 21:36:28 GMT + - Fri, 09 Mar 2018 18:53:30 GMT + - Fri, 09 Mar 2018 18:53:30 GMT Accept-Ranges: - bytes Content-Disposition: - - attachment; filename=""; creation-date="Tue, 16 May 2017 21:27:40 GMT"; modification-date="Tue, - 16 May 2017 21:36:28 GMT"; size=3346 + - attachment; filename="theses.jpg"; creation-date="Fri, 09 Mar 2018 18:53:30 + GMT"; modification-date="Fri, 09 Mar 2018 18:53:32 GMT"; size=53678 Link: - - ; + - ; rel="describedby" - ;rel="type" - ;rel="type" Allow: - DELETE,HEAD,GET,PUT,OPTIONS - Content-Length: - - '3346' - Content-Type: - - image/jpeg Cache-Control: - no-transform, must-revalidate, max-age=0 + Content-Type: + - image/jpeg + Content-Length: + - '53678' + Date: + - Fri, 16 Mar 2018 21:06:20 GMT body: - encoding: ASCII-8BIT - string: !binary |- - /9j/4AAQSkZJRgABAQAASABIAAD/4gogSUNDX1BST0ZJTEUAAQEAAAoQAAAA - AAIQAABtbnRyUkdCIFhZWiAAAAAAAAAAAAAAAABhY3NwQVBQTAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAA9tUAAQAAAADTLAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApkZXNjAAAA/AAA - AHxjcHJ0AAABeAAAACh3dHB0AAABoAAAABRia3B0AAABtAAAABRyWFlaAAAB - yAAAABRnWFlaAAAB3AAAABRiWFlaAAAB8AAAABRyVFJDAAACBAAACAxnVFJD - AAACBAAACAxiVFJDAAACBAAACAxkZXNjAAAAAAAAACJBcnRpZmV4IFNvZnR3 - YXJlIHNSR0IgSUNDIFByb2ZpbGUAAAAAAAAAAAAAACJBcnRpZmV4IFNvZnR3 - YXJlIHNSR0IgSUNDIFByb2ZpbGUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAdGV4dAAAAABDb3B5cmlnaHQgQXJ0aWZleCBTb2Z0d2FyZSAy - MDExAFhZWiAAAAAAAADzUQABAAAAARbMWFlaIAAAAAAAAAAAAAAAAAAAAABY - WVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAA - AAAAACSgAAAPhAAAts9jdXJ2AAAAAAAABAAAAAAFAAoADwAUABkAHgAjACgA - LQAyADcAOwBAAEUASgBPAFQAWQBeAGMAaABtAHIAdwB8AIEAhgCLAJAAlQCa - AJ8ApACpAK4AsgC3ALwAwQDGAMsA0ADVANsA4ADlAOsA8AD2APsBAQEHAQ0B - EwEZAR8BJQErATIBOAE+AUUBTAFSAVkBYAFnAW4BdQF8AYMBiwGSAZoBoQGp - AbEBuQHBAckB0QHZAeEB6QHyAfoCAwIMAhQCHQImAi8COAJBAksCVAJdAmcC - cQJ6AoQCjgKYAqICrAK2AsECywLVAuAC6wL1AwADCwMWAyEDLQM4A0MDTwNa - A2YDcgN+A4oDlgOiA64DugPHA9MD4APsA/kEBgQTBCAELQQ7BEgEVQRjBHEE - fgSMBJoEqAS2BMQE0wThBPAE/gUNBRwFKwU6BUkFWAVnBXcFhgWWBaYFtQXF - BdUF5QX2BgYGFgYnBjcGSAZZBmoGewaMBp0GrwbABtEG4wb1BwcHGQcrBz0H - TwdhB3QHhgeZB6wHvwfSB+UH+AgLCB8IMghGCFoIbgiCCJYIqgi+CNII5wj7 - CRAJJQk6CU8JZAl5CY8JpAm6Cc8J5Qn7ChEKJwo9ClQKagqBCpgKrgrFCtwK - 8wsLCyILOQtRC2kLgAuYC7ALyAvhC/kMEgwqDEMMXAx1DI4MpwzADNkM8w0N - DSYNQA1aDXQNjg2pDcMN3g34DhMOLg5JDmQOfw6bDrYO0g7uDwkPJQ9BD14P - eg+WD7MPzw/sEAkQJhBDEGEQfhCbELkQ1xD1ERMRMRFPEW0RjBGqEckR6BIH - EiYSRRJkEoQSoxLDEuMTAxMjE0MTYxODE6QTxRPlFAYUJxRJFGoUixStFM4U - 8BUSFTQVVhV4FZsVvRXgFgMWJhZJFmwWjxayFtYW+hcdF0EXZReJF64X0hf3 - GBsYQBhlGIoYrxjVGPoZIBlFGWsZkRm3Gd0aBBoqGlEadxqeGsUa7BsUGzsb - YxuKG7Ib2hwCHCocUhx7HKMczBz1HR4dRx1wHZkdwx3sHhYeQB5qHpQevh7p - HxMfPh9pH5Qfvx/qIBUgQSBsIJggxCDwIRwhSCF1IaEhziH7IiciVSKCIq8i - 3SMKIzgjZiOUI8Ij8CQfJE0kfCSrJNolCSU4JWgllyXHJfcmJyZXJocmtybo - JxgnSSd6J6sn3CgNKD8ocSiiKNQpBik4KWspnSnQKgIqNSpoKpsqzysCKzYr - aSudK9EsBSw5LG4soizXLQwtQS12Last4S4WLkwugi63Lu4vJC9aL5Evxy/+ - MDUwbDCkMNsxEjFKMYIxujHyMioyYzKbMtQzDTNGM38zuDPxNCs0ZTSeNNg1 - EzVNNYc1wjX9Njc2cjauNuk3JDdgN5w31zgUOFA4jDjIOQU5Qjl/Obw5+To2 - OnQ6sjrvOy07azuqO+g8JzxlPKQ84z0iPWE9oT3gPiA+YD6gPuA/IT9hP6I/ - 4kAjQGRApkDnQSlBakGsQe5CMEJyQrVC90M6Q31DwEQDREdEikTORRJFVUWa - Rd5GIkZnRqtG8Ec1R3tHwEgFSEtIkUjXSR1JY0mpSfBKN0p9SsRLDEtTS5pL - 4kwqTHJMuk0CTUpNk03cTiVObk63TwBPSU+TT91QJ1BxULtRBlFQUZtR5lIx - UnxSx1MTU19TqlP2VEJUj1TbVShVdVXCVg9WXFapVvdXRFeSV+BYL1h9WMtZ - GllpWbhaB1pWWqZa9VtFW5Vb5Vw1XIZc1l0nXXhdyV4aXmxevV8PX2Ffs2AF - YFdgqmD8YU9homH1YklinGLwY0Njl2PrZEBklGTpZT1lkmXnZj1mkmboZz1n - k2fpaD9olmjsaUNpmmnxakhqn2r3a09rp2v/bFdsr20IbWBtuW4SbmtuxG8e - b3hv0XArcIZw4HE6cZVx8HJLcqZzAXNdc7h0FHRwdMx1KHWFdeF2Pnabdvh3 - VnezeBF4bnjMeSp5iXnnekZ6pXsEe2N7wnwhfIF84X1BfaF+AX5ifsJ/I3+E - f+WAR4CogQqBa4HNgjCCkoL0g1eDuoQdhICE44VHhauGDoZyhteHO4efiASI - aYjOiTOJmYn+imSKyoswi5aL/IxjjMqNMY2Yjf+OZo7OjzaPnpAGkG6Q1pE/ - kaiSEZJ6kuOTTZO2lCCUipT0lV+VyZY0lp+XCpd1l+CYTJi4mSSZkJn8mmia - 1ZtCm6+cHJyJnPedZJ3SnkCerp8dn4uf+qBpoNihR6G2oiailqMGo3aj5qRW - pMelOKWpphqmi6b9p26n4KhSqMSpN6mpqhyqj6sCq3Wr6axcrNCtRK24ri2u - oa8Wr4uwALB1sOqxYLHWskuywrM4s660JbSctRO1irYBtnm28Ldot+C4WbjR - uUq5wro7urW7LrunvCG8m70VvY++Cr6Evv+/er/1wHDA7MFnwePCX8Lbw1jD - 1MRRxM7FS8XIxkbGw8dBx7/IPci8yTrJuco4yrfLNsu2zDXMtc01zbXONs62 - zzfPuNA50LrRPNG+0j/SwdNE08bUSdTL1U7V0dZV1tjXXNfg2GTY6Nls2fHa - dtr724DcBdyK3RDdlt4c3qLfKd+v4DbgveFE4cziU+Lb42Pj6+Rz5PzlhOYN - 5pbnH+ep6DLovOlG6dDqW+rl63Dr++yG7RHtnO4o7rTvQO/M8Fjw5fFy8f/y - jPMZ86f0NPTC9VD13vZt9vv3ivgZ+Kj5OPnH+lf65/t3/Af8mP0p/br+S/7c - /23////bAEMAAwICAgICAwICAgMDAwMEBgQEBAQECAYGBQYJCAoKCQgJCQoM - DwwKCw4LCQkNEQ0ODxAQERAKDBITEhATDxAQEP/AAAsIAbUBUgEBEQD/xAAV - AAEBAAAAAAAAAAAAAAAAAAAACf/EABQQAQAAAAAAAAAAAAAAAAAAAAD/2gAI - AQEAAD8AlUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAA//2Q== - http_version: - recorded_at: Tue, 16 May 2017 21:47:14 GMT + encoding: UTF-8 + base64_string: | + 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 + N2nfhEalrlY3bQAxbwNH1G5sw+L4lPhWv+XOvwrEMAfKiWfsmSlHZa0WZh2a + HErlABxin/zFfHErPmpjMOnW4pn84v8AXGrIZ2a2oO14ZzRBmwgTYj5zhlq9 + HVqjG73e+1j4uGs+gWXPG8LjY0VvVFo3gmj6pD5wHmLKMcG31juq3e8Gq8l7 + cn5R18p2VBWLvi97lJ9nC0Md+Dzd55TAWlYto2I2GK4zi1KbZsuYtNJVBruy + mHcKJn33RH0YNNzL7jOKUu0wUwKVmyVQnuv6MkGLR07n9ikZcm7eGxG7U2AT + Ds3Ksy7Iuc2B4hnin83FMHGyZ/2jO6M3KztnNTmy2juOTOJ+icjRkYOblRdm + Un7JadlW5x4i0dxRNWVIqTodbHhxKstOQYx3HVY3UcrNVZ9GanLUsyQEWZdz + DZHnq8YfXw6my/pjz3f2BUXKV16XcfnbJbmArwMcMSXY/G4sXsIvCk52YmGn + pOXBJXGFVZuMQRAy1NtuZB9HkjrtW3nzO1OobQLv937ccDEakJp5u7qgJ/sH + G7lFTlmTwLhzMtNNa9lsy+zEt2CuelpiVJtmZYdaeMUcbrBQqDqueofUhhxx + uYnZakhPEp6hpV/qT2YtmamxeW7tltus6K24DzpPbTa7XxnjP0kBGpa5fG/c + +dnWdOdTaOTDBZfygQlEJ/ldK2nKni8lpPGo2eK824yz/wDb7T8rDBiX2wB4 + kaRQEkrpHhGri/PGNrza5OMDclyDNfGrMiK1qWa5tnWXkO7+AYAB4yE8L4rm + By9vUuUWxWn6ViZrj46j6PKW+bwyrfxp2TwENqWbNpscfrlXTicUedtPaZKW + TNoNZjdAkJUXZ8S/X1omNs3yoYAxJ17DAc7r2zD8ZHe8s2icheUEwzhnLg2y + 28fOvtc5+KxY0Yjuzf8AZ49pGHNTeDSFWxYrbL8YRVe4ECPrC7WsOyrOHDre + dwhzzL0wjWf5Pm4pBlpUHXHJk7Nf0lqSZV9+bYKkW26uuV/F24dQlEyi1a57 + C6Wte0JVwnG3UcI9+KOL9WvLV5vFGMrFqXouhuLn8YQ5a7kyOdltTFaqRvHW + i8QitVUR5NFry13gIBymtyTlFYs/R8dxzFen3Urd62RtktjkGgGv2I6IOSSR + 8pmXeUvKPENxy3rQDN/aT+ww3s4tkUlOvWk7jTsxizBs4WMaZtiWbm+I+2Aw + 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 + aVpgRLMqqjp6uhEBFH7UGgAXZspo1PuENP1wAIZOnNl4hK+5KtUT4guVFB5V + UUJD1hfuJF7F8sPwItWWGqtonJV37BQGCvtHUNYC270kOoS11DAQMQK2ougq + 3ISVoK70vv8A/iFLmU3So2C1lUXWFVGwwww0XtEu3tu3RySsel8zqbP/ACjm + z+UzVl01s6RqA8OuirNw1UlFW7Ikk2Dr/wDkmYklx5Wx5fEdaFqt58zpoIi4 + QbbjfBz6RbM/7UeVD4bJyRlPmZb/ABsWNE1GbW2rYtQndPtGbmAoLZYi4Zfi + wyQADlH6LzIcpqWX1eiEkvN9x9dQ5f1QGAzakLjVRIWUodABOOVXJ9/TDAxl + HFQybXupd+pYVSQY9F12rp+mEZ0CVURF105fqhA4QtEqVpr+q6GACZFSZc7R + hkAsPTDKVAiqHSl16Q9KEGBaznWBIRl6WjLvJQ6NFSQGdFupFHUtyb+1O2Aj + zbZsEW45ZznA7vnDADlByjulyTpf0wA3Fh8p5abIJS0lFh9bkB3wTvtdWFiD + ftSrQkJiIlq9YST+mM9TMjbXISWnsR+zKZKZ8T/yzn+FGhGasLk1O2faRv2t + I7KWZcJklUDaOY8HT36eKFLmSfRPhxJc8aYcCgE2mvq3aoMFnzPlZync5Qzw + jL1BJS2VgO8XWcjf0MQIgooHi+tKfou1RiQReBGlQmndQlROjVr/AJRIOgob + TI5XqpzQGdrAkTZUrfct5a/Tu1XQAnclebCyIvEpZ/dhA8h3Cao22utEXiq8 + i3dkMAr5XjuuS9Lrk1RZA+IuCogBVqlKlctyB239i9u6H4/D+4BAS4x6Yrho + BmlyJ23J0RBgLpH3V6Ysisari9VYAcvXR01dkIET4PogBQ2IkY1Llv7YCGIt + sCSlWBe0n6r4Rmp5Pz/KCWdc+CZSefZq2miy7xrfd0k0BfaiZNGu8ppp22HC + FBt2zZV3zLTk1l3/AGXlRp33ShdYj93+jEwyPJefPYzp2K6XDiODOSd/rZZh + pPyiRWRW3diX+9/+QWWlYxyVX/ELJnQ13OSc9Kue81iC6PuQYorXtxu/nF8s + Ii2gVISJfnTh39C7vqgaEHiEG8wkea7Il9/lgAECid16KF66qtSJm6VW5Prh + g+y8lbJsSUKWm5m0bNmbSNfi0qM0w7gn5gCe1mf+n1I5ZuhjRzbslyfnnS+E + JiSlZvv6QxLzPtDVV+ViOsXujATPJmS/5PlJYro9QX5plo/suGEbbjC354/v + Mk9KtiVzsw2tBqlwG2oqqaluNCISHsUVuXtjWlWZIUbUadmPYdQfnu1LAQIu + CJrSLBl1iaIN3nj2QwQcZ1Yko7T8jV+yX7oYA75Z9aXhSXe76Lsy9burDB2X + aaofQjCutMPMl948N3rREjaWguUtWa4qt306oAVtuTTdGVwmqu5UPs5YohsL + 8xclbQ0duGv/AMRBk5ghw6SEMydbqwAWyVFJA7wdU+j64ZEH5aW10vs3/OD+ + q+GCnAC9NqGocucd0Bk5hEVkKlTWaJv3at8FCIoUsZ0YdG7aisMDBppsVTDc + bW67rJrT6/zRI9wMyqA4VCVhil5cpb/dKADJCS7UA+S9fv8A5QGJbTVVfQt2 + QRQUS7V2p5L74qhADaIph63+cMhg2tz6U360W9U8v6oK9h9Y0Elu3L9UQZEV + XEJETUqX39hJcl3pVLoPzHWWHcqKhXX3b4CBnETfemtLjT6LtadGqHQKelAA + 2KDIAzFhuVJ2wA863K+FKXPzwMK4CB1lJK68Zpn0KY/zhmdJCab2Cq5T3byv + TzYAL3CfXjxPqKKBNhyZBRoBwvQJLekIBDiMuhiZW++1fTm7zX8QQEaWyZ7l + TIAOiS0/OS3itHfea9kqMsIzYByhtR5r43Ylsy/f+JzP+FEqEts23bTqho1k + 2i23TcBOSkxTdd1ckXyEYh920jL42Mz7bZ/0xoRFjC6l1cQR/9k= + http_version: + recorded_at: Fri, 16 Mar 2018 21:06:20 GMT - request: method: get - uri: http://www.example.com:8080/fcrepo/rest/test/9p/29/09/32/9p2909328/characterization + uri: http://www.example.com:8080/fcrepo/rest/test/01/bb/1b/09/01bb1b09-974d-478b-8826-2c606a447606/files/8b26afd3-0f72-4241-87d4-830f0bbdf58c/fcr:fixity body: encoding: US-ASCII string: '' @@ -478,98 +1718,64 @@ http_interactions: response: status: code: 200 - message: OK + message: '' headers: - Etag: - - '"255aaff77582f8035328f449e5bc87b9a51dc7ae"' - - '"255aaff77582f8035328f449e5bc87b9a51dc7ae"' - Last-Modified: - - Tue, 16 May 2017 21:36:26 GMT - - Tue, 16 May 2017 21:36:26 GMT - Accept-Ranges: - - bytes - Content-Disposition: - - attachment; filename=""; creation-date="Tue, 16 May 2017 21:27:35 GMT"; modification-date="Tue, - 16 May 2017 21:36:26 GMT"; size=3916 - Link: - - ; - rel="describedby" - - ;rel="type" - - ;rel="type" - Allow: - - DELETE,HEAD,GET,PUT,OPTIONS - Content-Length: - - '3916' Content-Type: - - text/xml - Cache-Control: - - no-transform, must-revalidate, max-age=0 + - text/rdf+n3;charset=utf-8 + Content-Length: + - '2662' + Date: + - Fri, 16 Mar 2018 21:06:20 GMT body: encoding: UTF-8 - string: |- - - - - - - - - - - - - 1.4 - fmt/18 - - - - 7162 - LibreOffice 5.2/Writer - 2017:05:16 15:26:04-06:00 - /tmp/content-1.pdf20170516-18431-2uhrid.pdf - whatever.pdf - 94a2454204f52b39c4a6d4ff86e8d516 - 1494970582000 - - - true - true - - - - Writer - en-CA - 1 - no - no - no - - LiberationSerif - - no - - - - - - - - - - - - - - - - - - - http_version: - recorded_at: Tue, 16 May 2017 21:47:14 GMT + string: | + @prefix premis: . + @prefix rdfs: . + @prefix ns004: . + @prefix ns003: . + @prefix ns002: . + @prefix xsi: . + @prefix ns001: . + @prefix ns008: . + @prefix ns007: . + @prefix ns006: . + @prefix xmlns: . + @prefix ns005: . + @prefix xml: . + @prefix ns009: . + @prefix fedoraconfig: . + @prefix foaf: . + @prefix test: . + @prefix ns011: . + @prefix ns010: . + @prefix ns015: . + @prefix ns014: . + @prefix ns013: . + @prefix ns012: . + @prefix ns019: . + @prefix ns018: . + @prefix ns017: . + @prefix ns016: . + @prefix fedora: . + @prefix rdf: . + @prefix ebucore: . + @prefix ldp: . + @prefix xs: . + @prefix dc: . + + + a premis:EventOutcomeDetail , premis:Fixity ; + premis:hasEventOutcome "SUCCESS"^^ ; + premis:hasMessageDigest ; + premis:hasSize "53678"^^ . + + + premis:hasFixity . + http_version: + recorded_at: Fri, 16 Mar 2018 21:06:20 GMT - request: method: get - uri: http://www.example.com:8080/fcrepo/rest/test/9p/29/09/32/9p2909328/fedora3foxml + uri: http://www.example.com:8080/fcrepo/rest/test/85/64/44/b6/856444b6-8dd5-4dfa-857d-435e354a2ead body: encoding: US-ASCII string: '' @@ -577,7 +1783,7 @@ http_interactions: Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: - - "*/*" + - text/rdf+n3 User-Agent: - Ruby Host: @@ -586,36 +1792,94 @@ http_interactions: - Basic ZmVkb3JhQWRtaW46ZmVkb3JhQWRtaW4= response: status: - code: 404 - message: Not Found + code: 200 + message: '' headers: + Etag: + - W/"8620850bf8b048af0ff24b3d9a030bd104fa67b5" + Last-Modified: + - Fri, 09 Mar 2018 18:53:39 GMT + Link: + - ;rel="type" + - ;rel="type" + - ;rel="type" + Accept-Patch: + - application/sparql-update + Accept-Post: + - text/turtle,text/rdf+n3,text/n3,application/rdf+xml,application/n-triples,application/ld+json,multipart/form-data,application/sparql-update + Allow: + - MOVE,COPY,DELETE,POST,HEAD,GET,PUT,PATCH,OPTIONS + Preference-Applied: + - return=representation + Vary: + - Accept, Range, Accept-Encoding, Accept-Language + - Prefer Content-Type: - - text/html;charset=ISO-8859-1 - Cache-Control: - - must-revalidate,no-cache,no-store + - text/rdf+n3;charset=utf-8 Content-Length: - - '1415' + - '4273' + Date: + - Fri, 16 Mar 2018 21:06:20 GMT body: encoding: UTF-8 - string: "\n\n\nError 404 Not Found\n\n

HTTP - ERROR 404

\n

Problem accessing /fedora/rest/test/9p/29/09/32/9p2909328/fedora3foxml. - Reason:\n

    Not Found


Powered by Jetty://
- \ \n
\n
- \ \n
\n
- \ \n
\n
- \ \n
\n
- \ \n
\n
- \ \n
\n
- \ \n
\n
- \ \n
\n
- \ \n
\n
- \ \n
\n\n\n\n" - http_version: - recorded_at: Tue, 16 May 2017 21:47:14 GMT + string: | + @prefix premis: . + @prefix rdfs: . + @prefix ns004: . + @prefix ns003: . + @prefix ns002: . + @prefix xsi: . + @prefix ns001: . + @prefix ns008: . + @prefix ns007: . + @prefix ns006: . + @prefix xmlns: . + @prefix ns005: . + @prefix xml: . + @prefix ns009: . + @prefix fedoraconfig: . + @prefix foaf: . + @prefix test: . + @prefix ns011: . + @prefix ns010: . + @prefix ns015: . + @prefix ns014: . + @prefix ns013: . + @prefix ns012: . + @prefix ns019: . + @prefix ns018: . + @prefix ns017: . + @prefix ns016: . + @prefix fedora: . + @prefix rdf: . + @prefix ebucore: . + @prefix ldp: . + @prefix xs: . + @prefix dc: . + + + a ldp:RDFSource , fedora:Resource , ns007:FileSet , fedora:Container , ldp:Container , ns005:Object ; + fedora:created "2018-03-09T18:53:35.759Z"^^ ; + fedora:createdBy "bypassAdmin"^^ ; + fedora:hasParent ; + fedora:lastModified "2018-03-09T18:53:39.162Z"^^ ; + fedora:lastModifiedBy "bypassAdmin"^^ ; + fedora:writable "true"^^ ; + ns005:hasFile , ; + ns005:memberOf ; + ns003:accessRights "http://terms.library.ualberta.ca/public"^^ ; + ns003:title "era-logo.png"^^ ; + ns002:owner 2705 ; + ns010:recordCreatedInJupiter "2018-03-09T18:53:35.736Z"^^ ; + ns010:sitemapLink ""^^ ; + ebucore:dateIngested "2018-03-09T18:53:35.736Z"^^ ; + ldp:contains , ; + ns001:hasModel "IRFileSet"^^ . + http_version: + recorded_at: Fri, 16 Mar 2018 21:06:20 GMT - request: method: get - uri: http://www.example.com:8080/fcrepo/rest/test/9p/29/09/32/9p2909328/fedora3foxml/fcr:metadata + uri: http://www.example.com:8080/fcrepo/rest/test/85/64/44/b6/856444b6-8dd5-4dfa-857d-435e354a2ead/files/04bb7928-cc5d-4338-8062-3209274b29da/fcr:metadata body: encoding: US-ASCII string: '' @@ -632,36 +1896,99 @@ http_interactions: - Basic ZmVkb3JhQWRtaW46ZmVkb3JhQWRtaW4= response: status: - code: 404 - message: Not Found + code: 200 + message: '' headers: + Etag: + - W/"6207d8df76a9eda596305d6604963298ac358cc0" + Last-Modified: + - Fri, 09 Mar 2018 18:53:38 GMT + Link: + - ; + rel="describes" + - ;rel="type" + - ;rel="type" + Accept-Patch: + - application/sparql-update + Allow: + - MOVE,COPY,DELETE,POST,HEAD,GET,PUT,PATCH,OPTIONS + Preference-Applied: + - return=representation + Vary: + - Accept, Range, Accept-Encoding, Accept-Language + - Prefer Content-Type: - - text/html;charset=ISO-8859-1 - Cache-Control: - - must-revalidate,no-cache,no-store + - text/rdf+n3;charset=utf-8 Content-Length: - - '1428' + - '4353' + Date: + - Fri, 16 Mar 2018 21:06:20 GMT body: encoding: UTF-8 - string: "\n\n\nError 404 Not Found\n\n

HTTP - ERROR 404

\n

Problem accessing /fedora/rest/test/9p/29/09/32/9p2909328/fedora3foxml/fcr:metadata. - Reason:\n

    Not Found


Powered by Jetty://
- \ \n
\n
- \ \n
\n
- \ \n
\n
- \ \n
\n
- \ \n
\n
- \ \n
\n
- \ \n
\n
- \ \n
\n
- \ \n
\n
- \ \n
\n\n\n\n" - http_version: - recorded_at: Tue, 16 May 2017 21:47:14 GMT + string: | + @prefix premis: . + @prefix rdfs: . + @prefix ns004: . + @prefix ns003: . + @prefix ns002: . + @prefix xsi: . + @prefix ns001: . + @prefix ns008: . + @prefix ns007: . + @prefix ns006: . + @prefix xmlns: . + @prefix ns005: . + @prefix xml: . + @prefix ns009: . + @prefix fedoraconfig: . + @prefix foaf: . + @prefix test: . + @prefix ns011: . + @prefix ns010: . + @prefix ns015: . + @prefix ns014: . + @prefix ns013: . + @prefix ns012: . + @prefix ns019: . + @prefix ns018: . + @prefix ns017: . + @prefix ns016: . + @prefix fedora: . + @prefix rdf: . + @prefix ebucore: . + @prefix ldp: . + @prefix xs: . + @prefix dc: . + + + a ns011:OriginalFile , ns005:File , ldp:NonRDFSource , fedora:Binary , fedora:Resource ; + fedora:created "2018-03-09T18:53:35.896Z"^^ ; + fedora:createdBy "bypassAdmin"^^ ; + fedora:hasFixityService ; + fedora:hasParent ; + fedora:lastModified "2018-03-09T18:53:38.335Z"^^ ; + fedora:lastModifiedBy "bypassAdmin"^^ ; + fedora:writable "true"^^ ; + ns019:compressionScheme "Deflate"^^ , "Deflate/Inflate"^^ ; + ebucore:fileSize "5612"^^ ; + ebucore:filename "era-logo.png"^^ ; + ebucore:hasMimeType "image/png"^^ ; + ebucore:height "114"^^ ; + ebucore:width "208"^^ ; + ns014:describedby ; + premis:hasCreatingApplicationVersion + "1.2.0"^^ ; + premis:hasFormatName "Portable Network Graphics"^^ ; + premis:hasMessageDigest ; + premis:hasSize "5612"^^ ; + ns016:hashValue "d409b41db16cfaf9f315ac20532eac07"^^ ; + ns015:exifVersion "10.00"^^ ; + ns015:orientation "normal*"^^ . + http_version: + recorded_at: Fri, 16 Mar 2018 21:06:21 GMT - request: method: get - uri: http://www.example.com:8080/fcrepo/rest/test/9p/29/09/32/9p2909328/content + uri: http://www.example.com:8080/fcrepo/rest/test/85/64/44/b6/856444b6-8dd5-4dfa-857d-435e354a2ead/files/04bb7928-cc5d-4338-8062-3209274b29da body: encoding: US-ASCII string: '' @@ -679,200 +2006,167 @@ http_interactions: response: status: code: 200 - message: OK + message: '' headers: Etag: - - '"cbdc7e82500473b94daf3affd0458c777b2bec71"' - - '"cbdc7e82500473b94daf3affd0458c777b2bec71"' + - '"53b962d0dbba2e45fd47678379833b44252bdacd"' + - '"53b962d0dbba2e45fd47678379833b44252bdacd"' Last-Modified: - - Tue, 16 May 2017 21:26:56 GMT - - Tue, 16 May 2017 21:26:56 GMT + - Fri, 09 Mar 2018 18:53:35 GMT + - Fri, 09 Mar 2018 18:53:35 GMT Accept-Ranges: - bytes Content-Disposition: - - attachment; filename="whatever.pdf"; creation-date="Tue, 16 May 2017 21:26:56 - GMT"; modification-date="Tue, 16 May 2017 21:26:56 GMT"; size=7162 + - attachment; filename="era-logo.png"; creation-date="Fri, 09 Mar 2018 18:53:35 + GMT"; modification-date="Fri, 09 Mar 2018 18:53:38 GMT"; size=5612 Link: - - ; + - ; rel="describedby" - ;rel="type" - ;rel="type" Allow: - DELETE,HEAD,GET,PUT,OPTIONS - Content-Length: - - '7162' - Content-Type: - - application/pdf Cache-Control: - no-transform, must-revalidate, max-age=0 + Content-Type: + - image/png + Content-Length: + - '5612' + Date: + - Fri, 16 Mar 2018 21:06:20 GMT body: - encoding: ASCII-8BIT - string: !binary |- - JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp - bHRlci9GbGF0ZURlY29kZT4+CnN0cmVhbQp4nDPQM1Qo5ypUMABCM0MjBXNL - I4WiVK5wLYU8qKiBQlE6l1MIl6mZnoWCuZEJUENIioK+m6ECUHlIWrSNgaGd - oY2BkYGxna6ZjYGJnZGNgSlIxAxCmdvFhnhxuYZwBXIFKgAAJJQXtwplbmRz - dHJlYW0KZW5kb2JqCgozIDAgb2JqCjEwNAplbmRvYmoKCjUgMCBvYmoKPDwv - TGVuZ3RoIDYgMCBSL0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGgxIDgyMjg+ - PgpzdHJlYW0KeJzlWH9UW9d9/9579RshPYF4xpaNnvwAAwKEkbHBcUAGJIRx - jPjlCBJAMhIg/wAsCVwnzUzbEyfBdeMlaX40XptmaU6W9pw87KzDXRaTc5Ju - Xdc03fpjWePW3bKds1PTeGmTs7Ux7HufBLHdpD1n3Tn7Y1fSu9/v5/vr3u/9 - 3vueXjo5HQczzAID38iR6NR6bY4BAP4OgOSNzKSllWafhPRlACqOTo0dKfP+ - +BcA7D8B9Nqxw8dHP3fv8S8C5KCJ8ZHxeDT27VsuNADYH0Fg+zgC+5aP65FH - f1A8fiT9CQ+bcSB/FXnp8ORItNZcbwIoEJDPOxL9xNSf6j6jQb6YyyeiR+L7 - 4k+jr4JWAMPeqclUOgbFKwCbznD5VDI+9d7AYzjeTQqOL40YwQ9vZiR1nKdM - o9Xp4f9t056GAghqbwUrTKnXGxr7Gqzn/cqVG6/Le1d+/b85CkOmexyehRfh - NLwJg1lBAEKQgGlErm+vwPcQ5S0EA/A8zH2M26/BAsozehF4EJ74GL0QPAbn - 4a9viBKCI3A3juXP4U2yFb6FpTIJ7xIDfApeQ6/vInbbR7miFryMquTodeiP - 4Ul6CvbQt5F5gkuohwrwKpwlQ+g5jfM8vTbjXb/l9D64B689MA4zSKtNe+sH - /wTGlV/irO6BPfBp2A2Hr7N4iXyJ4b5hvfAlzOkrKuZZFeqD7CD9OqXXHkbm - j2EMf1GCc6en2W5o1drIiwA+f3+4r7enuyvUue+2vR172oNtAX9rS/NuX1Pj - rbtu2dlQv2N73dYaT3VVZdmW0pJiebPLWWi3CVZLbo7JaNDrtBpGCVT65UBE - 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 - wT4JhxCbhNHfGX8v2h9Q43BJAvUnUNqjIgm05ZZjMI0j5B53Y6wRRCbUKEnU - rFLH9bt9/D75fpVKrUm24rh43qph20fa/j7Pf1hGMrkfU72kVd8ZzYTquw81 - elStkGrJc5FWo02oWr0fEbETI46iPc/ch5ojqu808hnPk0iPZ7N6EDOeVEcQ - U+1W55bCyL+9BrwGk1iFkzdliY9uRo15m4qn1ZrisnGVm4KdeNfx4H2Df6pR - 50bPI1m/1Sp1BDX/p3Zp3CFTah7j6jqPoW5mzatVn0ewvvZmMzSh1j3P0PR1 - c8zk5uNqLaD2mZ1z+AY/fGV5z21XR5/Kjn9UjZPJ2hReJzHvcTXb1So6ps4x - gWuYQOr68fEVG8tiN49mdSw3zuf/MjbLPt24MOJHtHlj5GWixzt2k3q9SDS+ - fnL5GvnuNSJdIyd+Q0K/IbPvnnmX/sfVcucLVy9epZ3vDL/zwjus5h1ifYcY - YElYCi1FlqaWnlrSmaxXiBl+Tmz/crne+VPvpb6feN/qg0tkV+jS7CXlEuNP - fwOXDDmBS4T1vcVEp7AoLdYsTi3OLr6xeHnx6qJh9uUzL9O/esnjtL7kfIk6 - z3eeP3GeRZ4j1uecz9HQk5En6ZmzxHrWedZzln3hiWrnE21Fzsce3eK8/OjV - R9WHy7pHc22B4c+TEw89+BCdOjl78sxJNnvvmXvpCzMXZ2gqVO6cnHA7J9oq - nOu9hX16L+vTsRUnt2w9UFIWiAz7nMOodMdAjXOgrdyZ783r0+JgNahoZU71 - 7cwke5BdZHpDd6jI2YW/y6GrIWrtdHZ6OtX/x9EOFzraM7Vndg9rD5Q7g231 - Tmubs83T9t22n7a906YbbiNfwm/ghcDFAPMFyj0BX6DIFdgYdPSJ3oI+wWvt - owT6iBf6PNYVK7Vah60nrMwKTUBnRaIlC+TMfG+P292xoF/p7lAMoTsUcr9S - 0sOvvq4BRXe/An0Dd4TnCflc/72nT0Pzpg6ltiesRDb1dygxJHycmEVC2DQv - QnN/KpXm/w/c+C8ByWm8gnsaoaFUBgT3qhjcKZJKQSpF3FymkohAys1hjnAb - gpZDKeAXLnWrWpxKpQqH/hs5V1/1CmVuZHN0cmVhbQplbmRvYmoKCjYgMCBv - YmoKNTA1MgplbmRvYmoKCjcgMCBvYmoKPDwvVHlwZS9Gb250RGVzY3JpcHRv - ci9Gb250TmFtZS9CQUFBQUErTGliZXJhdGlvblNlcmlmCi9GbGFncyA0Ci9G - b250QkJveFstMTc2IC0zMDMgMTAwNSA5ODFdL0l0YWxpY0FuZ2xlIDAKL0Fz - Y2VudCA4OTEKL0Rlc2NlbnQgLTIxNgovQ2FwSGVpZ2h0IDk4MQovU3RlbVYg - ODAKL0ZvbnRGaWxlMiA1IDAgUgo+PgplbmRvYmoKCjggMCBvYmoKPDwvTGVu - Z3RoIDI1Ni9GaWx0ZXIvRmxhdGVEZWNvZGU+PgpzdHJlYW0KeJxdkMtuxCAM - Rfd8hZfTxYgknSRdREijqUbKog817QcQcFKkBhAhi/x9eUxbqQvQMfa1uaaX - /rHXytNXZ8SAHialpcPVbE4gjDgrTcoKpBL+FqVbLNwSGrTDvnpcej2ZriP0 - LeRW73Y4nKUZ8Y7QFyfRKT3D4eMyhHjYrP3CBbWHgjAGEqfQ54nbZ74gTapj - L0Na+f0YJH8F77tFqFJc5q8II3G1XKDjekbSFQWD7nplBLX8l2uzYpzEJ3eh - sgyVRVG3LHCVuHmIfJ+5jHxK3J4i1/m9jtzk9yZym7lKM2/d4/S4nh9XIDbn - gqO0w2QlmlAa4XfP1tgoS+cbZPJ7dQplbmRzdHJlYW0KZW5kb2JqCgo5IDAg - b2JqCjw8L1R5cGUvRm9udC9TdWJ0eXBlL1RydWVUeXBlL0Jhc2VGb250L0JB - QUFBQStMaWJlcmF0aW9uU2VyaWYKL0ZpcnN0Q2hhciAwCi9MYXN0Q2hhciA3 - Ci9XaWR0aHNbMzY1IDk0MyA1MDAgNDQzIDI3NyA0NDMgNTAwIDMzMyBdCi9G - b250RGVzY3JpcHRvciA3IDAgUgovVG9Vbmljb2RlIDggMCBSCj4+CmVuZG9i - agoKMTAgMCBvYmoKPDwvRjEgOSAwIFIKPj4KZW5kb2JqCgoxMSAwIG9iago8 - PC9Gb250IDEwIDAgUgovUHJvY1NldFsvUERGL1RleHRdCj4+CmVuZG9iagoK - MSAwIG9iago8PC9UeXBlL1BhZ2UvUGFyZW50IDQgMCBSL1Jlc291cmNlcyAx - MSAwIFIvTWVkaWFCb3hbMCAwIDYxMiA3OTJdL0dyb3VwPDwvUy9UcmFuc3Bh - cmVuY3kvQ1MvRGV2aWNlUkdCL0kgdHJ1ZT4+L0NvbnRlbnRzIDIgMCBSPj4K - ZW5kb2JqCgo0IDAgb2JqCjw8L1R5cGUvUGFnZXMKL1Jlc291cmNlcyAxMSAw - IFIKL01lZGlhQm94WyAwIDAgNjEyIDc5MiBdCi9LaWRzWyAxIDAgUiBdCi9D - b3VudCAxPj4KZW5kb2JqCgoxMiAwIG9iago8PC9UeXBlL0NhdGFsb2cvUGFn - ZXMgNCAwIFIKL09wZW5BY3Rpb25bMSAwIFIgL1hZWiBudWxsIG51bGwgMF0K - L0xhbmcoZW4tQ0EpCj4+CmVuZG9iagoKMTMgMCBvYmoKPDwvQ3JlYXRvcjxG - RUZGMDA1NzAwNzIwMDY5MDA3NDAwNjUwMDcyPgovUHJvZHVjZXI8RkVGRjAw - NEMwMDY5MDA2MjAwNzIwMDY1MDA0RjAwNjYwMDY2MDA2OTAwNjMwMDY1MDAy - MDAwMzUwMDJFMDAzMj4KL0NyZWF0aW9uRGF0ZShEOjIwMTcwNTE2MTUyNjA0 - LTA2JzAwJyk+PgplbmRvYmoKCnhyZWYKMCAxNAowMDAwMDAwMDAwIDY1NTM1 - IGYgCjAwMDAwMDYxNjUgMDAwMDAgbiAKMDAwMDAwMDAxOSAwMDAwMCBuIAow - MDAwMDAwMTk0IDAwMDAwIG4gCjAwMDAwMDYzMDggMDAwMDAgbiAKMDAwMDAw - MDIxNCAwMDAwMCBuIAowMDAwMDA1MzUwIDAwMDAwIG4gCjAwMDAwMDUzNzEg - MDAwMDAgbiAKMDAwMDAwNTU2NiAwMDAwMCBuIAowMDAwMDA1ODkxIDAwMDAw - IG4gCjAwMDAwMDYwNzggMDAwMDAgbiAKMDAwMDAwNjExMCAwMDAwMCBuIAow - MDAwMDA2NDA3IDAwMDAwIG4gCjAwMDAwMDY1MDQgMDAwMDAgbiAKdHJhaWxl - cgo8PC9TaXplIDE0L1Jvb3QgMTIgMCBSCi9JbmZvIDEzIDAgUgovSUQgWyA8 - RUYwMDJGOTBERUYwNkIyRURDMDA4QkE0QTQwMkVCNkM+CjxFRjAwMkY5MERF - RjA2QjJFREMwMDhCQTRBNDAyRUI2Qz4gXQovRG9jQ2hlY2tzdW0gL0FGRjM4 - REM2NjIwMjY0N0EyNDQxRDE3MDJGNkVCRUU0Cj4+CnN0YXJ0eHJlZgo2Njc5 - CiUlRU9GCg== - http_version: - recorded_at: Tue, 16 May 2017 21:47:14 GMT + encoding: UTF-8 + base64_string: | + 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 + VxIaxh6+TFqZjdb/CzDboD2V/y+lMq2U756YercUz+gkLe09Yp4OBp6QAe0f + JJ6vZhgTNkt+Ncj3i+T9KulRRllpbpBC3y15fo30YAtJCKB8Q+LtVYK20qPV + SN7ebz1rL0Y8ppv03l58lkiv/Yi8Okm4U61430Xrs1KXWZ+3kHoq4yPp7Zen + KE+v7F6TXsF77lSMsId3yPJisTS+9NXn961wtvviYdeLXZI3E8WDh5DvxQBl + sDMogY6Tlustq2LZx/z1k4C352CbtpGu+VlfJnv4WF6dpNWslcSHwdG0VrDc + RGsJ280hzNwrxDRqssySGyVPe2K2R48j82lqnyd5Xn/gGV9ePyPv70mLPQWj + wHo7CbH5E8RUtO97zfr8hLwPJnGoVGWG+PSXNNmKQcmOetwS0EG1S+JfJSb4 + cSmu9cdjkM982iKmWLo4ZHKUPSONUG8SqjsHA5RBYC+cJ417aBrPRq57571B + fyr9tY5iF58hXW420k/tksQz3TODoDctVU0bpVUeB/yD5E2XLBuUijR5Xikt + +E3SmEy3TNVDSD8fM0Zs/23SKIZxNGnp41WKSXYtsNQanwXJl2p08YH0nJPE + dGwMWAaBCeT1OkOT2P7eILqa9PK4+1OYP7bbe3WS3sB7xp3STT+fwjPi1yBL + phW2itaz1F3J7cj2RhnveUenvCgOkjfFHu9Pdica7BMzZWiSitxGBuy1Msi+ + Ulrdm6zyGpzEsqiW8O6UsV6Yw7I+tnrxZOUTFtdiFF9/m8TczxSPXklIletJ + H7NkHNTXMmUzlUFgAq2TMchVJFQ/q4ELrPHJNilUu8u3W66tUvG9DPcEG+1C + fkzCONJqSS+xWnrPZOuQxLbeYLUU3TGnrlVYvYzX9fa3SNRGxm8zk/SEJOmp + kmGmjKkeE3Our8Rlvwxwb8fMfGdqwJKZ0Y9LjzvM55zxWkZvXmkn8K5VEWdI + 43SNdd9pkt+9JG6eeEjfgPHZKI3DZVYv1M1yGlSmyKfKND33LuueuhT57Y/H + k5KGMdZvF1kESlV2lb44+eM1V+pVdYgyCOXGXiA2/Y3iUeoviWkSYrwnBVYn + CawRVyrSRe+VDBshY4zOYtqMEMavkNZ8n5g+9cL8GTJg3iuD/V6S0BXiedos + n1dJWPVCoLeE8AN9ptW7kuHtxcxaZHmzRoqnsVbSs15IMUIKqJHWh9o2S+Y3 + iev2ahlsnyzP+zfSn+rmPbOPjCHXWY6S9yTtN0leDsEcJrVZxjmdpSE6Ue7/ + TxIqOx9I4zNWxg1rSMgJnyrk7ib5US+E+1TSMFamI7bT8hzWhVLuN8pURm8p + n56S13VSxu/KM78prt8VVqtujz0vkDT1AP5XyLhX8vhyKbsucu06a3yzVPJk + tDXFsFbCusKamlgr6TlPGtdGif+lUkc+lms8C6ib1AX7EOV0ZeDg4ODg4ODg + 4ODg4ODg4OAQDv8P9LRKxM4Tk9wAAAAASUVORK5CYII= + http_version: + recorded_at: Fri, 16 Mar 2018 21:06:21 GMT - request: method: get - uri: http://www.example.com:8983/solr/test/select?fl=id&q=accessTo_ssim:9p2909328&wt=json + uri: http://www.example.com:8080/fcrepo/rest/test/85/64/44/b6/856444b6-8dd5-4dfa-857d-435e354a2ead/files/04bb7928-cc5d-4338-8062-3209274b29da/fcr:fixity body: encoding: US-ASCII string: '' @@ -880,34 +2174,74 @@ http_interactions: Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: - - "*/*" + - text/rdf+n3 User-Agent: - Ruby Host: - - www.example.com:8983 + - www.example.com:8080 + Authorization: + - Basic ZmVkb3JhQWRtaW46ZmVkb3JhQWRtaW4= response: status: code: 200 - message: OK + message: '' headers: - Last-Modified: - - Tue, 16 May 2017 21:36:29 GMT - Etag: - - '"NWE0MDAwMDAwMDAwMDAwMFNvbHI="' Content-Type: - - application/json; charset=UTF-8 - Transfer-Encoding: - - chunked + - text/rdf+n3;charset=utf-8 + Content-Length: + - '2661' + Date: + - Fri, 16 Mar 2018 21:06:20 GMT body: encoding: UTF-8 - string: '{"responseHeader":{"status":0,"QTime":1,"params":{"q":"accessTo_ssim:9p2909328","fl":"id","wt":"json"}},"response":{"numFound":3,"start":0,"docs":[{"id":"ffd40638-290a-41f7-bcb2-4e0e54fc3ffd"},{"id":"ef4319c0-2f7a-44c0-b1b5-cd650aa4a075"},{"id":"e1910293-34b3-42bb-9179-f67f37eb145e"}]},"facet_counts":{"facet_queries":{},"facet_fields":{"active_fedora_model_ssi":["Hydra::AccessControls::Permission",3],"object_type_si":[]},"facet_dates":{},"facet_ranges":{},"facet_intervals":{}},"spellcheck":{"suggestions":["correctlySpelled",true]}} + string: | + @prefix premis: . + @prefix rdfs: . + @prefix ns004: . + @prefix ns003: . + @prefix ns002: . + @prefix xsi: . + @prefix ns001: . + @prefix ns008: . + @prefix ns007: . + @prefix ns006: . + @prefix xmlns: . + @prefix ns005: . + @prefix xml: . + @prefix ns009: . + @prefix fedoraconfig: . + @prefix foaf: . + @prefix test: . + @prefix ns011: . + @prefix ns010: . + @prefix ns015: . + @prefix ns014: . + @prefix ns013: . + @prefix ns012: . + @prefix ns019: . + @prefix ns018: . + @prefix ns017: . + @prefix ns016: . + @prefix fedora: . + @prefix rdf: . + @prefix ebucore: . + @prefix ldp: . + @prefix xs: . + @prefix dc: . -' - http_version: - recorded_at: Tue, 16 May 2017 21:47:14 GMT + + a premis:EventOutcomeDetail , premis:Fixity ; + premis:hasEventOutcome "SUCCESS"^^ ; + premis:hasMessageDigest ; + premis:hasSize "5612"^^ . + + + premis:hasFixity . + http_version: + recorded_at: Fri, 16 Mar 2018 21:06:21 GMT - request: method: get - uri: http://www.example.com:8080/fcrepo/rest/test/ff/d4/06/38/ffd40638-290a-41f7-bcb2-4e0e54fc3ffd + uri: http://www.example.com:8080/fcrepo/rest/test/83/79/77/d6/837977d6-de61-49ea-a912-a65af5c9005e body: encoding: US-ASCII string: '' @@ -925,12 +2259,12 @@ http_interactions: response: status: code: 200 - message: OK + message: '' headers: Etag: - - '"565c1476d8c61889f49e2a6aff91113e3c3489d6"' + - W/"0e6ac801924725695dfc56a1db7f32f0dbda9163" Last-Modified: - - Tue, 16 May 2017 21:26:58 GMT + - Fri, 09 Mar 2018 18:53:33 GMT Link: - ;rel="type" - ;rel="type" @@ -938,7 +2272,7 @@ http_interactions: Accept-Patch: - application/sparql-update Accept-Post: - - text/turtle,text/rdf+n3,text/n3,application/rdf+xml,application/n-triples,multipart/form-data,application/sparql-update + - text/turtle,text/rdf+n3,text/n3,application/rdf+xml,application/n-triples,application/ld+json,multipart/form-data,application/sparql-update Allow: - MOVE,COPY,DELETE,POST,HEAD,GET,PUT,PATCH,OPTIONS Preference-Applied: @@ -946,58 +2280,72 @@ http_interactions: Vary: - Accept, Range, Accept-Encoding, Accept-Language - Prefer - Content-Length: - - '3759' Content-Type: - - text/rdf+n3 + - text/rdf+n3;charset=utf-8 + Content-Length: + - '4145' + Date: + - Fri, 16 Mar 2018 21:06:20 GMT body: encoding: UTF-8 - string: "@prefix premis: .\n@prefix nt: - .\n@prefix rdfs: - .\n@prefix ns004: .\n@prefix ns003: - .\n@prefix ns002: .\n@prefix - ns001: .\n@prefix xsi: - .\n@prefix ns008: .\n@prefix mode: - .\n@prefix ns007: .\n@prefix ns006: - .\n@prefix ns005: - .\n@prefix xml: .\n@prefix ns009: - .\n@prefix fedoraconfig: .\n@prefix - mix: .\n@prefix foaf: - .\n@prefix image: .\n@prefix sv: - .\n@prefix test: .\n@prefix ns011: - .\n@prefix ns010: .\n@prefix - ns015: .\n@prefix ns014: - .\n@prefix ns013: .\n@prefix ns012: - .\n@prefix rdf: .\n@prefix fedora: - .\n@prefix ldp: - .\n@prefix xs: .\n@prefix dc: - .\n\n\n - a ldp:RDFSource , ldp:Container , , - , - , , fedora:Container , fedora:Resource - , fedora:Resource , , - , ;\n\tns005:accessTo - ;\n\tfedora:lastModifiedBy \"bypassAdmin\"^^ - ;\n\tfedora:uuid \"5500b30e-8181-49b7-8322-6d71545942cf\"^^ - ;\n\tfedora:createdBy \"bypassAdmin\"^^ - ;\n\tfedora:primaryType \"nt:folder\"^^ - ;\n\tfedora:created \"2017-05-16T21:26:58.414Z\"^^ - ;\n\tfedora:mixinTypes \"fedora:Container\"^^ - , \"fedora:Resource\"^^ ;\n\tfedora:lastModified - \"2017-05-16T21:26:58.414Z\"^^ - ;\n\tns005:mode ns005:Write ;\n\tns001:hasModel \"Hydra::AccessControls::Permission\"^^ - ;\n\tns005:agent - ;\n\tfedora:writable \"true\"^^ - ;\n\tfedora:hasParent ;\n\tfedora:exportsAs - - .\n\n - dc:format .\n\n - rdfs:label \"jcr/xml\"^^ .\n" - http_version: - recorded_at: Tue, 16 May 2017 21:47:14 GMT + string: | + @prefix premis: . + @prefix rdfs: . + @prefix ns004: . + @prefix ns003: . + @prefix ns002: . + @prefix xsi: . + @prefix ns001: . + @prefix ns008: . + @prefix ns007: . + @prefix ns006: . + @prefix xmlns: . + @prefix ns005: . + @prefix xml: . + @prefix ns009: . + @prefix fedoraconfig: . + @prefix foaf: . + @prefix test: . + @prefix ns011: . + @prefix ns010: . + @prefix ns015: . + @prefix ns014: . + @prefix ns013: . + @prefix ns012: . + @prefix ns019: . + @prefix ns018: . + @prefix ns017: . + @prefix ns016: . + @prefix fedora: . + @prefix rdf: . + @prefix ebucore: . + @prefix ldp: . + @prefix xs: . + @prefix dc: . + + + a fedora:Container , ldp:RDFSource , ns005:Object , fedora:Resource , ns007:FileSet , ldp:Container ; + fedora:created "2018-03-09T18:53:33.018Z"^^ ; + fedora:createdBy "bypassAdmin"^^ ; + fedora:hasParent ; + fedora:lastModified "2018-03-09T18:53:33.375Z"^^ ; + fedora:lastModifiedBy "bypassAdmin"^^ ; + fedora:writable "true"^^ ; + ns005:hasFile ; + ns005:memberOf ; + ns003:accessRights "http://terms.library.ualberta.ca/public"^^ ; + ns003:title "image-sample.jpeg"^^ ; + ns002:owner 2705 ; + ns010:recordCreatedInJupiter "2018-03-09T18:53:32.996Z"^^ ; + ns010:sitemapLink ""^^ ; + ebucore:dateIngested "2018-03-09T18:53:32.996Z"^^ ; + ldp:contains , ; + ns001:hasModel "IRFileSet"^^ . + http_version: + recorded_at: Fri, 16 Mar 2018 21:06:21 GMT - request: method: get - uri: http://www.example.com:8080/fcrepo/rest/test/ef/43/19/c0/ef4319c0-2f7a-44c0-b1b5-cd650aa4a075 + uri: http://www.example.com:8080/fcrepo/rest/test/83/79/77/d6/837977d6-de61-49ea-a912-a65af5c9005e/files/956ee84b-ef1a-4e1e-955e-0707e34df4b8/fcr:metadata body: encoding: US-ASCII string: '' @@ -1015,20 +2363,19 @@ http_interactions: response: status: code: 200 - message: OK + message: '' headers: Etag: - - '"d017b399c2b892eec7230039d70280fe33a0cc12"' + - W/"b499b8236cd14853e2b5541a35776a7a19702787" Last-Modified: - - Tue, 16 May 2017 21:28:47 GMT + - Fri, 09 Mar 2018 18:53:35 GMT Link: - - ;rel="type" - - ;rel="type" + - ; + rel="describes" + - ;rel="type" - ;rel="type" Accept-Patch: - application/sparql-update - Accept-Post: - - text/turtle,text/rdf+n3,text/n3,application/rdf+xml,application/n-triples,multipart/form-data,application/sparql-update Allow: - MOVE,COPY,DELETE,POST,HEAD,GET,PUT,PATCH,OPTIONS Preference-Applied: @@ -1036,57 +2383,81 @@ http_interactions: Vary: - Accept, Range, Accept-Encoding, Accept-Language - Prefer - Content-Length: - - '3744' Content-Type: - - text/rdf+n3 + - text/rdf+n3;charset=utf-8 + Content-Length: + - '4555' + Date: + - Fri, 16 Mar 2018 21:06:21 GMT body: encoding: UTF-8 - string: "@prefix premis: .\n@prefix nt: - .\n@prefix rdfs: - .\n@prefix ns004: .\n@prefix ns003: - .\n@prefix ns002: .\n@prefix - ns001: .\n@prefix xsi: - .\n@prefix ns008: .\n@prefix mode: - .\n@prefix ns007: .\n@prefix ns006: - .\n@prefix ns005: - .\n@prefix xml: .\n@prefix ns009: - .\n@prefix fedoraconfig: .\n@prefix - mix: .\n@prefix foaf: - .\n@prefix image: .\n@prefix sv: - .\n@prefix test: .\n@prefix ns011: - .\n@prefix ns010: .\n@prefix - ns015: .\n@prefix ns014: - .\n@prefix ns013: .\n@prefix ns012: - .\n@prefix rdf: .\n@prefix fedora: - .\n@prefix ldp: - .\n@prefix xs: .\n@prefix dc: - .\n\n\n - a ldp:RDFSource , ldp:Container , , - , - , , fedora:Container , fedora:Resource - , fedora:Resource , , - , ;\n\tns005:accessTo - ;\n\tfedora:lastModifiedBy \"bypassAdmin\"^^ - ;\n\tfedora:uuid \"73139ad6-d9d3-4e09-bc6a-639577686454\"^^ - ;\n\tfedora:createdBy \"bypassAdmin\"^^ - ;\n\tfedora:primaryType \"nt:folder\"^^ - ;\n\tfedora:created \"2017-05-16T21:28:47.376Z\"^^ - ;\n\tfedora:mixinTypes \"fedora:Container\"^^ - , \"fedora:Resource\"^^ ;\n\tfedora:lastModified - \"2017-05-16T21:28:47.376Z\"^^ - ;\n\tns005:mode ns005:Read ;\n\tns001:hasModel \"Hydra::AccessControls::Permission\"^^ - ;\n\tns005:agent ;\n\tfedora:writable - \"true\"^^ ;\n\tfedora:hasParent - ;\n\tfedora:exportsAs - .\n\n - dc:format .\n\n - rdfs:label \"jcr/xml\"^^ .\n" - http_version: - recorded_at: Tue, 16 May 2017 21:47:14 GMT + string: | + @prefix premis: . + @prefix rdfs: . + @prefix ns004: . + @prefix ns003: . + @prefix ns002: . + @prefix xsi: . + @prefix ns001: . + @prefix ns008: . + @prefix ns007: . + @prefix ns006: . + @prefix xmlns: . + @prefix ns005: . + @prefix xml: . + @prefix ns009: . + @prefix fedoraconfig: . + @prefix foaf: . + @prefix test: . + @prefix ns011: . + @prefix ns010: . + @prefix ns015: . + @prefix ns014: . + @prefix ns013: . + @prefix ns012: . + @prefix ns019: . + @prefix ns018: . + @prefix ns017: . + @prefix ns016: . + @prefix fedora: . + @prefix rdf: . + @prefix ebucore: . + @prefix ldp: . + @prefix xs: . + @prefix dc: . + + + a ldp:NonRDFSource , ns005:File , fedora:Binary , ns011:OriginalFile , fedora:Resource ; + fedora:created "2018-03-09T18:53:33.16Z"^^ ; + fedora:createdBy "bypassAdmin"^^ ; + fedora:hasFixityService ; + fedora:hasParent ; + fedora:lastModified "2018-03-09T18:53:35.73Z"^^ ; + fedora:lastModifiedBy "bypassAdmin"^^ ; + fedora:writable "true"^^ ; + ns017:valid "true"^^ ; + ns017:wellFormed "true"^^ ; + ns019:compressionScheme "JPEG"^^ ; + ns018:byteOrder "big endian"^^ ; + ebucore:fileSize "12401"^^ ; + ebucore:filename "image-sample.jpeg"^^ ; + ebucore:hasMimeType "image/jpeg"^^ ; + ebucore:height "183"^^ ; + ebucore:width "276"^^ ; + ns014:describedby ; + premis:hasCreatingApplicationVersion + "1.2.0"^^ ; + premis:hasFormatName "JPEG File Interchange Format"^^ ; + premis:hasMessageDigest ; + premis:hasSize "12401"^^ ; + ns016:hashValue "71179c73ffd133cf0f25e3f7b3572ef7"^^ ; + ns015:colorSpace "YCbCr"^^ ; + ns015:exifVersion "10.00"^^ . + http_version: + recorded_at: Fri, 16 Mar 2018 21:06:21 GMT - request: method: get - uri: http://www.example.com:8080/fcrepo/rest/test/e1/91/02/93/e1910293-34b3-42bb-9179-f67f37eb145e + uri: http://www.example.com:8080/fcrepo/rest/test/83/79/77/d6/837977d6-de61-49ea-a912-a65af5c9005e/files/956ee84b-ef1a-4e1e-955e-0707e34df4b8 body: encoding: US-ASCII string: '' @@ -1094,7 +2465,7 @@ http_interactions: Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: - - text/rdf+n3 + - "*/*" User-Agent: - Ruby Host: @@ -1104,76 +2475,390 @@ http_interactions: response: status: code: 200 - message: OK + message: '' headers: Etag: - - '"082f136e28c8d10a7030ae5f53c0fe4cf2a81c01"' + - '"25ab58161ecfa406e4767f24ccec58dd7b7d8f8c"' + - '"25ab58161ecfa406e4767f24ccec58dd7b7d8f8c"' Last-Modified: - - Tue, 16 May 2017 21:28:47 GMT + - Fri, 09 Mar 2018 18:53:33 GMT + - Fri, 09 Mar 2018 18:53:33 GMT + Accept-Ranges: + - bytes + Content-Disposition: + - attachment; filename="image-sample.jpeg"; creation-date="Fri, 09 Mar 2018 + 18:53:33 GMT"; modification-date="Fri, 09 Mar 2018 18:53:35 GMT"; size=12401 Link: - - ;rel="type" - - ;rel="type" + - ; + rel="describedby" + - ;rel="type" - ;rel="type" - Accept-Patch: - - application/sparql-update - Accept-Post: - - text/turtle,text/rdf+n3,text/n3,application/rdf+xml,application/n-triples,multipart/form-data,application/sparql-update Allow: - - MOVE,COPY,DELETE,POST,HEAD,GET,PUT,PATCH,OPTIONS - Preference-Applied: - - return=representation - Vary: - - Accept, Range, Accept-Encoding, Accept-Language - - Prefer - Content-Length: - - '3852' + - DELETE,HEAD,GET,PUT,OPTIONS + Cache-Control: + - no-transform, must-revalidate, max-age=0 Content-Type: + - image/jpeg + Content-Length: + - '12401' + Date: + - Fri, 16 Mar 2018 21:06:21 GMT + body: + encoding: UTF-8 + base64_string: | + /9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAkGBxMTEhUTExIWFhUXGBobGBgY + GRcfIBsiHR0aHR0aGhseHyggGhslGxkaITEhJSkrLi4uHh8zODMsNygtLi0B + CgoKDg0OGhAQGi0lICUtLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t + LS0tLS0tLS0tLS0tLS0tLS0tN//AABEIALcBFAMBIgACEQEDEQH/xAAcAAAC + AgMBAQAAAAAAAAAAAAAFBgMEAAIHAQj/xAA+EAABAgQEAwYEBQMCBgMAAAAB + AhEAAyExBAUSQVFhcQYTIoGRoTKxwfAjQlLR4QcU8TNiQ3KCkrLCFRa0/8QA + GAEAAwEBAAAAAAAAAAAAAAAAAAECAwT/xAAjEQACAgIDAQABBQAAAAAAAAAA + AQIREiEDMUFRMhMiUmGB/9oADAMBAAIRAxEAPwDm65RdqA8ONI9/szp1AWNe + ZP0joistl4iXpZKZgT8TMW09PeEzMsmm4ctqOg1dqUvGSlZimwfi8JY6QBT3 + itJw4D6ri1vtovSZM1aSEp1Vbnxtf2j04LSHXqBFwUtfnFXQ7ZNkuXoVOSRV + KDqqwtYtc1aNs61d7MWAwcCzM1L8yHglkGKSVaAA4QoAtU1dqXvE2GyJTeNZ + 0rGpKQ/iIIormA/SsKxv8SHJ56u70qFdnNWHXrfrBLJcMkhSikVGoHSksKiw + Ll/WJcVlE2bLUmQlS1UBICiEubg8WDcgeMWZHZ3EykpQmWsFPjUo11Bw6QX8 + INYl20OSxVL/AErr7n8VKkgJJcgp2AFU0p4triFFWBNCFJuWsAKmnX25w75t + kOMVMWRJUpJHhISAeNtT0gZJ7N4paVAJUpQD6QA7v8NFODf0iVFoyp3oWVSv + DUhnZum/BoYsuyGWqUguRMNdRAZIrYdCDXlziTCYOUhRK5RVMQVMVUB4DSaE + ggj96RJhMQnRpmFTlQ0uaivi1XcFqfzDfQMc5OWAS2UkKGmqhpBDA7NZ9niP + EpSqR3ktCVTEp0p0gAAqYVcbEB+kB8NidZdBKZqEksbF9mtV+G8FE5kCTIYD + w/iKBZiaMOZcF/KMH2Kyp2hwcxMhIlFJKm1DSNSnuAR8NntAnNc3CUJlyChR + AVrOh2YfCFM9gXAERdpkT8MoGWtJSUFKSo1HFVTVZfm0J2GkrJ0rmadTF3Ll + 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 + bU2GRkAhZzxYEwfiIql6BfE8UxkZGQCP/9k= + http_version: + recorded_at: Fri, 16 Mar 2018 21:06:21 GMT +- request: + method: get + uri: http://www.example.com:8080/fcrepo/rest/test/83/79/77/d6/837977d6-de61-49ea-a912-a65af5c9005e/files/956ee84b-ef1a-4e1e-955e-0707e34df4b8/fcr:fixity + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: - text/rdf+n3 + User-Agent: + - Ruby + Host: + - www.example.com:8080 + Authorization: + - Basic ZmVkb3JhQWRtaW46ZmVkb3JhQWRtaW4= + response: + status: + code: 200 + message: '' + headers: + Content-Type: + - text/rdf+n3;charset=utf-8 + Content-Length: + - '2662' + Date: + - Fri, 16 Mar 2018 21:06:21 GMT body: encoding: UTF-8 - string: "@prefix premis: .\n@prefix nt: - .\n@prefix rdfs: - .\n@prefix ns004: .\n@prefix ns003: - .\n@prefix ns002: .\n@prefix - ns001: .\n@prefix xsi: - .\n@prefix ns008: .\n@prefix mode: - .\n@prefix ns007: .\n@prefix ns006: - .\n@prefix ns005: - .\n@prefix xml: .\n@prefix ns009: - .\n@prefix fedoraconfig: .\n@prefix - mix: .\n@prefix foaf: - .\n@prefix image: .\n@prefix sv: - .\n@prefix test: .\n@prefix ns011: - .\n@prefix ns010: .\n@prefix - ns015: .\n@prefix ns014: - .\n@prefix ns013: .\n@prefix ns012: - .\n@prefix rdf: .\n@prefix fedora: - .\n@prefix ldp: - .\n@prefix xs: .\n@prefix dc: - .\n\n\n - a ldp:RDFSource , ldp:Container , , - , - , , fedora:Container , fedora:Resource - , fedora:Resource , , - , ;\n\tns005:accessTo - ;\n\tfedora:lastModifiedBy \"bypassAdmin\"^^ - ;\n\tfedora:uuid \"d0bfd66b-64ae-4c73-9b8d-eaef81fe1394\"^^ - ;\n\tfedora:createdBy \"bypassAdmin\"^^ - ;\n\tfedora:primaryType \"nt:folder\"^^ - ;\n\tfedora:created \"2017-05-16T21:28:47.72Z\"^^ - ;\n\tfedora:mixinTypes \"fedora:Container\"^^ - , \"fedora:Resource\"^^ ;\n\tfedora:lastModified - \"2017-05-16T21:28:47.72Z\"^^ ;\n\tns005:mode - ns005:Read ;\n\tns001:hasModel \"Hydra::AccessControls::Permission\"^^ - ;\n\tns005:agent - ;\n\tfedora:writable \"true\"^^ - ;\n\tfedora:hasParent .\n\n - dc:format .\n\n - fedora:exportsAs - .\n\n rdfs:label \"jcr/xml\"^^ - .\n" - http_version: - recorded_at: Tue, 16 May 2017 21:47:14 GMT + string: | + @prefix premis: . + @prefix rdfs: . + @prefix ns004: . + @prefix ns003: . + @prefix ns002: . + @prefix xsi: . + @prefix ns001: . + @prefix ns008: . + @prefix ns007: . + @prefix ns006: . + @prefix xmlns: . + @prefix ns005: . + @prefix xml: . + @prefix ns009: . + @prefix fedoraconfig: . + @prefix foaf: . + @prefix test: . + @prefix ns011: . + @prefix ns010: . + @prefix ns015: . + @prefix ns014: . + @prefix ns013: . + @prefix ns012: . + @prefix ns019: . + @prefix ns018: . + @prefix ns017: . + @prefix ns016: . + @prefix fedora: . + @prefix rdf: . + @prefix ebucore: . + @prefix ldp: . + @prefix xs: . + @prefix dc: . + + + premis:hasFixity . + + + a premis:EventOutcomeDetail , premis:Fixity ; + premis:hasEventOutcome "SUCCESS"^^ ; + premis:hasMessageDigest ; + premis:hasSize "12401"^^ . + http_version: + recorded_at: Wed, 07 Jun 2017 20:55:44 GMT - request: method: get uri: http://example.com:8080/auth/v1.0 @@ -1264,7 +2949,7 @@ http_interactions: recorded_at: Wed, 07 Jun 2017 20:55:44 GMT - request: method: head - uri: http://example.com:8080/v1/AUTH_test/ERA/9p2909328 + uri: http://example.com:8080/v1/AUTH_test/ERA/6841cece-41f1-4edf-ab9a-59459a127c77 body: encoding: US-ASCII string: '' @@ -1287,7 +2972,7 @@ http_interactions: message: OK headers: X-Object-Meta-Project-Id: - - 9p2909328 + - 6841cece-41f1-4edf-ab9a-59459a127c77 Content-Length: - '66560' X-Object-Meta-Aip-Version: @@ -1319,7 +3004,7 @@ http_interactions: recorded_at: Wed, 07 Jun 2017 20:55:44 GMT - request: method: head - uri: http://example.com:8080/v1/AUTH_test/ERA/9p2909328 + uri: http://example.com:8080/v1/AUTH_test/ERA/6841cece-41f1-4edf-ab9a-59459a127c77 body: encoding: US-ASCII string: '' @@ -1342,7 +3027,7 @@ http_interactions: message: OK headers: X-Object-Meta-Project-Id: - - 9p2909328 + - 6841cece-41f1-4edf-ab9a-59459a127c77 Content-Length: - '66560' X-Object-Meta-Aip-Version: @@ -1374,7 +3059,7 @@ http_interactions: recorded_at: Wed, 07 Jun 2017 20:55:44 GMT - request: method: put - uri: http://example.com:8080/v1/AUTH_test/ERA/9p2909328 + uri: http://example.com:8080/v1/AUTH_test/ERA/6841cece-41f1-4edf-ab9a-59459a127c77 body: encoding: ASCII-8BIT string: !binary |- @@ -2876,7 +4561,7 @@ http_interactions: X-Object-Meta-Project: - ERA X-Object-Meta-Project-Id: - - 9p2909328 + - 6841cece-41f1-4edf-ab9a-59459a127c77 X-Object-Meta-Promise: - bronze X-Object-Meta-Aip-Version: @@ -2911,7 +4596,7 @@ http_interactions: recorded_at: Wed, 07 Jun 2017 20:55:44 GMT - request: method: head - uri: http://example.com:8080/v1/AUTH_test/ERA/9p2909328 + uri: http://example.com:8080/v1/AUTH_test/ERA/6841cece-41f1-4edf-ab9a-59459a127c77 body: encoding: US-ASCII string: '' @@ -2934,7 +4619,7 @@ http_interactions: message: OK headers: X-Object-Meta-Project-Id: - - 9p2909328 + - 6841cece-41f1-4edf-ab9a-59459a127c77 Content-Length: - '66560' X-Object-Meta-Aip-Version: @@ -2966,7 +4651,7 @@ http_interactions: recorded_at: Wed, 07 Jun 2017 20:55:44 GMT - request: method: head - uri: http://example.com:8080/v1/AUTH_test/ERA/9p2909328 + uri: http://example.com:8080/v1/AUTH_test/ERA/6841cece-41f1-4edf-ab9a-59459a127c77 body: encoding: US-ASCII string: '' @@ -2989,7 +4674,7 @@ http_interactions: message: OK headers: X-Object-Meta-Project-Id: - - 9p2909328 + - 6841cece-41f1-4edf-ab9a-59459a127c77 Content-Length: - '66560' X-Object-Meta-Aip-Version: @@ -3021,7 +4706,7 @@ http_interactions: recorded_at: Wed, 07 Jun 2017 20:55:44 GMT - request: method: head - uri: http://example.com:8080/v1/AUTH_test/ERA/9p2909328 + uri: http://example.com:8080/v1/AUTH_test/ERA/6841cece-41f1-4edf-ab9a-59459a127c77 body: encoding: US-ASCII string: '' @@ -3044,7 +4729,7 @@ http_interactions: message: OK headers: X-Object-Meta-Project-Id: - - 9p2909328 + - 6841cece-41f1-4edf-ab9a-59459a127c77 Content-Length: - '66560' X-Object-Meta-Aip-Version: @@ -3076,7 +4761,7 @@ http_interactions: recorded_at: Wed, 07 Jun 2017 20:55:44 GMT - request: method: head - uri: http://example.com:8080/v1/AUTH_test/ERA/9p2909328 + uri: http://example.com:8080/v1/AUTH_test/ERA/6841cece-41f1-4edf-ab9a-59459a127c77 body: encoding: US-ASCII string: '' @@ -3099,7 +4784,7 @@ http_interactions: message: OK headers: X-Object-Meta-Project-Id: - - 9p2909328 + - 6841cece-41f1-4edf-ab9a-59459a127c77 Content-Length: - '66560' X-Object-Meta-Aip-Version: @@ -3131,7 +4816,7 @@ http_interactions: recorded_at: Wed, 07 Jun 2017 20:55:44 GMT - request: method: head - uri: http://example.com:8080/v1/AUTH_test/ERA/9p2909328 + uri: http://example.com:8080/v1/AUTH_test/ERA/6841cece-41f1-4edf-ab9a-59459a127c77 body: encoding: US-ASCII string: '' @@ -3154,7 +4839,7 @@ http_interactions: message: OK headers: X-Object-Meta-Project-Id: - - 9p2909328 + - 6841cece-41f1-4edf-ab9a-59459a127c77 Content-Length: - '66560' X-Object-Meta-Aip-Version: @@ -3186,7 +4871,7 @@ http_interactions: recorded_at: Wed, 07 Jun 2017 20:55:44 GMT - request: method: head - uri: http://example.com:8080/v1/AUTH_test/ERA/9p2909328 + uri: http://example.com:8080/v1/AUTH_test/ERA/6841cece-41f1-4edf-ab9a-59459a127c77 body: encoding: US-ASCII string: '' @@ -3209,7 +4894,7 @@ http_interactions: message: OK headers: X-Object-Meta-Project-Id: - - 9p2909328 + - 6841cece-41f1-4edf-ab9a-59459a127c77 Content-Length: - '66560' X-Object-Meta-Aip-Version: @@ -3241,7 +4926,7 @@ http_interactions: recorded_at: Wed, 07 Jun 2017 20:55:44 GMT - request: method: head - uri: http://example.com:8080/v1/AUTH_test/ERA/9p2909328 + uri: http://example.com:8080/v1/AUTH_test/ERA/6841cece-41f1-4edf-ab9a-59459a127c77 body: encoding: US-ASCII string: '' @@ -3264,7 +4949,7 @@ http_interactions: message: OK headers: X-Object-Meta-Project-Id: - - 9p2909328 + - 6841cece-41f1-4edf-ab9a-59459a127c77 Content-Length: - '66560' X-Object-Meta-Aip-Version: @@ -3293,5 +4978,104 @@ http_interactions: encoding: UTF-8 string: '' http_version: - recorded_at: Wed, 07 Jun 2017 20:55:44 GMT -recorded_with: VCR 3.0.3 + recorded_at: Fri, 16 Mar 2018 21:06:21 GMT +- request: + method: get + uri: http://www.example.com:8080/fcrepo/rest/test/85/64/44/b6/856444b6-8dd5-4dfa-857d-435e354a2ead/files/e1bc671b-b3ce-4f9f-9596-df3cad1d84bb/fcr:metadata + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - text/rdf+n3 + User-Agent: + - Ruby + Host: + - www.example.com:8080 + Authorization: + - Basic ZmVkb3JhQWRtaW46ZmVkb3JhQWRtaW4= + response: + status: + code: 200 + message: '' + headers: + Etag: + - W/"2c4f281be4b1756e9ce34f5598b6ac3d1aed8f8e" + Last-Modified: + - Fri, 09 Mar 2018 18:53:39 GMT + Link: + - ; + rel="describes" + - ;rel="type" + - ;rel="type" + Accept-Patch: + - application/sparql-update + Allow: + - MOVE,COPY,DELETE,POST,HEAD,GET,PUT,PATCH,OPTIONS + Preference-Applied: + - return=representation + Vary: + - Accept, Range, Accept-Encoding, Accept-Language + - Prefer + Content-Type: + - text/rdf+n3;charset=utf-8 + Content-Length: + - '3433' + Date: + - Fri, 16 Mar 2018 15:35:08 GMT + body: + encoding: UTF-8 + string: | + @prefix premis: . + @prefix rdfs: . + @prefix ns004: . + @prefix ns003: . + @prefix ns002: . + @prefix xsi: . + @prefix ns001: . + @prefix ns008: . + @prefix ns007: . + @prefix ns006: . + @prefix xmlns: . + @prefix ns005: . + @prefix xml: . + @prefix ns009: . + @prefix fedoraconfig: . + @prefix foaf: . + @prefix test: . + @prefix ns011: . + @prefix ns010: . + @prefix ns015: . + @prefix ns014: . + @prefix ns013: . + @prefix ns012: . + @prefix ns019: . + @prefix ns018: . + @prefix ns017: . + @prefix ns016: . + @prefix fedora: . + @prefix rdf: . + @prefix ebucore: . + @prefix ldp: . + @prefix xs: . + @prefix dc: . + + + a ns005:File , fedora:Binary , ldp:NonRDFSource , ns011:ThumbnailImage , fedora:Resource ; + fedora:created "2018-03-09T18:53:39.163Z"^^ ; + fedora:createdBy "bypassAdmin"^^ ; + fedora:hasFixityService ; + fedora:hasParent ; + fedora:lastModified "2018-03-09T18:53:39.189Z"^^ ; + fedora:lastModifiedBy "bypassAdmin"^^ ; + fedora:writable "true"^^ ; + ebucore:filename ""^^ ; + ebucore:hasMimeType "image/jpeg"^^ ; + ns014:describedby ; + premis:hasMessageDigest ; + premis:hasSize "6602"^^ . + http_version: + recorded_at: Fri, 16 Mar 2018 15:35:09 GMT +recorded_with: VCR 4.0.0 diff --git a/spec/support/http_cache/vcr/aip_downloader_run.yml b/spec/support/http_cache/vcr/aip_downloader_run.yml index 257c990..72e74a2 100644 --- a/spec/support/http_cache/vcr/aip_downloader_run.yml +++ b/spec/support/http_cache/vcr/aip_downloader_run.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: http://www.example.com:8080/fcrepo/rest/test/9p/29/09/32/9p2909328 + uri: http://www.example.com:8080/fcrepo/rest/test/68/41/ce/ce/6841cece-41f1-4edf-ab9a-59459a127c77 body: encoding: US-ASCII string: '' @@ -20,12 +20,12 @@ http_interactions: response: status: code: 200 - message: OK + message: '' headers: Etag: - - '"1539d6331ef8a9b918b8b748fdd4f9593111f5de"' + - W/"4238732dd789ae249c0201fa7e124dfa78e5fce2" Last-Modified: - - Tue, 16 May 2017 21:28:55 GMT + - Fri, 09 Mar 2018 18:53:38 GMT Link: - ;rel="type" - ;rel="type" @@ -33,7 +33,7 @@ http_interactions: Accept-Patch: - application/sparql-update Accept-Post: - - text/turtle,text/rdf+n3,text/n3,application/rdf+xml,application/n-triples,multipart/form-data,application/sparql-update + - text/turtle,text/rdf+n3,text/n3,application/rdf+xml,application/n-triples,application/ld+json,multipart/form-data,application/sparql-update Allow: - MOVE,COPY,DELETE,POST,HEAD,GET,PUT,PATCH,OPTIONS Preference-Applied: @@ -41,140 +41,204 @@ http_interactions: Vary: - Accept, Range, Accept-Encoding, Accept-Language - Prefer - Content-Length: - - '5694' Content-Type: - - text/rdf+n3 + - text/rdf+n3;charset=utf-8 + Content-Length: + - '7518' + Date: + - Fri, 16 Mar 2018 15:35:08 GMT body: encoding: UTF-8 - string: "@prefix premis: .\n@prefix nt: - .\n@prefix rdfs: - .\n@prefix ns004: .\n@prefix ns003: - .\n@prefix ns002: .\n@prefix - ns001: .\n@prefix xsi: - .\n@prefix ns008: .\n@prefix mode: - .\n@prefix ns007: .\n@prefix ns006: - .\n@prefix ns005: - .\n@prefix xml: .\n@prefix ns009: - .\n@prefix fedoraconfig: .\n@prefix - mix: .\n@prefix foaf: - .\n@prefix image: .\n@prefix sv: - .\n@prefix test: .\n@prefix ns011: - .\n@prefix ns010: .\n@prefix - ns015: .\n@prefix ns014: - .\n@prefix ns013: .\n@prefix ns012: - .\n@prefix rdf: .\n@prefix fedora: - .\n@prefix ldp: - .\n@prefix xs: .\n@prefix dc: - .\n\n\n - a ldp:RDFSource , ldp:Container , , - , - , , fedora:Container , fedora:Resource - , fedora:Resource , , - , ;\n\tfedora:lastModifiedBy - \"bypassAdmin\"^^ ;\n\tns001:createdDate - \"2017-05-16T21:26:37.782051115Z\"^^ - ;\n\tns001:downloadFilename \"whatever.pdf\"^^ - ;\n\tns002:hasCollectionId \"br86b356q\"^^ - ;\n\tns006:doi \"doi:10.5072/FK29G5PB8V\"^^ - ;\n\tns004:isVersionOf \"\"^^ ;\n\tfedora:createdBy - \"bypassAdmin\"^^ ;\n\tns002:year_created - \"2017\"^^ ;\n\tfedora:created \"2017-05-16T21:26:56.326Z\"^^ - ;\n\tfedora:lastModified \"2017-05-16T21:28:55.135Z\"^^ - ;\n\tns004:subject \"Sarcasm\"^^ - ;\n\tns004:modified \"2017-05-16T21:26:37.782051115Z\"^^ - ;\n\tns015:relativePath \"\"^^ ;\n\tns004:license - \"http://creativecommons.org/licenses/by/4.0/\"^^ - ;\n\tfedora:uuid \"22d19a70-fa3c-4944-9418-4c59e3893b87\"^^ - ;\n\tns004:rights \"\"^^ ;\n\tns001:hasModel - \"GenericFile\"^^ ;\n\tns010:isPartOf - ;\n\tns004:creator - \"Chris Want\"^^ ;\n\tns003:dpt \"dittest@ualberta.ca\"^^ - ;\n\tfedora:primaryType \"nt:folder\"^^ - ;\n\tfedora:mixinTypes \"fedora:Container\"^^ - , \"fedora:Resource\"^^ ;\n\tns004:created - \"2017/01/01\"^^ ;\n\t - \"available\"^^ ;\n\tns002:belongsToCommunity - \"6682x392q\"^^ ;\n\tns004:description - \"Test PDF\"^^ ;\n\tns004:language - \"English\"^^ ;\n\tns004:source \"\"^^ - ;\n\tns004:title \"Whatever\"^^ ;\n\tns004:type - \"Book Chapter\"^^ ;\n\tns002:hasCollection - \"Technical Reports\"^^ ;\n\tns004:relation - \"\"^^ ;\n\tfedora:writable \"true\"^^ - ;\n\tfedora:hasParent ;\n\tldp:contains - - , - , - .\n\n - dc:format .\n\n - fedora:exportsAs - .\n\n rdfs:label \"jcr/xml\"^^ - .\n" + string: | + @prefix premis: . + @prefix rdfs: . + @prefix ns004: . + @prefix ns003: . + @prefix ns002: . + @prefix xsi: . + @prefix ns001: . + @prefix ns008: . + @prefix ns007: . + @prefix ns006: . + @prefix xmlns: . + @prefix ns005: . + @prefix xml: . + @prefix ns009: . + @prefix fedoraconfig: . + @prefix foaf: . + @prefix test: . + @prefix ns011: . + @prefix ns010: . + @prefix ns015: . + @prefix ns014: . + @prefix ns013: . + @prefix ns012: . + @prefix ns019: . + @prefix ns018: . + @prefix ns017: . + @prefix ns016: . + @prefix fedora: . + @prefix rdf: . + @prefix ebucore: . + @prefix ldp: . + @prefix xs: . + @prefix dc: . + + + a ldp:RDFSource , fedora:Resource , fedora:Container , ldp:Container , ns005:Object , ns002:Thesis ; + fedora:created "2018-03-09T18:53:29.983Z"^^ ; + fedora:createdBy "bypassAdmin"^^ ; + fedora:hasParent ; + fedora:lastModified "2018-03-09T18:53:38.862Z"^^ ; + fedora:lastModifiedBy "bypassAdmin"^^ ; + fedora:writable "true"^^ ; + ns013:institution "http://id.loc.gov/authorities/names/n79058482"^^ ; + ns005:hasMember , , ; + ns005:memberOf , ; + ns012:doi "doi:bogus-2018-03-09T18:53:23.145Z"^^ ; + dc:rights "Share my stuff with everybody"^^ ; + dc:subject "Dog"^^ , "Mondo"^^ ; + ns003:abstract "In corrupti laboriosam delectus quisquam dolores possimus eveniet rerum dolores soluta vero et minima illo velit quam tenetur harum ut"^^ ; + ns003:accessRights "http://terms.library.ualberta.ca/public"^^ ; + ns003:alternative "A full, holistic, dog-tastic approach"^^ ; + ns003:isVersionOf "The original laserdisc series from Orange-on-a-Blue-Background studios"^^ , "The CDROM titled 'Dogs!'"^^ ; + ns003:language "http://id.loc.gov/vocabulary/iso639-2/eng"^^ ; + ns003:title "An über-thesis about the effects of Samuel Smith’s Imperial IPA on dogs"^^ ; + ns002:degree "Master's of Marketing"^^ ; + ns002:owner 2705 ; + ns010:commiteeMember "I. Ron Stomach (Marketing)"^^ , "Howard I. No (Department of Everything)"^^ ; + ns010:department "Deparment of Marketing"^^ , "Department of Everything"^^ ; + ns010:departmentList "[\"Deparment of Marketing\",\"Department of Everything\"]"^^ ; + ns010:dissertant "Missy Sokoke"^^ ; + ns010:graduationDate "Fall 1976"^^ ; + ns010:path "86cf34a4-74f5-426b-a868-0e3686efee9c/f2667e8a-cfaa-4002-9246-35105f6325d4"^^ , "86cf34a4-74f5-426b-a868-0e3686efee9c/944b07fe-f0c5-497e-87de-24735fd4810e"^^ ; + ns010:recordCreatedInJupiter "2018-03-09T18:53:29.839Z"^^ ; + ns010:sortYear "1976"^^ ; + ns010:specialization "Marketing"^^ ; + ns010:supervisor "I. Ron Stomach (Department of Everything)"^^ , "Pepe C. Cola (Marketing)"^^ ; + ns010:supervisorList "[\"Pepe C. Cola (Marketing)\",\"I. Ron Stomach (Department of Everything)\"]"^^ ; + ns010:thesisLevel "Master's"^^ ; + ebucore:dateIngested "2018-03-09T18:53:29.839Z"^^ ; + ns014:first ; + ns014:last ; + ldp:contains , , ; + ns001:hasModel "IRThesis"^^ . http_version: - recorded_at: Tue, 16 May 2017 21:47:14 GMT + recorded_at: Fri, 16 Mar 2018 15:35:08 GMT - request: method: get - uri: http://www.example.com:8080/fcrepo/rest/test/9p/29/09/32/9p2909328/content/fcr:fixity + uri: http://www.example.com:8080/fcrepo/rest/test/68/41/ce/ce/6841cece-41f1-4edf-ab9a-59459a127c77/list_source body: encoding: US-ASCII string: '' headers: + Accept: + - text/n3, text/rdf+n3;q=0.2, application/rdf+n3;q=0.2, application/n-triples, + text/plain;q=0.2, */*;q=0.1 Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - text/rdf+n3 User-Agent: - Ruby - Host: - - www.example.com:8080 - Authorization: - - Basic ZmVkb3JhQWRtaW46ZmVkb3JhQWRtaW4= response: status: code: 200 - message: OK + message: '' headers: - Content-Length: - - '2868' + Etag: + - W/"e3e778a3e6ad71b79c130bb60c29f904f58a90ea" + Last-Modified: + - Fri, 09 Mar 2018 18:53:38 GMT + Link: + - ;rel="type" + - ;rel="type" + - ;rel="type" + Accept-Patch: + - application/sparql-update + Accept-Post: + - text/turtle,text/rdf+n3,text/n3,application/rdf+xml,application/n-triples,application/ld+json,multipart/form-data,application/sparql-update + Allow: + - MOVE,COPY,DELETE,POST,HEAD,GET,PUT,PATCH,OPTIONS + Preference-Applied: + - return=representation + Vary: + - Accept, Range, Accept-Encoding, Accept-Language + - Prefer Content-Type: - - text/rdf+n3 + - text/n3;charset=utf-8 + Content-Length: + - '5176' + Date: + - Fri, 16 Mar 2018 15:35:08 GMT body: encoding: UTF-8 - string: "@prefix premis: .\n@prefix nt: - .\n@prefix rdfs: - .\n@prefix ns004: .\n@prefix ns003: - .\n@prefix ns002: .\n@prefix - ns001: .\n@prefix xsi: - .\n@prefix ns008: .\n@prefix mode: - .\n@prefix ns007: .\n@prefix ns006: - .\n@prefix ns005: - .\n@prefix xml: .\n@prefix ns009: - .\n@prefix fedoraconfig: .\n@prefix - mix: .\n@prefix foaf: - .\n@prefix image: .\n@prefix sv: - .\n@prefix test: .\n@prefix ns011: - .\n@prefix ns010: .\n@prefix - ns015: .\n@prefix ns014: - .\n@prefix ns013: .\n@prefix ns012: - .\n@prefix rdf: .\n@prefix fedora: - .\n@prefix ldp: - .\n@prefix xs: .\n@prefix dc: - .\n\n\n - premis:hasFixity - .\n\n - a premis:Fixity ;\n\tfedora:status \"SUCCESS\"^^ - ;\n\tpremis:hasMessageDigest - ;\n\tpremis:hasSize \"7162\"^^ ;\n\tpremis:hasContentLocation - - .\n\n - a premis:ContentLocation ;\n\tpremis:hasContentLocationValue \"info://org.modeshape.jcr.value.binary.FileSystemBinaryStore@688492e5/app/jetty/fcrepo4-data/fcrepo.binary.directory#5eb6d58841f4196cc682ef1af3054dddacb6d40c\"^^ - .\n" + string: | + @prefix premis: . + @prefix rdfs: . + @prefix ns004: . + @prefix ns003: . + @prefix ns002: . + @prefix xsi: . + @prefix ns001: . + @prefix ns008: . + @prefix ns007: . + @prefix ns006: . + @prefix xmlns: . + @prefix ns005: . + @prefix xml: . + @prefix ns009: . + @prefix fedoraconfig: . + @prefix foaf: . + @prefix test: . + @prefix ns011: . + @prefix ns010: . + @prefix ns015: . + @prefix ns014: . + @prefix ns013: . + @prefix ns012: . + @prefix ns019: . + @prefix ns018: . + @prefix ns017: . + @prefix ns016: . + @prefix fedora: . + @prefix rdf: . + @prefix ebucore: . + @prefix ldp: . + @prefix xs: . + @prefix dc: . + + + ns014:next ; + ns014:prev ; + ns008:proxyFor ; + ns008:proxyIn . + + + a fedora:Container , ldp:Container , ldp:RDFSource , fedora:Resource ; + fedora:created "2018-03-09T18:53:38.77Z"^^ ; + fedora:createdBy "bypassAdmin"^^ ; + fedora:hasParent ; + fedora:lastModified "2018-03-09T18:53:38.77Z"^^ ; + fedora:lastModifiedBy "bypassAdmin"^^ ; + fedora:writable "true"^^ ; + ns003:hasPart , , ; + ns014:first ; + ns014:last ; + ns001:hasModel "ActiveFedora::Aggregation::ListSource"^^ . + + + ns014:next ; + ns008:proxyFor ; + ns008:proxyIn . + + + ns014:prev ; + ns008:proxyFor ; + ns008:proxyIn . http_version: - recorded_at: Tue, 16 May 2017 21:47:14 GMT + recorded_at: Fri, 16 Mar 2018 15:35:08 GMT - request: method: get - uri: http://www.example.com:8080/fcrepo/rest/test/9p/29/09/32/9p2909328/content/fcr:metadata + uri: http://www.example.com:8080/fcrepo/rest/test/01/bb/1b/09/01bb1b09-974d-478b-8826-2c606a447606 body: encoding: US-ASCII string: '' @@ -192,19 +256,20 @@ http_interactions: response: status: code: 200 - message: OK + message: '' headers: Etag: - - '"a3b31a7423417546b53e422cbe1a93f204d4043c"' + - W/"0952e907cee31167252f072495f7744d1a966739" Last-Modified: - - Tue, 16 May 2017 21:26:56 GMT + - Fri, 09 Mar 2018 18:53:30 GMT Link: - - ; - rel="describes" - - ;rel="type" + - ;rel="type" + - ;rel="type" - ;rel="type" Accept-Patch: - application/sparql-update + Accept-Post: + - text/turtle,text/rdf+n3,text/n3,application/rdf+xml,application/n-triples,application/ld+json,multipart/form-data,application/sparql-update Allow: - MOVE,COPY,DELETE,POST,HEAD,GET,PUT,PATCH,OPTIONS Preference-Applied: @@ -212,74 +277,72 @@ http_interactions: Vary: - Accept, Range, Accept-Encoding, Accept-Language - Prefer - Content-Length: - - '5192' Content-Type: - - text/rdf+n3 + - text/rdf+n3;charset=utf-8 + Content-Length: + - '4131' + Date: + - Fri, 16 Mar 2018 15:35:08 GMT body: encoding: UTF-8 - string: "@prefix premis: .\n@prefix nt: - .\n@prefix rdfs: - .\n@prefix ns004: .\n@prefix ns003: - .\n@prefix ns002: .\n@prefix - ns001: .\n@prefix xsi: - .\n@prefix ns008: .\n@prefix mode: - .\n@prefix ns007: .\n@prefix ns006: - .\n@prefix ns005: - .\n@prefix xml: .\n@prefix ns009: - .\n@prefix fedoraconfig: .\n@prefix - mix: .\n@prefix foaf: - .\n@prefix image: .\n@prefix sv: - .\n@prefix test: .\n@prefix ns011: - .\n@prefix ns010: .\n@prefix - ns015: .\n@prefix ns014: - .\n@prefix ns013: .\n@prefix ns012: - .\n@prefix rdf: .\n@prefix fedora: - .\n@prefix ldp: - .\n@prefix xs: .\n@prefix dc: - .\n\n\n - a ldp:RDFSource , , - , , - , fedora:NonRdfSourceDescription , fedora:Resource , - , fedora:Resource , , - , , - ;\n\tfedora:lastModifiedBy \"bypassAdmin\"^^ - ;\n\tfedora:uuid \"42c0f21d-c8a3-48bc-9d63-9b743689f734\"^^ - ;\n\tfedora:createdBy \"bypassAdmin\"^^ - ;\n\tfedora:primaryType \"nt:file\"^^ - ;\n\tfedora:created \"2017-05-16T21:26:56.51Z\"^^ - ;\n\tfedora:mixinTypes \"fedora:NonRdfSourceDescription\"^^ - , \"fedora:Resource\"^^ , \"mix:versionable\"^^ - ;\n\tfedora:lastModified \"2017-05-16T21:26:56.715Z\"^^ - ;\n\tfedora:writable \"true\"^^ - ;\n\t - ;\n\tfedora:hasParent - .\n\n - a , - , , - , fedora:Binary , fedora:Resource , - , , - ;\n\tfedora:lastModifiedBy \"bypassAdmin\"^^ - ;\n\tfedora:uuid \"d2f3d5ef-aa81-46de-9e08-3b762ad269e2\"^^ - ;\n\tfedora:mimeType \"application/pdf\"^^ - ;\n\tfedora:digest ;\n\tpremis:hasSize - \"7162\"^^ ;\n\tfedora:createdBy \"bypassAdmin\"^^ - ;\n\tfedora:primaryType \"nt:resource\"^^ - ;\n\tfedora:created \"2017-05-16T21:26:56.51Z\"^^ - ;\n\tfedora:mixinTypes \"fedora:Binary\"^^ - ;\n\tfedora:lastModified \"2017-05-16T21:26:56.51Z\"^^ - ;\n\tpremis:hasOriginalName \"whatever.pdf\"^^ - ;\n\t - .\n\n - fedora:hasVersions - .\n\n - fedora:hasFixityService - .\n" + string: | + @prefix premis: . + @prefix rdfs: . + @prefix ns004: . + @prefix ns003: . + @prefix ns002: . + @prefix xsi: . + @prefix ns001: . + @prefix ns008: . + @prefix ns007: . + @prefix ns006: . + @prefix xmlns: . + @prefix ns005: . + @prefix xml: . + @prefix ns009: . + @prefix fedoraconfig: . + @prefix foaf: . + @prefix test: . + @prefix ns011: . + @prefix ns010: . + @prefix ns015: . + @prefix ns014: . + @prefix ns013: . + @prefix ns012: . + @prefix ns019: . + @prefix ns018: . + @prefix ns017: . + @prefix ns016: . + @prefix fedora: . + @prefix rdf: . + @prefix ebucore: . + @prefix ldp: . + @prefix xs: . + @prefix dc: . + + + a ldp:Container , fedora:Resource , ns007:FileSet , ldp:RDFSource , fedora:Container , ns005:Object ; + fedora:created "2018-03-09T18:53:30.313Z"^^ ; + fedora:createdBy "bypassAdmin"^^ ; + fedora:hasParent ; + fedora:lastModified "2018-03-09T18:53:30.663Z"^^ ; + fedora:lastModifiedBy "bypassAdmin"^^ ; + fedora:writable "true"^^ ; + ns005:hasFile ; + ns005:memberOf ; + ns003:accessRights "http://terms.library.ualberta.ca/public"^^ ; + ns003:title "theses.jpg"^^ ; + ns002:owner 2705 ; + ns010:recordCreatedInJupiter "2018-03-09T18:53:30.296Z"^^ ; + ns010:sitemapLink ""^^ ; + ebucore:dateIngested "2018-03-09T18:53:30.296Z"^^ ; + ldp:contains , ; + ns001:hasModel "IRFileSet"^^ . http_version: - recorded_at: Tue, 16 May 2017 21:47:14 GMT + recorded_at: Fri, 16 Mar 2018 15:35:08 GMT - request: method: get - uri: http://www.example.com:8080/fcrepo/rest/test/9p/29/09/32/9p2909328/content/fcr:versions + uri: http://www.example.com:8080/fcrepo/rest/test/01/bb/1b/09/01bb1b09-974d-478b-8826-2c606a447606/files/8b26afd3-0f72-4241-87d4-830f0bbdf58c/fcr:metadata body: encoding: US-ASCII string: '' @@ -297,44 +360,101 @@ http_interactions: response: status: code: 200 - message: OK + message: '' headers: - Content-Length: - - '2306' + Etag: + - W/"e1f7f639e96f5c864bd390c8c239c18833d96707" + Last-Modified: + - Fri, 09 Mar 2018 18:53:32 GMT + Link: + - ; + rel="describes" + - ;rel="type" + - ;rel="type" + Accept-Patch: + - application/sparql-update + Allow: + - MOVE,COPY,DELETE,POST,HEAD,GET,PUT,PATCH,OPTIONS + Preference-Applied: + - return=representation + Vary: + - Accept, Range, Accept-Encoding, Accept-Language + - Prefer Content-Type: - - text/rdf+n3 + - text/rdf+n3;charset=utf-8 + Content-Length: + - '4549' + Date: + - Fri, 16 Mar 2018 15:35:08 GMT body: encoding: UTF-8 - string: "@prefix premis: .\n@prefix nt: - .\n@prefix rdfs: - .\n@prefix ns004: .\n@prefix ns003: - .\n@prefix ns002: .\n@prefix - ns001: .\n@prefix xsi: - .\n@prefix ns008: .\n@prefix mode: - .\n@prefix ns007: .\n@prefix ns006: - .\n@prefix ns005: - .\n@prefix xml: .\n@prefix ns009: - .\n@prefix fedoraconfig: .\n@prefix - mix: .\n@prefix foaf: - .\n@prefix image: .\n@prefix sv: - .\n@prefix test: .\n@prefix ns011: - .\n@prefix ns010: .\n@prefix - ns015: .\n@prefix ns014: - .\n@prefix ns013: .\n@prefix ns012: - .\n@prefix rdf: .\n@prefix fedora: - .\n@prefix ldp: - .\n@prefix xs: .\n@prefix dc: - .\n\n\n - fedora:hasVersion - .\n\n - fedora:hasVersionLabel \"version1\"^^ - ;\n\tfedora:created \"2017-05-16T21:26:57.041Z\"^^ - .\n" + string: | + @prefix premis: . + @prefix rdfs: . + @prefix ns004: . + @prefix ns003: . + @prefix ns002: . + @prefix xsi: . + @prefix ns001: . + @prefix ns008: . + @prefix ns007: . + @prefix ns006: . + @prefix xmlns: . + @prefix ns005: . + @prefix xml: . + @prefix ns009: . + @prefix fedoraconfig: . + @prefix foaf: . + @prefix test: . + @prefix ns011: . + @prefix ns010: . + @prefix ns015: . + @prefix ns014: . + @prefix ns013: . + @prefix ns012: . + @prefix ns019: . + @prefix ns018: . + @prefix ns017: . + @prefix ns016: . + @prefix fedora: . + @prefix rdf: . + @prefix ebucore: . + @prefix ldp: . + @prefix xs: . + @prefix dc: . + + + a ldp:NonRDFSource , fedora:Binary , ns005:File , ns011:OriginalFile , fedora:Resource ; + fedora:created "2018-03-09T18:53:30.447Z"^^ ; + fedora:createdBy "bypassAdmin"^^ ; + fedora:hasFixityService ; + fedora:hasParent ; + fedora:lastModified "2018-03-09T18:53:32.99Z"^^ ; + fedora:lastModifiedBy "bypassAdmin"^^ ; + fedora:writable "true"^^ ; + ns017:valid "true"^^ ; + ns017:wellFormed "true"^^ ; + ns019:compressionScheme "JPEG"^^ ; + ns018:byteOrder "big endian"^^ ; + ebucore:fileSize "53678"^^ ; + ebucore:filename "theses.jpg"^^ ; + ebucore:hasMimeType "image/jpeg"^^ ; + ebucore:height "335"^^ ; + ebucore:width "504"^^ ; + ns014:describedby ; + premis:hasCreatingApplicationVersion + "1.2.0"^^ ; + premis:hasFormatName "JPEG File Interchange Format"^^ ; + premis:hasMessageDigest ; + premis:hasSize "53678"^^ ; + ns016:hashValue "59ced23d3250b0cf54a58dd21bad4512"^^ ; + ns015:colorSpace "YCbCr"^^ ; + ns015:exifVersion "10.00"^^ . http_version: - recorded_at: Tue, 16 May 2017 21:47:14 GMT + recorded_at: Fri, 16 Mar 2018 15:35:08 GMT - request: method: get - uri: http://www.example.com:8080/fcrepo/rest/test/9p/29/09/32/9p2909328/thumbnail + uri: http://www.example.com:8080/fcrepo/rest/test/01/bb/1b/09/01bb1b09-974d-478b-8826-2c606a447606/files/8b26afd3-0f72-4241-87d4-830f0bbdf58c body: encoding: US-ASCII string: '' @@ -352,115 +472,1235 @@ http_interactions: response: status: code: 200 - message: OK + message: '' headers: Etag: - - '"94925806bc6c9348bc1b160cc4d5134c8001df63"' - - '"94925806bc6c9348bc1b160cc4d5134c8001df63"' + - '"66d4222b266c43f70751b07d12d9de9fc742e8d1"' + - '"66d4222b266c43f70751b07d12d9de9fc742e8d1"' Last-Modified: - - Tue, 16 May 2017 21:36:28 GMT - - Tue, 16 May 2017 21:36:28 GMT + - Fri, 09 Mar 2018 18:53:30 GMT + - Fri, 09 Mar 2018 18:53:30 GMT Accept-Ranges: - bytes Content-Disposition: - - attachment; filename=""; creation-date="Tue, 16 May 2017 21:27:40 GMT"; modification-date="Tue, - 16 May 2017 21:36:28 GMT"; size=3346 + - attachment; filename="theses.jpg"; creation-date="Fri, 09 Mar 2018 18:53:30 + GMT"; modification-date="Fri, 09 Mar 2018 18:53:32 GMT"; size=53678 Link: - - ; + - ; rel="describedby" - ;rel="type" - ;rel="type" Allow: - DELETE,HEAD,GET,PUT,OPTIONS - Content-Length: - - '3346' - Content-Type: - - image/jpeg Cache-Control: - no-transform, must-revalidate, max-age=0 + Content-Type: + - image/jpeg + Content-Length: + - '53678' + Date: + - Fri, 16 Mar 2018 15:35:08 GMT body: - encoding: ASCII-8BIT - string: !binary |- - /9j/4AAQSkZJRgABAQAASABIAAD/4gogSUNDX1BST0ZJTEUAAQEAAAoQAAAA - AAIQAABtbnRyUkdCIFhZWiAAAAAAAAAAAAAAAABhY3NwQVBQTAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAA9tUAAQAAAADTLAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApkZXNjAAAA/AAA - AHxjcHJ0AAABeAAAACh3dHB0AAABoAAAABRia3B0AAABtAAAABRyWFlaAAAB - yAAAABRnWFlaAAAB3AAAABRiWFlaAAAB8AAAABRyVFJDAAACBAAACAxnVFJD - AAACBAAACAxiVFJDAAACBAAACAxkZXNjAAAAAAAAACJBcnRpZmV4IFNvZnR3 - YXJlIHNSR0IgSUNDIFByb2ZpbGUAAAAAAAAAAAAAACJBcnRpZmV4IFNvZnR3 - YXJlIHNSR0IgSUNDIFByb2ZpbGUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAdGV4dAAAAABDb3B5cmlnaHQgQXJ0aWZleCBTb2Z0d2FyZSAy - MDExAFhZWiAAAAAAAADzUQABAAAAARbMWFlaIAAAAAAAAAAAAAAAAAAAAABY - WVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAA - AAAAACSgAAAPhAAAts9jdXJ2AAAAAAAABAAAAAAFAAoADwAUABkAHgAjACgA - LQAyADcAOwBAAEUASgBPAFQAWQBeAGMAaABtAHIAdwB8AIEAhgCLAJAAlQCa - AJ8ApACpAK4AsgC3ALwAwQDGAMsA0ADVANsA4ADlAOsA8AD2APsBAQEHAQ0B - EwEZAR8BJQErATIBOAE+AUUBTAFSAVkBYAFnAW4BdQF8AYMBiwGSAZoBoQGp - AbEBuQHBAckB0QHZAeEB6QHyAfoCAwIMAhQCHQImAi8COAJBAksCVAJdAmcC - cQJ6AoQCjgKYAqICrAK2AsECywLVAuAC6wL1AwADCwMWAyEDLQM4A0MDTwNa - A2YDcgN+A4oDlgOiA64DugPHA9MD4APsA/kEBgQTBCAELQQ7BEgEVQRjBHEE - fgSMBJoEqAS2BMQE0wThBPAE/gUNBRwFKwU6BUkFWAVnBXcFhgWWBaYFtQXF - BdUF5QX2BgYGFgYnBjcGSAZZBmoGewaMBp0GrwbABtEG4wb1BwcHGQcrBz0H - TwdhB3QHhgeZB6wHvwfSB+UH+AgLCB8IMghGCFoIbgiCCJYIqgi+CNII5wj7 - CRAJJQk6CU8JZAl5CY8JpAm6Cc8J5Qn7ChEKJwo9ClQKagqBCpgKrgrFCtwK - 8wsLCyILOQtRC2kLgAuYC7ALyAvhC/kMEgwqDEMMXAx1DI4MpwzADNkM8w0N - DSYNQA1aDXQNjg2pDcMN3g34DhMOLg5JDmQOfw6bDrYO0g7uDwkPJQ9BD14P - eg+WD7MPzw/sEAkQJhBDEGEQfhCbELkQ1xD1ERMRMRFPEW0RjBGqEckR6BIH - EiYSRRJkEoQSoxLDEuMTAxMjE0MTYxODE6QTxRPlFAYUJxRJFGoUixStFM4U - 8BUSFTQVVhV4FZsVvRXgFgMWJhZJFmwWjxayFtYW+hcdF0EXZReJF64X0hf3 - GBsYQBhlGIoYrxjVGPoZIBlFGWsZkRm3Gd0aBBoqGlEadxqeGsUa7BsUGzsb - YxuKG7Ib2hwCHCocUhx7HKMczBz1HR4dRx1wHZkdwx3sHhYeQB5qHpQevh7p - HxMfPh9pH5Qfvx/qIBUgQSBsIJggxCDwIRwhSCF1IaEhziH7IiciVSKCIq8i - 3SMKIzgjZiOUI8Ij8CQfJE0kfCSrJNolCSU4JWgllyXHJfcmJyZXJocmtybo - JxgnSSd6J6sn3CgNKD8ocSiiKNQpBik4KWspnSnQKgIqNSpoKpsqzysCKzYr - aSudK9EsBSw5LG4soizXLQwtQS12Last4S4WLkwugi63Lu4vJC9aL5Evxy/+ - MDUwbDCkMNsxEjFKMYIxujHyMioyYzKbMtQzDTNGM38zuDPxNCs0ZTSeNNg1 - EzVNNYc1wjX9Njc2cjauNuk3JDdgN5w31zgUOFA4jDjIOQU5Qjl/Obw5+To2 - OnQ6sjrvOy07azuqO+g8JzxlPKQ84z0iPWE9oT3gPiA+YD6gPuA/IT9hP6I/ - 4kAjQGRApkDnQSlBakGsQe5CMEJyQrVC90M6Q31DwEQDREdEikTORRJFVUWa - Rd5GIkZnRqtG8Ec1R3tHwEgFSEtIkUjXSR1JY0mpSfBKN0p9SsRLDEtTS5pL - 4kwqTHJMuk0CTUpNk03cTiVObk63TwBPSU+TT91QJ1BxULtRBlFQUZtR5lIx - UnxSx1MTU19TqlP2VEJUj1TbVShVdVXCVg9WXFapVvdXRFeSV+BYL1h9WMtZ - GllpWbhaB1pWWqZa9VtFW5Vb5Vw1XIZc1l0nXXhdyV4aXmxevV8PX2Ffs2AF - YFdgqmD8YU9homH1YklinGLwY0Njl2PrZEBklGTpZT1lkmXnZj1mkmboZz1n - k2fpaD9olmjsaUNpmmnxakhqn2r3a09rp2v/bFdsr20IbWBtuW4SbmtuxG8e - b3hv0XArcIZw4HE6cZVx8HJLcqZzAXNdc7h0FHRwdMx1KHWFdeF2Pnabdvh3 - VnezeBF4bnjMeSp5iXnnekZ6pXsEe2N7wnwhfIF84X1BfaF+AX5ifsJ/I3+E - f+WAR4CogQqBa4HNgjCCkoL0g1eDuoQdhICE44VHhauGDoZyhteHO4efiASI - aYjOiTOJmYn+imSKyoswi5aL/IxjjMqNMY2Yjf+OZo7OjzaPnpAGkG6Q1pE/ - kaiSEZJ6kuOTTZO2lCCUipT0lV+VyZY0lp+XCpd1l+CYTJi4mSSZkJn8mmia - 1ZtCm6+cHJyJnPedZJ3SnkCerp8dn4uf+qBpoNihR6G2oiailqMGo3aj5qRW - pMelOKWpphqmi6b9p26n4KhSqMSpN6mpqhyqj6sCq3Wr6axcrNCtRK24ri2u - oa8Wr4uwALB1sOqxYLHWskuywrM4s660JbSctRO1irYBtnm28Ldot+C4WbjR - uUq5wro7urW7LrunvCG8m70VvY++Cr6Evv+/er/1wHDA7MFnwePCX8Lbw1jD - 1MRRxM7FS8XIxkbGw8dBx7/IPci8yTrJuco4yrfLNsu2zDXMtc01zbXONs62 - zzfPuNA50LrRPNG+0j/SwdNE08bUSdTL1U7V0dZV1tjXXNfg2GTY6Nls2fHa - dtr724DcBdyK3RDdlt4c3qLfKd+v4DbgveFE4cziU+Lb42Pj6+Rz5PzlhOYN - 5pbnH+ep6DLovOlG6dDqW+rl63Dr++yG7RHtnO4o7rTvQO/M8Fjw5fFy8f/y - jPMZ86f0NPTC9VD13vZt9vv3ivgZ+Kj5OPnH+lf65/t3/Af8mP0p/br+S/7c - /23////bAEMAAwICAgICAwICAgMDAwMEBgQEBAQECAYGBQYJCAoKCQgJCQoM - DwwKCw4LCQkNEQ0ODxAQERAKDBITEhATDxAQEP/AAAsIAbUBUgEBEQD/xAAV - AAEBAAAAAAAAAAAAAAAAAAAACf/EABQQAQAAAAAAAAAAAAAAAAAAAAD/2gAI - AQEAAD8AlUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAA//2Q== + encoding: UTF-8 + base64_string: | + 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 + N2nfhEalrlY3bQAxbwNH1G5sw+L4lPhWv+XOvwrEMAfKiWfsmSlHZa0WZh2a + HErlABxin/zFfHErPmpjMOnW4pn84v8AXGrIZ2a2oO14ZzRBmwgTYj5zhlq9 + HVqjG73e+1j4uGs+gWXPG8LjY0VvVFo3gmj6pD5wHmLKMcG31juq3e8Gq8l7 + cn5R18p2VBWLvi97lJ9nC0Md+Dzd55TAWlYto2I2GK4zi1KbZsuYtNJVBruy + mHcKJn33RH0YNNzL7jOKUu0wUwKVmyVQnuv6MkGLR07n9ikZcm7eGxG7U2AT + Ds3Ksy7Iuc2B4hnin83FMHGyZ/2jO6M3KztnNTmy2juOTOJ+icjRkYOblRdm + Un7JadlW5x4i0dxRNWVIqTodbHhxKstOQYx3HVY3UcrNVZ9GanLUsyQEWZdz + DZHnq8YfXw6my/pjz3f2BUXKV16XcfnbJbmArwMcMSXY/G4sXsIvCk52YmGn + pOXBJXGFVZuMQRAy1NtuZB9HkjrtW3nzO1OobQLv937ccDEakJp5u7qgJ/sH + G7lFTlmTwLhzMtNNa9lsy+zEt2CuelpiVJtmZYdaeMUcbrBQqDqueofUhhxx + uYnZakhPEp6hpV/qT2YtmamxeW7tltus6K24DzpPbTa7XxnjP0kBGpa5fG/c + +dnWdOdTaOTDBZfygQlEJ/ldK2nKni8lpPGo2eK824yz/wDb7T8rDBiX2wB4 + kaRQEkrpHhGri/PGNrza5OMDclyDNfGrMiK1qWa5tnWXkO7+AYAB4yE8L4rm + By9vUuUWxWn6ViZrj46j6PKW+bwyrfxp2TwENqWbNpscfrlXTicUedtPaZKW + TNoNZjdAkJUXZ8S/X1omNs3yoYAxJ17DAc7r2zD8ZHe8s2icheUEwzhnLg2y + 28fOvtc5+KxY0Yjuzf8AZ49pGHNTeDSFWxYrbL8YRVe4ECPrC7WsOyrOHDre + dwhzzL0wjWf5Pm4pBlpUHXHJk7Nf0lqSZV9+bYKkW26uuV/F24dQlEyi1a57 + C6Wte0JVwnG3UcI9+KOL9WvLV5vFGMrFqXouhuLn8YQ5a7kyOdltTFaqRvHW + i8QitVUR5NFry13gIBymtyTlFYs/R8dxzFen3Urd62RtktjkGgGv2I6IOSSR + 8pmXeUvKPENxy3rQDN/aT+ww3s4tkUlOvWk7jTsxizBs4WMaZtiWbm+I+2Aw + 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 + aVpgRLMqqjp6uhEBFH7UGgAXZspo1PuENP1wAIZOnNl4hK+5KtUT4guVFB5V + UUJD1hfuJF7F8sPwItWWGqtonJV37BQGCvtHUNYC270kOoS11DAQMQK2ougq + 3ISVoK70vv8A/iFLmU3So2C1lUXWFVGwwww0XtEu3tu3RySsel8zqbP/ACjm + z+UzVl01s6RqA8OuirNw1UlFW7Ikk2Dr/wDkmYklx5Wx5fEdaFqt58zpoIi4 + QbbjfBz6RbM/7UeVD4bJyRlPmZb/ABsWNE1GbW2rYtQndPtGbmAoLZYi4Zfi + wyQADlH6LzIcpqWX1eiEkvN9x9dQ5f1QGAzakLjVRIWUodABOOVXJ9/TDAxl + HFQybXupd+pYVSQY9F12rp+mEZ0CVURF105fqhA4QtEqVpr+q6GACZFSZc7R + hkAsPTDKVAiqHSl16Q9KEGBaznWBIRl6WjLvJQ6NFSQGdFupFHUtyb+1O2Aj + zbZsEW45ZznA7vnDADlByjulyTpf0wA3Fh8p5abIJS0lFh9bkB3wTvtdWFiD + ftSrQkJiIlq9YST+mM9TMjbXISWnsR+zKZKZ8T/yzn+FGhGasLk1O2faRv2t + I7KWZcJklUDaOY8HT36eKFLmSfRPhxJc8aYcCgE2mvq3aoMFnzPlZync5Qzw + jL1BJS2VgO8XWcjf0MQIgooHi+tKfou1RiQReBGlQmndQlROjVr/AJRIOgob + TI5XqpzQGdrAkTZUrfct5a/Tu1XQAnclebCyIvEpZ/dhA8h3Cao22utEXiq8 + i3dkMAr5XjuuS9Lrk1RZA+IuCogBVqlKlctyB239i9u6H4/D+4BAS4x6Yrho + BmlyJ23J0RBgLpH3V6Ysisari9VYAcvXR01dkIET4PogBQ2IkY1Llv7YCGIt + sCSlWBe0n6r4Rmp5Pz/KCWdc+CZSefZq2miy7xrfd0k0BfaiZNGu8ppp22HC + FBt2zZV3zLTk1l3/AGXlRp33ShdYj93+jEwyPJefPYzp2K6XDiODOSd/rZZh + pPyiRWRW3diX+9/+QWWlYxyVX/ELJnQ13OSc9Kue81iC6PuQYorXtxu/nF8s + Ii2gVISJfnTh39C7vqgaEHiEG8wkea7Il9/lgAECid16KF66qtSJm6VW5Prh + g+y8lbJsSUKWm5m0bNmbSNfi0qM0w7gn5gCe1mf+n1I5ZuhjRzbslyfnnS+E + JiSlZvv6QxLzPtDVV+ViOsXujATPJmS/5PlJYro9QX5plo/suGEbbjC354/v + Mk9KtiVzsw2tBqlwG2oqqaluNCISHsUVuXtjWlWZIUbUadmPYdQfnu1LAQIu + CJrSLBl1iaIN3nj2QwQcZ1Yko7T8jV+yX7oYA75Z9aXhSXe76Lsy9burDB2X + aaofQjCutMPMl948N3rREjaWguUtWa4qt306oAVtuTTdGVwmqu5UPs5YohsL + 8xclbQ0duGv/AMRBk5ghw6SEMydbqwAWyVFJA7wdU+j64ZEH5aW10vs3/OD+ + q+GCnAC9NqGocucd0Bk5hEVkKlTWaJv3at8FCIoUsZ0YdG7aisMDBppsVTDc + bW67rJrT6/zRI9wMyqA4VCVhil5cpb/dKADJCS7UA+S9fv8A5QGJbTVVfQt2 + QRQUS7V2p5L74qhADaIph63+cMhg2tz6U360W9U8v6oK9h9Y0Elu3L9UQZEV + XEJETUqX39hJcl3pVLoPzHWWHcqKhXX3b4CBnETfemtLjT6LtadGqHQKelAA + 2KDIAzFhuVJ2wA863K+FKXPzwMK4CB1lJK68Zpn0KY/zhmdJCab2Cq5T3byv + TzYAL3CfXjxPqKKBNhyZBRoBwvQJLekIBDiMuhiZW++1fTm7zX8QQEaWyZ7l + TIAOiS0/OS3itHfea9kqMsIzYByhtR5r43Ylsy/f+JzP+FEqEts23bTqho1k + 2i23TcBOSkxTdd1ckXyEYh920jL42Mz7bZ/0xoRFjC6l1cQR/9k= http_version: - recorded_at: Tue, 16 May 2017 21:47:14 GMT + recorded_at: Fri, 16 Mar 2018 15:35:08 GMT - request: method: get - uri: http://www.example.com:8080/fcrepo/rest/test/9p/29/09/32/9p2909328/characterization + uri: http://www.example.com:8080/fcrepo/rest/test/01/bb/1b/09/01bb1b09-974d-478b-8826-2c606a447606/files/8b26afd3-0f72-4241-87d4-830f0bbdf58c/fcr:fixity body: encoding: US-ASCII string: '' @@ -478,98 +1718,64 @@ http_interactions: response: status: code: 200 - message: OK + message: '' headers: - Etag: - - '"255aaff77582f8035328f449e5bc87b9a51dc7ae"' - - '"255aaff77582f8035328f449e5bc87b9a51dc7ae"' - Last-Modified: - - Tue, 16 May 2017 21:36:26 GMT - - Tue, 16 May 2017 21:36:26 GMT - Accept-Ranges: - - bytes - Content-Disposition: - - attachment; filename=""; creation-date="Tue, 16 May 2017 21:27:35 GMT"; modification-date="Tue, - 16 May 2017 21:36:26 GMT"; size=3916 - Link: - - ; - rel="describedby" - - ;rel="type" - - ;rel="type" - Allow: - - DELETE,HEAD,GET,PUT,OPTIONS - Content-Length: - - '3916' Content-Type: - - text/xml - Cache-Control: - - no-transform, must-revalidate, max-age=0 + - text/rdf+n3;charset=utf-8 + Content-Length: + - '2662' + Date: + - Fri, 16 Mar 2018 15:35:08 GMT body: encoding: UTF-8 - string: |- - - - - - - - - - - - - 1.4 - fmt/18 - - - - 7162 - LibreOffice 5.2/Writer - 2017:05:16 15:26:04-06:00 - /tmp/content-1.pdf20170516-18431-2uhrid.pdf - whatever.pdf - 94a2454204f52b39c4a6d4ff86e8d516 - 1494970582000 - - - true - true - - - - Writer - en-CA - 1 - no - no - no - - LiberationSerif - - no - - - - - - - - - - - - - - - - - - + string: | + @prefix premis: . + @prefix rdfs: . + @prefix ns004: . + @prefix ns003: . + @prefix ns002: . + @prefix xsi: . + @prefix ns001: . + @prefix ns008: . + @prefix ns007: . + @prefix ns006: . + @prefix xmlns: . + @prefix ns005: . + @prefix xml: . + @prefix ns009: . + @prefix fedoraconfig: . + @prefix foaf: . + @prefix test: . + @prefix ns011: . + @prefix ns010: . + @prefix ns015: . + @prefix ns014: . + @prefix ns013: . + @prefix ns012: . + @prefix ns019: . + @prefix ns018: . + @prefix ns017: . + @prefix ns016: . + @prefix fedora: . + @prefix rdf: . + @prefix ebucore: . + @prefix ldp: . + @prefix xs: . + @prefix dc: . + + + a premis:EventOutcomeDetail , premis:Fixity ; + premis:hasEventOutcome "SUCCESS"^^ ; + premis:hasMessageDigest ; + premis:hasSize "53678"^^ . + + + premis:hasFixity . http_version: - recorded_at: Tue, 16 May 2017 21:47:14 GMT + recorded_at: Fri, 16 Mar 2018 15:35:08 GMT - request: method: get - uri: http://www.example.com:8080/fcrepo/rest/test/9p/29/09/32/9p2909328/fedora3foxml + uri: http://www.example.com:8080/fcrepo/rest/test/83/79/77/d6/837977d6-de61-49ea-a912-a65af5c9005e body: encoding: US-ASCII string: '' @@ -577,7 +1783,7 @@ http_interactions: Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: - - "*/*" + - text/rdf+n3 User-Agent: - Ruby Host: @@ -586,36 +1792,94 @@ http_interactions: - Basic ZmVkb3JhQWRtaW46ZmVkb3JhQWRtaW4= response: status: - code: 404 - message: Not Found + code: 200 + message: '' headers: + Etag: + - W/"0e6ac801924725695dfc56a1db7f32f0dbda9163" + Last-Modified: + - Fri, 09 Mar 2018 18:53:33 GMT + Link: + - ;rel="type" + - ;rel="type" + - ;rel="type" + Accept-Patch: + - application/sparql-update + Accept-Post: + - text/turtle,text/rdf+n3,text/n3,application/rdf+xml,application/n-triples,application/ld+json,multipart/form-data,application/sparql-update + Allow: + - MOVE,COPY,DELETE,POST,HEAD,GET,PUT,PATCH,OPTIONS + Preference-Applied: + - return=representation + Vary: + - Accept, Range, Accept-Encoding, Accept-Language + - Prefer Content-Type: - - text/html;charset=ISO-8859-1 - Cache-Control: - - must-revalidate,no-cache,no-store + - text/rdf+n3;charset=utf-8 Content-Length: - - '1415' + - '4145' + Date: + - Fri, 16 Mar 2018 15:35:08 GMT body: encoding: UTF-8 - string: "\n\n\nError 404 Not Found\n\n

HTTP - ERROR 404

\n

Problem accessing /fedora/rest/test/9p/29/09/32/9p2909328/fedora3foxml. - Reason:\n

    Not Found


Powered by Jetty://
- \ \n
\n
- \ \n
\n
- \ \n
\n
- \ \n
\n
- \ \n
\n
- \ \n
\n
- \ \n
\n
- \ \n
\n
- \ \n
\n
- \ \n
\n\n\n\n" + string: | + @prefix premis: . + @prefix rdfs: . + @prefix ns004: . + @prefix ns003: . + @prefix ns002: . + @prefix xsi: . + @prefix ns001: . + @prefix ns008: . + @prefix ns007: . + @prefix ns006: . + @prefix xmlns: . + @prefix ns005: . + @prefix xml: . + @prefix ns009: . + @prefix fedoraconfig: . + @prefix foaf: . + @prefix test: . + @prefix ns011: . + @prefix ns010: . + @prefix ns015: . + @prefix ns014: . + @prefix ns013: . + @prefix ns012: . + @prefix ns019: . + @prefix ns018: . + @prefix ns017: . + @prefix ns016: . + @prefix fedora: . + @prefix rdf: . + @prefix ebucore: . + @prefix ldp: . + @prefix xs: . + @prefix dc: . + + + a fedora:Container , ldp:RDFSource , ns005:Object , fedora:Resource , ns007:FileSet , ldp:Container ; + fedora:created "2018-03-09T18:53:33.018Z"^^ ; + fedora:createdBy "bypassAdmin"^^ ; + fedora:hasParent ; + fedora:lastModified "2018-03-09T18:53:33.375Z"^^ ; + fedora:lastModifiedBy "bypassAdmin"^^ ; + fedora:writable "true"^^ ; + ns005:hasFile ; + ns005:memberOf ; + ns003:accessRights "http://terms.library.ualberta.ca/public"^^ ; + ns003:title "image-sample.jpeg"^^ ; + ns002:owner 2705 ; + ns010:recordCreatedInJupiter "2018-03-09T18:53:32.996Z"^^ ; + ns010:sitemapLink ""^^ ; + ebucore:dateIngested "2018-03-09T18:53:32.996Z"^^ ; + ldp:contains , ; + ns001:hasModel "IRFileSet"^^ . http_version: - recorded_at: Tue, 16 May 2017 21:47:14 GMT + recorded_at: Fri, 16 Mar 2018 15:35:08 GMT - request: method: get - uri: http://www.example.com:8080/fcrepo/rest/test/9p/29/09/32/9p2909328/fedora3foxml/fcr:metadata + uri: http://www.example.com:8080/fcrepo/rest/test/83/79/77/d6/837977d6-de61-49ea-a912-a65af5c9005e/files/956ee84b-ef1a-4e1e-955e-0707e34df4b8/fcr:metadata body: encoding: US-ASCII string: '' @@ -632,36 +1896,102 @@ http_interactions: - Basic ZmVkb3JhQWRtaW46ZmVkb3JhQWRtaW4= response: status: - code: 404 - message: Not Found + code: 200 + message: '' headers: + Etag: + - W/"b499b8236cd14853e2b5541a35776a7a19702787" + Last-Modified: + - Fri, 09 Mar 2018 18:53:35 GMT + Link: + - ; + rel="describes" + - ;rel="type" + - ;rel="type" + Accept-Patch: + - application/sparql-update + Allow: + - MOVE,COPY,DELETE,POST,HEAD,GET,PUT,PATCH,OPTIONS + Preference-Applied: + - return=representation + Vary: + - Accept, Range, Accept-Encoding, Accept-Language + - Prefer Content-Type: - - text/html;charset=ISO-8859-1 - Cache-Control: - - must-revalidate,no-cache,no-store + - text/rdf+n3;charset=utf-8 Content-Length: - - '1428' + - '4555' + Date: + - Fri, 16 Mar 2018 15:35:08 GMT body: encoding: UTF-8 - string: "\n\n\nError 404 Not Found\n\n

HTTP - ERROR 404

\n

Problem accessing /fedora/rest/test/9p/29/09/32/9p2909328/fedora3foxml/fcr:metadata. - Reason:\n

    Not Found


Powered by Jetty://
- \ \n
\n
- \ \n
\n
- \ \n
\n
- \ \n
\n
- \ \n
\n
- \ \n
\n
- \ \n
\n
- \ \n
\n
- \ \n
\n
- \ \n
\n\n\n\n" + string: | + @prefix premis: . + @prefix rdfs: . + @prefix ns004: . + @prefix ns003: . + @prefix ns002: . + @prefix xsi: . + @prefix ns001: . + @prefix ns008: . + @prefix ns007: . + @prefix ns006: . + @prefix xmlns: . + @prefix ns005: . + @prefix xml: . + @prefix ns009: . + @prefix fedoraconfig: . + @prefix foaf: . + @prefix test: . + @prefix ns011: . + @prefix ns010: . + @prefix ns015: . + @prefix ns014: . + @prefix ns013: . + @prefix ns012: . + @prefix ns019: . + @prefix ns018: . + @prefix ns017: . + @prefix ns016: . + @prefix fedora: . + @prefix rdf: . + @prefix ebucore: . + @prefix ldp: . + @prefix xs: . + @prefix dc: . + + + a ldp:NonRDFSource , ns005:File , fedora:Binary , ns011:OriginalFile , fedora:Resource ; + fedora:created "2018-03-09T18:53:33.16Z"^^ ; + fedora:createdBy "bypassAdmin"^^ ; + fedora:hasFixityService ; + fedora:hasParent ; + fedora:lastModified "2018-03-09T18:53:35.73Z"^^ ; + fedora:lastModifiedBy "bypassAdmin"^^ ; + fedora:writable "true"^^ ; + ns017:valid "true"^^ ; + ns017:wellFormed "true"^^ ; + ns019:compressionScheme "JPEG"^^ ; + ns018:byteOrder "big endian"^^ ; + ebucore:fileSize "12401"^^ ; + ebucore:filename "image-sample.jpeg"^^ ; + ebucore:hasMimeType "image/jpeg"^^ ; + ebucore:height "183"^^ ; + ebucore:width "276"^^ ; + ns014:describedby ; + premis:hasCreatingApplicationVersion + "1.2.0"^^ ; + premis:hasFormatName "JPEG File Interchange Format"^^ ; + premis:hasMessageDigest ; + premis:hasSize "12401"^^ ; + ns016:hashValue "71179c73ffd133cf0f25e3f7b3572ef7"^^ ; + ns015:colorSpace "YCbCr"^^ ; + ns015:exifVersion "10.00"^^ . http_version: - recorded_at: Tue, 16 May 2017 21:47:14 GMT + recorded_at: Fri, 16 Mar 2018 15:35:08 GMT - request: method: get - uri: http://www.example.com:8080/fcrepo/rest/test/9p/29/09/32/9p2909328/content + uri: http://www.example.com:8080/fcrepo/rest/test/83/79/77/d6/837977d6-de61-49ea-a912-a65af5c9005e/files/956ee84b-ef1a-4e1e-955e-0707e34df4b8 body: encoding: US-ASCII string: '' @@ -679,200 +2009,318 @@ http_interactions: response: status: code: 200 - message: OK + message: '' headers: Etag: - - '"cbdc7e82500473b94daf3affd0458c777b2bec71"' - - '"cbdc7e82500473b94daf3affd0458c777b2bec71"' + - '"25ab58161ecfa406e4767f24ccec58dd7b7d8f8c"' + - '"25ab58161ecfa406e4767f24ccec58dd7b7d8f8c"' Last-Modified: - - Tue, 16 May 2017 21:26:56 GMT - - Tue, 16 May 2017 21:26:56 GMT + - Fri, 09 Mar 2018 18:53:33 GMT + - Fri, 09 Mar 2018 18:53:33 GMT Accept-Ranges: - bytes Content-Disposition: - - attachment; filename="whatever.pdf"; creation-date="Tue, 16 May 2017 21:26:56 - GMT"; modification-date="Tue, 16 May 2017 21:26:56 GMT"; size=7162 + - attachment; filename="image-sample.jpeg"; creation-date="Fri, 09 Mar 2018 + 18:53:33 GMT"; modification-date="Fri, 09 Mar 2018 18:53:35 GMT"; size=12401 Link: - - ; + - ; rel="describedby" - ;rel="type" - ;rel="type" Allow: - DELETE,HEAD,GET,PUT,OPTIONS - Content-Length: - - '7162' - Content-Type: - - application/pdf Cache-Control: - no-transform, must-revalidate, max-age=0 + Content-Type: + - image/jpeg + Content-Length: + - '12401' + Date: + - Fri, 16 Mar 2018 15:35:08 GMT body: - encoding: ASCII-8BIT - string: !binary |- - JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp - bHRlci9GbGF0ZURlY29kZT4+CnN0cmVhbQp4nDPQM1Qo5ypUMABCM0MjBXNL - I4WiVK5wLYU8qKiBQlE6l1MIl6mZnoWCuZEJUENIioK+m6ECUHlIWrSNgaGd - oY2BkYGxna6ZjYGJnZGNgSlIxAxCmdvFhnhxuYZwBXIFKgAAJJQXtwplbmRz - dHJlYW0KZW5kb2JqCgozIDAgb2JqCjEwNAplbmRvYmoKCjUgMCBvYmoKPDwv - TGVuZ3RoIDYgMCBSL0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGgxIDgyMjg+ - PgpzdHJlYW0KeJzlWH9UW9d9/9579RshPYF4xpaNnvwAAwKEkbHBcUAGJIRx - jPjlCBJAMhIg/wAsCVwnzUzbEyfBdeMlaX40XptmaU6W9pw87KzDXRaTc5Ju - Xdc03fpjWePW3bKds1PTeGmTs7Ux7HufBLHdpD1n3Tn7Y1fSu9/v5/vr3u/9 - 3vueXjo5HQczzAID38iR6NR6bY4BAP4OgOSNzKSllWafhPRlACqOTo0dKfP+ - +BcA7D8B9Nqxw8dHP3fv8S8C5KCJ8ZHxeDT27VsuNADYH0Fg+zgC+5aP65FH - f1A8fiT9CQ+bcSB/FXnp8ORItNZcbwIoEJDPOxL9xNSf6j6jQb6YyyeiR+L7 - 4k+jr4JWAMPeqclUOgbFKwCbznD5VDI+9d7AYzjeTQqOL40YwQ9vZiR1nKdM - o9Xp4f9t056GAghqbwUrTKnXGxr7Gqzn/cqVG6/Le1d+/b85CkOmexyehRfh - NLwJg1lBAEKQgGlErm+vwPcQ5S0EA/A8zH2M26/BAsozehF4EJ74GL0QPAbn - 4a9viBKCI3A3juXP4U2yFb6FpTIJ7xIDfApeQ6/vInbbR7miFryMquTodeiP - 4Ul6CvbQt5F5gkuohwrwKpwlQ+g5jfM8vTbjXb/l9D64B689MA4zSKtNe+sH - /wTGlV/irO6BPfBp2A2Hr7N4iXyJ4b5hvfAlzOkrKuZZFeqD7CD9OqXXHkbm - j2EMf1GCc6en2W5o1drIiwA+f3+4r7enuyvUue+2vR172oNtAX9rS/NuX1Pj - rbtu2dlQv2N73dYaT3VVZdmW0pJiebPLWWi3CVZLbo7JaNDrtBpGCVT65UBE - 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 - wT4JhxCbhNHfGX8v2h9Q43BJAvUnUNqjIgm05ZZjMI0j5B53Y6wRRCbUKEnU - rFLH9bt9/D75fpVKrUm24rh43qph20fa/j7Pf1hGMrkfU72kVd8ZzYTquw81 - elStkGrJc5FWo02oWr0fEbETI46iPc/ch5ojqu808hnPk0iPZ7N6EDOeVEcQ - U+1W55bCyL+9BrwGk1iFkzdliY9uRo15m4qn1ZrisnGVm4KdeNfx4H2Df6pR - 50bPI1m/1Sp1BDX/p3Zp3CFTah7j6jqPoW5mzatVn0ewvvZmMzSh1j3P0PR1 - c8zk5uNqLaD2mZ1z+AY/fGV5z21XR5/Kjn9UjZPJ2hReJzHvcTXb1So6ps4x - gWuYQOr68fEVG8tiN49mdSw3zuf/MjbLPt24MOJHtHlj5GWixzt2k3q9SDS+ - fnL5GvnuNSJdIyd+Q0K/IbPvnnmX/sfVcucLVy9epZ3vDL/zwjus5h1ifYcY - YElYCi1FlqaWnlrSmaxXiBl+Tmz/crne+VPvpb6feN/qg0tkV+jS7CXlEuNP - fwOXDDmBS4T1vcVEp7AoLdYsTi3OLr6xeHnx6qJh9uUzL9O/esnjtL7kfIk6 - z3eeP3GeRZ4j1uecz9HQk5En6ZmzxHrWedZzln3hiWrnE21Fzsce3eK8/OjV - R9WHy7pHc22B4c+TEw89+BCdOjl78sxJNnvvmXvpCzMXZ2gqVO6cnHA7J9oq - nOu9hX16L+vTsRUnt2w9UFIWiAz7nMOodMdAjXOgrdyZ783r0+JgNahoZU71 - 7cwke5BdZHpDd6jI2YW/y6GrIWrtdHZ6OtX/x9EOFzraM7Vndg9rD5Q7g231 - Tmubs83T9t22n7a906YbbiNfwm/ghcDFAPMFyj0BX6DIFdgYdPSJ3oI+wWvt - owT6iBf6PNYVK7Vah60nrMwKTUBnRaIlC+TMfG+P292xoF/p7lAMoTsUcr9S - 0sOvvq4BRXe/An0Dd4TnCflc/72nT0Pzpg6ltiesRDb1dygxJHycmEVC2DQv - QnN/KpXm/w/c+C8ByWm8gnsaoaFUBgT3qhjcKZJKQSpF3FymkohAys1hjnAb - gpZDKeAXLnWrWpxKpQqH/hs5V1/1CmVuZHN0cmVhbQplbmRvYmoKCjYgMCBv - YmoKNTA1MgplbmRvYmoKCjcgMCBvYmoKPDwvVHlwZS9Gb250RGVzY3JpcHRv - ci9Gb250TmFtZS9CQUFBQUErTGliZXJhdGlvblNlcmlmCi9GbGFncyA0Ci9G - b250QkJveFstMTc2IC0zMDMgMTAwNSA5ODFdL0l0YWxpY0FuZ2xlIDAKL0Fz - Y2VudCA4OTEKL0Rlc2NlbnQgLTIxNgovQ2FwSGVpZ2h0IDk4MQovU3RlbVYg - ODAKL0ZvbnRGaWxlMiA1IDAgUgo+PgplbmRvYmoKCjggMCBvYmoKPDwvTGVu - Z3RoIDI1Ni9GaWx0ZXIvRmxhdGVEZWNvZGU+PgpzdHJlYW0KeJxdkMtuxCAM - Rfd8hZfTxYgknSRdREijqUbKog817QcQcFKkBhAhi/x9eUxbqQvQMfa1uaaX - /rHXytNXZ8SAHialpcPVbE4gjDgrTcoKpBL+FqVbLNwSGrTDvnpcej2ZriP0 - LeRW73Y4nKUZ8Y7QFyfRKT3D4eMyhHjYrP3CBbWHgjAGEqfQ54nbZ74gTapj - L0Na+f0YJH8F77tFqFJc5q8II3G1XKDjekbSFQWD7nplBLX8l2uzYpzEJ3eh - sgyVRVG3LHCVuHmIfJ+5jHxK3J4i1/m9jtzk9yZym7lKM2/d4/S4nh9XIDbn - gqO0w2QlmlAa4XfP1tgoS+cbZPJ7dQplbmRzdHJlYW0KZW5kb2JqCgo5IDAg - b2JqCjw8L1R5cGUvRm9udC9TdWJ0eXBlL1RydWVUeXBlL0Jhc2VGb250L0JB - QUFBQStMaWJlcmF0aW9uU2VyaWYKL0ZpcnN0Q2hhciAwCi9MYXN0Q2hhciA3 - Ci9XaWR0aHNbMzY1IDk0MyA1MDAgNDQzIDI3NyA0NDMgNTAwIDMzMyBdCi9G - b250RGVzY3JpcHRvciA3IDAgUgovVG9Vbmljb2RlIDggMCBSCj4+CmVuZG9i - agoKMTAgMCBvYmoKPDwvRjEgOSAwIFIKPj4KZW5kb2JqCgoxMSAwIG9iago8 - PC9Gb250IDEwIDAgUgovUHJvY1NldFsvUERGL1RleHRdCj4+CmVuZG9iagoK - MSAwIG9iago8PC9UeXBlL1BhZ2UvUGFyZW50IDQgMCBSL1Jlc291cmNlcyAx - MSAwIFIvTWVkaWFCb3hbMCAwIDYxMiA3OTJdL0dyb3VwPDwvUy9UcmFuc3Bh - cmVuY3kvQ1MvRGV2aWNlUkdCL0kgdHJ1ZT4+L0NvbnRlbnRzIDIgMCBSPj4K - ZW5kb2JqCgo0IDAgb2JqCjw8L1R5cGUvUGFnZXMKL1Jlc291cmNlcyAxMSAw - IFIKL01lZGlhQm94WyAwIDAgNjEyIDc5MiBdCi9LaWRzWyAxIDAgUiBdCi9D - b3VudCAxPj4KZW5kb2JqCgoxMiAwIG9iago8PC9UeXBlL0NhdGFsb2cvUGFn - ZXMgNCAwIFIKL09wZW5BY3Rpb25bMSAwIFIgL1hZWiBudWxsIG51bGwgMF0K - L0xhbmcoZW4tQ0EpCj4+CmVuZG9iagoKMTMgMCBvYmoKPDwvQ3JlYXRvcjxG - RUZGMDA1NzAwNzIwMDY5MDA3NDAwNjUwMDcyPgovUHJvZHVjZXI8RkVGRjAw - NEMwMDY5MDA2MjAwNzIwMDY1MDA0RjAwNjYwMDY2MDA2OTAwNjMwMDY1MDAy - MDAwMzUwMDJFMDAzMj4KL0NyZWF0aW9uRGF0ZShEOjIwMTcwNTE2MTUyNjA0 - LTA2JzAwJyk+PgplbmRvYmoKCnhyZWYKMCAxNAowMDAwMDAwMDAwIDY1NTM1 - IGYgCjAwMDAwMDYxNjUgMDAwMDAgbiAKMDAwMDAwMDAxOSAwMDAwMCBuIAow - MDAwMDAwMTk0IDAwMDAwIG4gCjAwMDAwMDYzMDggMDAwMDAgbiAKMDAwMDAw - MDIxNCAwMDAwMCBuIAowMDAwMDA1MzUwIDAwMDAwIG4gCjAwMDAwMDUzNzEg - MDAwMDAgbiAKMDAwMDAwNTU2NiAwMDAwMCBuIAowMDAwMDA1ODkxIDAwMDAw - IG4gCjAwMDAwMDYwNzggMDAwMDAgbiAKMDAwMDAwNjExMCAwMDAwMCBuIAow - MDAwMDA2NDA3IDAwMDAwIG4gCjAwMDAwMDY1MDQgMDAwMDAgbiAKdHJhaWxl - cgo8PC9TaXplIDE0L1Jvb3QgMTIgMCBSCi9JbmZvIDEzIDAgUgovSUQgWyA8 - RUYwMDJGOTBERUYwNkIyRURDMDA4QkE0QTQwMkVCNkM+CjxFRjAwMkY5MERF - RjA2QjJFREMwMDhCQTRBNDAyRUI2Qz4gXQovRG9jQ2hlY2tzdW0gL0FGRjM4 - REM2NjIwMjY0N0EyNDQxRDE3MDJGNkVCRUU0Cj4+CnN0YXJ0eHJlZgo2Njc5 - CiUlRU9GCg== + encoding: UTF-8 + base64_string: | + /9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAkGBxMTEhUTExIWFhUXGBobGBgY + GRcfIBsiHR0aHR0aGhseHyggGhslGxkaITEhJSkrLi4uHh8zODMsNygtLi0B + CgoKDg0OGhAQGi0lICUtLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t + LS0tLS0tLS0tLS0tLS0tLS0tN//AABEIALcBFAMBIgACEQEDEQH/xAAcAAAC + AgMBAQAAAAAAAAAAAAAFBgMEAAIHAQj/xAA+EAABAgQEAwYEBQMCBgMAAAAB + AhEAAyExBAUSQVFhcQYTIoGRoTKxwfAjQlLR4QcU8TNiQ3KCkrLCFRa0/8QA + GAEAAwEBAAAAAAAAAAAAAAAAAAECAwT/xAAjEQACAgIDAQABBQAAAAAAAAAA + AQIREiEDMUFRMhMiUmGB/9oADAMBAAIRAxEAPwDm65RdqA8ONI9/szp1AWNe + ZP0joistl4iXpZKZgT8TMW09PeEzMsmm4ctqOg1dqUvGSlZimwfi8JY6QBT3 + itJw4D6ri1vtovSZM1aSEp1Vbnxtf2j04LSHXqBFwUtfnFXQ7ZNkuXoVOSRV + KDqqwtYtc1aNs61d7MWAwcCzM1L8yHglkGKSVaAA4QoAtU1dqXvE2GyJTeNZ + 0rGpKQ/iIIormA/SsKxv8SHJ56u70qFdnNWHXrfrBLJcMkhSikVGoHSksKiw + Ll/WJcVlE2bLUmQlS1UBICiEubg8WDcgeMWZHZ3EykpQmWsFPjUo11Bw6QX8 + INYl20OSxVL/AErr7n8VKkgJJcgp2AFU0p4triFFWBNCFJuWsAKmnX25w75t + kOMVMWRJUpJHhISAeNtT0gZJ7N4paVAJUpQD6QA7v8NFODf0iVFoyp3oWVSv + DUhnZum/BoYsuyGWqUguRMNdRAZIrYdCDXlziTCYOUhRK5RVMQVMVUB4DSaE + ggj96RJhMQnRpmFTlQ0uaivi1XcFqfzDfQMc5OWAS2UkKGmqhpBDA7NZ9niP + EpSqR3ktCVTEp0p0gAAqYVcbEB+kB8NidZdBKZqEksbF9mtV+G8FE5kCTIYD + w/iKBZiaMOZcF/KMH2Kyp2hwcxMhIlFJKm1DSNSnuAR8NntAnNc3CUJlyChR + AVrOh2YfCFM9gXAERdpkT8MoGWtJSUFKSo1HFVTVZfm0J2GkrJ0rmadTF3Ll + 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 + bU2GRkAhZzxYEwfiIql6BfE8UxkZGQCP/9k= http_version: - recorded_at: Tue, 16 May 2017 21:47:14 GMT + recorded_at: Fri, 16 Mar 2018 15:35:08 GMT - request: method: get - uri: http://www.example.com:8983/solr/test/select?fl=id&q=accessTo_ssim:9p2909328&wt=json + uri: http://www.example.com:8080/fcrepo/rest/test/83/79/77/d6/837977d6-de61-49ea-a912-a65af5c9005e/files/956ee84b-ef1a-4e1e-955e-0707e34df4b8/fcr:fixity body: encoding: US-ASCII string: '' @@ -880,34 +2328,74 @@ http_interactions: Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: - - "*/*" + - text/rdf+n3 User-Agent: - Ruby Host: - - www.example.com:8983 + - www.example.com:8080 + Authorization: + - Basic ZmVkb3JhQWRtaW46ZmVkb3JhQWRtaW4= response: status: code: 200 - message: OK + message: '' headers: - Last-Modified: - - Tue, 16 May 2017 21:36:29 GMT - Etag: - - '"NWE0MDAwMDAwMDAwMDAwMFNvbHI="' Content-Type: - - application/json; charset=UTF-8 - Transfer-Encoding: - - chunked + - text/rdf+n3;charset=utf-8 + Content-Length: + - '2662' + Date: + - Fri, 16 Mar 2018 15:35:08 GMT body: encoding: UTF-8 - string: '{"responseHeader":{"status":0,"QTime":1,"params":{"q":"accessTo_ssim:9p2909328","fl":"id","wt":"json"}},"response":{"numFound":3,"start":0,"docs":[{"id":"ffd40638-290a-41f7-bcb2-4e0e54fc3ffd"},{"id":"ef4319c0-2f7a-44c0-b1b5-cd650aa4a075"},{"id":"e1910293-34b3-42bb-9179-f67f37eb145e"}]},"facet_counts":{"facet_queries":{},"facet_fields":{"active_fedora_model_ssi":["Hydra::AccessControls::Permission",3],"object_type_si":[]},"facet_dates":{},"facet_ranges":{},"facet_intervals":{}},"spellcheck":{"suggestions":["correctlySpelled",true]}} + string: | + @prefix premis: . + @prefix rdfs: . + @prefix ns004: . + @prefix ns003: . + @prefix ns002: . + @prefix xsi: . + @prefix ns001: . + @prefix ns008: . + @prefix ns007: . + @prefix ns006: . + @prefix xmlns: . + @prefix ns005: . + @prefix xml: . + @prefix ns009: . + @prefix fedoraconfig: . + @prefix foaf: . + @prefix test: . + @prefix ns011: . + @prefix ns010: . + @prefix ns015: . + @prefix ns014: . + @prefix ns013: . + @prefix ns012: . + @prefix ns019: . + @prefix ns018: . + @prefix ns017: . + @prefix ns016: . + @prefix fedora: . + @prefix rdf: . + @prefix ebucore: . + @prefix ldp: . + @prefix xs: . + @prefix dc: . + + + premis:hasFixity . -' + + a premis:EventOutcomeDetail , premis:Fixity ; + premis:hasEventOutcome "SUCCESS"^^ ; + premis:hasMessageDigest ; + premis:hasSize "12401"^^ . http_version: - recorded_at: Tue, 16 May 2017 21:47:14 GMT + recorded_at: Fri, 16 Mar 2018 15:35:08 GMT - request: method: get - uri: http://www.example.com:8080/fcrepo/rest/test/ff/d4/06/38/ffd40638-290a-41f7-bcb2-4e0e54fc3ffd + uri: http://www.example.com:8080/fcrepo/rest/test/85/64/44/b6/856444b6-8dd5-4dfa-857d-435e354a2ead body: encoding: US-ASCII string: '' @@ -925,12 +2413,12 @@ http_interactions: response: status: code: 200 - message: OK + message: '' headers: Etag: - - '"565c1476d8c61889f49e2a6aff91113e3c3489d6"' + - W/"8620850bf8b048af0ff24b3d9a030bd104fa67b5" Last-Modified: - - Tue, 16 May 2017 21:26:58 GMT + - Fri, 09 Mar 2018 18:53:39 GMT Link: - ;rel="type" - ;rel="type" @@ -938,7 +2426,7 @@ http_interactions: Accept-Patch: - application/sparql-update Accept-Post: - - text/turtle,text/rdf+n3,text/n3,application/rdf+xml,application/n-triples,multipart/form-data,application/sparql-update + - text/turtle,text/rdf+n3,text/n3,application/rdf+xml,application/n-triples,application/ld+json,multipart/form-data,application/sparql-update Allow: - MOVE,COPY,DELETE,POST,HEAD,GET,PUT,PATCH,OPTIONS Preference-Applied: @@ -946,58 +2434,72 @@ http_interactions: Vary: - Accept, Range, Accept-Encoding, Accept-Language - Prefer - Content-Length: - - '3759' Content-Type: - - text/rdf+n3 + - text/rdf+n3;charset=utf-8 + Content-Length: + - '4273' + Date: + - Fri, 16 Mar 2018 15:35:08 GMT body: encoding: UTF-8 - string: "@prefix premis: .\n@prefix nt: - .\n@prefix rdfs: - .\n@prefix ns004: .\n@prefix ns003: - .\n@prefix ns002: .\n@prefix - ns001: .\n@prefix xsi: - .\n@prefix ns008: .\n@prefix mode: - .\n@prefix ns007: .\n@prefix ns006: - .\n@prefix ns005: - .\n@prefix xml: .\n@prefix ns009: - .\n@prefix fedoraconfig: .\n@prefix - mix: .\n@prefix foaf: - .\n@prefix image: .\n@prefix sv: - .\n@prefix test: .\n@prefix ns011: - .\n@prefix ns010: .\n@prefix - ns015: .\n@prefix ns014: - .\n@prefix ns013: .\n@prefix ns012: - .\n@prefix rdf: .\n@prefix fedora: - .\n@prefix ldp: - .\n@prefix xs: .\n@prefix dc: - .\n\n\n - a ldp:RDFSource , ldp:Container , , - , - , , fedora:Container , fedora:Resource - , fedora:Resource , , - , ;\n\tns005:accessTo - ;\n\tfedora:lastModifiedBy \"bypassAdmin\"^^ - ;\n\tfedora:uuid \"5500b30e-8181-49b7-8322-6d71545942cf\"^^ - ;\n\tfedora:createdBy \"bypassAdmin\"^^ - ;\n\tfedora:primaryType \"nt:folder\"^^ - ;\n\tfedora:created \"2017-05-16T21:26:58.414Z\"^^ - ;\n\tfedora:mixinTypes \"fedora:Container\"^^ - , \"fedora:Resource\"^^ ;\n\tfedora:lastModified - \"2017-05-16T21:26:58.414Z\"^^ - ;\n\tns005:mode ns005:Write ;\n\tns001:hasModel \"Hydra::AccessControls::Permission\"^^ - ;\n\tns005:agent - ;\n\tfedora:writable \"true\"^^ - ;\n\tfedora:hasParent ;\n\tfedora:exportsAs - - .\n\n - dc:format .\n\n - rdfs:label \"jcr/xml\"^^ .\n" + string: | + @prefix premis: . + @prefix rdfs: . + @prefix ns004: . + @prefix ns003: . + @prefix ns002: . + @prefix xsi: . + @prefix ns001: . + @prefix ns008: . + @prefix ns007: . + @prefix ns006: . + @prefix xmlns: . + @prefix ns005: . + @prefix xml: . + @prefix ns009: . + @prefix fedoraconfig: . + @prefix foaf: . + @prefix test: . + @prefix ns011: . + @prefix ns010: . + @prefix ns015: . + @prefix ns014: . + @prefix ns013: . + @prefix ns012: . + @prefix ns019: . + @prefix ns018: . + @prefix ns017: . + @prefix ns016: . + @prefix fedora: . + @prefix rdf: . + @prefix ebucore: . + @prefix ldp: . + @prefix xs: . + @prefix dc: . + + + a ldp:RDFSource , fedora:Resource , ns007:FileSet , fedora:Container , ldp:Container , ns005:Object ; + fedora:created "2018-03-09T18:53:35.759Z"^^ ; + fedora:createdBy "bypassAdmin"^^ ; + fedora:hasParent ; + fedora:lastModified "2018-03-09T18:53:39.162Z"^^ ; + fedora:lastModifiedBy "bypassAdmin"^^ ; + fedora:writable "true"^^ ; + ns005:hasFile , ; + ns005:memberOf ; + ns003:accessRights "http://terms.library.ualberta.ca/public"^^ ; + ns003:title "era-logo.png"^^ ; + ns002:owner 2705 ; + ns010:recordCreatedInJupiter "2018-03-09T18:53:35.736Z"^^ ; + ns010:sitemapLink ""^^ ; + ebucore:dateIngested "2018-03-09T18:53:35.736Z"^^ ; + ldp:contains , ; + ns001:hasModel "IRFileSet"^^ . http_version: - recorded_at: Tue, 16 May 2017 21:47:14 GMT + recorded_at: Fri, 16 Mar 2018 15:35:09 GMT - request: method: get - uri: http://www.example.com:8080/fcrepo/rest/test/ef/43/19/c0/ef4319c0-2f7a-44c0-b1b5-cd650aa4a075 + uri: http://www.example.com:8080/fcrepo/rest/test/85/64/44/b6/856444b6-8dd5-4dfa-857d-435e354a2ead/files/e1bc671b-b3ce-4f9f-9596-df3cad1d84bb/fcr:metadata body: encoding: US-ASCII string: '' @@ -1015,20 +2517,19 @@ http_interactions: response: status: code: 200 - message: OK + message: '' headers: Etag: - - '"d017b399c2b892eec7230039d70280fe33a0cc12"' + - W/"2c4f281be4b1756e9ce34f5598b6ac3d1aed8f8e" Last-Modified: - - Tue, 16 May 2017 21:28:47 GMT + - Fri, 09 Mar 2018 18:53:39 GMT Link: - - ;rel="type" - - ;rel="type" + - ; + rel="describes" + - ;rel="type" - ;rel="type" Accept-Patch: - application/sparql-update - Accept-Post: - - text/turtle,text/rdf+n3,text/n3,application/rdf+xml,application/n-triples,multipart/form-data,application/sparql-update Allow: - MOVE,COPY,DELETE,POST,HEAD,GET,PUT,PATCH,OPTIONS Preference-Applied: @@ -1036,57 +2537,68 @@ http_interactions: Vary: - Accept, Range, Accept-Encoding, Accept-Language - Prefer - Content-Length: - - '3744' Content-Type: - - text/rdf+n3 + - text/rdf+n3;charset=utf-8 + Content-Length: + - '3433' + Date: + - Fri, 16 Mar 2018 15:35:08 GMT body: encoding: UTF-8 - string: "@prefix premis: .\n@prefix nt: - .\n@prefix rdfs: - .\n@prefix ns004: .\n@prefix ns003: - .\n@prefix ns002: .\n@prefix - ns001: .\n@prefix xsi: - .\n@prefix ns008: .\n@prefix mode: - .\n@prefix ns007: .\n@prefix ns006: - .\n@prefix ns005: - .\n@prefix xml: .\n@prefix ns009: - .\n@prefix fedoraconfig: .\n@prefix - mix: .\n@prefix foaf: - .\n@prefix image: .\n@prefix sv: - .\n@prefix test: .\n@prefix ns011: - .\n@prefix ns010: .\n@prefix - ns015: .\n@prefix ns014: - .\n@prefix ns013: .\n@prefix ns012: - .\n@prefix rdf: .\n@prefix fedora: - .\n@prefix ldp: - .\n@prefix xs: .\n@prefix dc: - .\n\n\n - a ldp:RDFSource , ldp:Container , , - , - , , fedora:Container , fedora:Resource - , fedora:Resource , , - , ;\n\tns005:accessTo - ;\n\tfedora:lastModifiedBy \"bypassAdmin\"^^ - ;\n\tfedora:uuid \"73139ad6-d9d3-4e09-bc6a-639577686454\"^^ - ;\n\tfedora:createdBy \"bypassAdmin\"^^ - ;\n\tfedora:primaryType \"nt:folder\"^^ - ;\n\tfedora:created \"2017-05-16T21:28:47.376Z\"^^ - ;\n\tfedora:mixinTypes \"fedora:Container\"^^ - , \"fedora:Resource\"^^ ;\n\tfedora:lastModified - \"2017-05-16T21:28:47.376Z\"^^ - ;\n\tns005:mode ns005:Read ;\n\tns001:hasModel \"Hydra::AccessControls::Permission\"^^ - ;\n\tns005:agent ;\n\tfedora:writable - \"true\"^^ ;\n\tfedora:hasParent - ;\n\tfedora:exportsAs - .\n\n - dc:format .\n\n - rdfs:label \"jcr/xml\"^^ .\n" + string: | + @prefix premis: . + @prefix rdfs: . + @prefix ns004: . + @prefix ns003: . + @prefix ns002: . + @prefix xsi: . + @prefix ns001: . + @prefix ns008: . + @prefix ns007: . + @prefix ns006: . + @prefix xmlns: . + @prefix ns005: . + @prefix xml: . + @prefix ns009: . + @prefix fedoraconfig: . + @prefix foaf: . + @prefix test: . + @prefix ns011: . + @prefix ns010: . + @prefix ns015: . + @prefix ns014: . + @prefix ns013: . + @prefix ns012: . + @prefix ns019: . + @prefix ns018: . + @prefix ns017: . + @prefix ns016: . + @prefix fedora: . + @prefix rdf: . + @prefix ebucore: . + @prefix ldp: . + @prefix xs: . + @prefix dc: . + + + a ns005:File , fedora:Binary , ldp:NonRDFSource , ns011:ThumbnailImage , fedora:Resource ; + fedora:created "2018-03-09T18:53:39.163Z"^^ ; + fedora:createdBy "bypassAdmin"^^ ; + fedora:hasFixityService ; + fedora:hasParent ; + fedora:lastModified "2018-03-09T18:53:39.189Z"^^ ; + fedora:lastModifiedBy "bypassAdmin"^^ ; + fedora:writable "true"^^ ; + ebucore:filename ""^^ ; + ebucore:hasMimeType "image/jpeg"^^ ; + ns014:describedby ; + premis:hasMessageDigest ; + premis:hasSize "6602"^^ . http_version: - recorded_at: Tue, 16 May 2017 21:47:14 GMT + recorded_at: Fri, 16 Mar 2018 15:35:09 GMT - request: method: get - uri: http://www.example.com:8080/fcrepo/rest/test/e1/91/02/93/e1910293-34b3-42bb-9179-f67f37eb145e + uri: http://www.example.com:8080/fcrepo/rest/test/85/64/44/b6/856444b6-8dd5-4dfa-857d-435e354a2ead/files/04bb7928-cc5d-4338-8062-3209274b29da/fcr:metadata body: encoding: US-ASCII string: '' @@ -1104,20 +2616,19 @@ http_interactions: response: status: code: 200 - message: OK + message: '' headers: Etag: - - '"082f136e28c8d10a7030ae5f53c0fe4cf2a81c01"' + - W/"6207d8df76a9eda596305d6604963298ac358cc0" Last-Modified: - - Tue, 16 May 2017 21:28:47 GMT + - Fri, 09 Mar 2018 18:53:38 GMT Link: - - ;rel="type" - - ;rel="type" + - ; + rel="describes" + - ;rel="type" - ;rel="type" Accept-Patch: - application/sparql-update - Accept-Post: - - text/turtle,text/rdf+n3,text/n3,application/rdf+xml,application/n-triples,multipart/form-data,application/sparql-update Allow: - MOVE,COPY,DELETE,POST,HEAD,GET,PUT,PATCH,OPTIONS Preference-Applied: @@ -1125,53 +2636,326 @@ http_interactions: Vary: - Accept, Range, Accept-Encoding, Accept-Language - Prefer + Content-Type: + - text/rdf+n3;charset=utf-8 Content-Length: - - '3852' + - '4353' + Date: + - Fri, 16 Mar 2018 15:35:08 GMT + body: + encoding: UTF-8 + string: | + @prefix premis: . + @prefix rdfs: . + @prefix ns004: . + @prefix ns003: . + @prefix ns002: . + @prefix xsi: . + @prefix ns001: . + @prefix ns008: . + @prefix ns007: . + @prefix ns006: . + @prefix xmlns: . + @prefix ns005: . + @prefix xml: . + @prefix ns009: . + @prefix fedoraconfig: . + @prefix foaf: . + @prefix test: . + @prefix ns011: . + @prefix ns010: . + @prefix ns015: . + @prefix ns014: . + @prefix ns013: . + @prefix ns012: . + @prefix ns019: . + @prefix ns018: . + @prefix ns017: . + @prefix ns016: . + @prefix fedora: . + @prefix rdf: . + @prefix ebucore: . + @prefix ldp: . + @prefix xs: . + @prefix dc: . + + + a ns011:OriginalFile , ns005:File , ldp:NonRDFSource , fedora:Binary , fedora:Resource ; + fedora:created "2018-03-09T18:53:35.896Z"^^ ; + fedora:createdBy "bypassAdmin"^^ ; + fedora:hasFixityService ; + fedora:hasParent ; + fedora:lastModified "2018-03-09T18:53:38.335Z"^^ ; + fedora:lastModifiedBy "bypassAdmin"^^ ; + fedora:writable "true"^^ ; + ns019:compressionScheme "Deflate"^^ , "Deflate/Inflate"^^ ; + ebucore:fileSize "5612"^^ ; + ebucore:filename "era-logo.png"^^ ; + ebucore:hasMimeType "image/png"^^ ; + ebucore:height "114"^^ ; + ebucore:width "208"^^ ; + ns014:describedby ; + premis:hasCreatingApplicationVersion + "1.2.0"^^ ; + premis:hasFormatName "Portable Network Graphics"^^ ; + premis:hasMessageDigest ; + premis:hasSize "5612"^^ ; + ns016:hashValue "d409b41db16cfaf9f315ac20532eac07"^^ ; + ns015:exifVersion "10.00"^^ ; + ns015:orientation "normal*"^^ . + http_version: + recorded_at: Fri, 16 Mar 2018 15:35:09 GMT +- request: + method: get + uri: http://www.example.com:8080/fcrepo/rest/test/85/64/44/b6/856444b6-8dd5-4dfa-857d-435e354a2ead/files/04bb7928-cc5d-4338-8062-3209274b29da + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + Host: + - www.example.com:8080 + Authorization: + - Basic ZmVkb3JhQWRtaW46ZmVkb3JhQWRtaW4= + response: + status: + code: 200 + message: '' + headers: + Etag: + - '"53b962d0dbba2e45fd47678379833b44252bdacd"' + - '"53b962d0dbba2e45fd47678379833b44252bdacd"' + Last-Modified: + - Fri, 09 Mar 2018 18:53:35 GMT + - Fri, 09 Mar 2018 18:53:35 GMT + Accept-Ranges: + - bytes + Content-Disposition: + - attachment; filename="era-logo.png"; creation-date="Fri, 09 Mar 2018 18:53:35 + GMT"; modification-date="Fri, 09 Mar 2018 18:53:38 GMT"; size=5612 + Link: + - ; + rel="describedby" + - ;rel="type" + - ;rel="type" + Allow: + - DELETE,HEAD,GET,PUT,OPTIONS + Cache-Control: + - no-transform, must-revalidate, max-age=0 Content-Type: + - image/png + Content-Length: + - '5612' + Date: + - Fri, 16 Mar 2018 15:35:08 GMT + body: + encoding: UTF-8 + base64_string: | + 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 + VxIaxh6+TFqZjdb/CzDboD2V/y+lMq2U756YercUz+gkLe09Yp4OBp6QAe0f + JJ6vZhgTNkt+Ncj3i+T9KulRRllpbpBC3y15fo30YAtJCKB8Q+LtVYK20qPV + SN7ebz1rL0Y8ppv03l58lkiv/Yi8Okm4U61430Xrs1KXWZ+3kHoq4yPp7Zen + KE+v7F6TXsF77lSMsId3yPJisTS+9NXn961wtvviYdeLXZI3E8WDh5DvxQBl + sDMogY6Tlustq2LZx/z1k4C352CbtpGu+VlfJnv4WF6dpNWslcSHwdG0VrDc + RGsJ280hzNwrxDRqssySGyVPe2K2R48j82lqnyd5Xn/gGV9ePyPv70mLPQWj + wHo7CbH5E8RUtO97zfr8hLwPJnGoVGWG+PSXNNmKQcmOetwS0EG1S+JfJSb4 + cSmu9cdjkM982iKmWLo4ZHKUPSONUG8SqjsHA5RBYC+cJ417aBrPRq57571B + fyr9tY5iF58hXW420k/tksQz3TODoDctVU0bpVUeB/yD5E2XLBuUijR5Xikt + +E3SmEy3TNVDSD8fM0Zs/23SKIZxNGnp41WKSXYtsNQanwXJl2p08YH0nJPE + dGwMWAaBCeT1OkOT2P7eILqa9PK4+1OYP7bbe3WS3sB7xp3STT+fwjPi1yBL + phW2itaz1F3J7cj2RhnveUenvCgOkjfFHu9Pdica7BMzZWiSitxGBuy1Msi+ + Ulrdm6zyGpzEsqiW8O6UsV6Yw7I+tnrxZOUTFtdiFF9/m8TczxSPXklIletJ + H7NkHNTXMmUzlUFgAq2TMchVJFQ/q4ELrPHJNilUu8u3W66tUvG9DPcEG+1C + fkzCONJqSS+xWnrPZOuQxLbeYLUU3TGnrlVYvYzX9fa3SNRGxm8zk/SEJOmp + kmGmjKkeE3Our8Rlvwxwb8fMfGdqwJKZ0Y9LjzvM55zxWkZvXmkn8K5VEWdI + 43SNdd9pkt+9JG6eeEjfgPHZKI3DZVYv1M1yGlSmyKfKND33LuueuhT57Y/H + k5KGMdZvF1kESlV2lb44+eM1V+pVdYgyCOXGXiA2/Y3iUeoviWkSYrwnBVYn + CawRVyrSRe+VDBshY4zOYtqMEMavkNZ8n5g+9cL8GTJg3iuD/V6S0BXiedos + n1dJWPVCoLeE8AN9ptW7kuHtxcxaZHmzRoqnsVbSs15IMUIKqJHWh9o2S+Y3 + iev2ahlsnyzP+zfSn+rmPbOPjCHXWY6S9yTtN0leDsEcJrVZxjmdpSE6Ue7/ + TxIqOx9I4zNWxg1rSMgJnyrk7ib5US+E+1TSMFamI7bT8hzWhVLuN8pURm8p + n56S13VSxu/KM78prt8VVqtujz0vkDT1AP5XyLhX8vhyKbsucu06a3yzVPJk + tDXFsFbCusKamlgr6TlPGtdGif+lUkc+lms8C6ib1AX7EOV0ZeDg4ODg4ODg + 4ODg4ODg4OAQDv8P9LRKxM4Tk9wAAAAASUVORK5CYII= + http_version: + recorded_at: Fri, 16 Mar 2018 15:35:09 GMT +- request: + method: get + uri: http://www.example.com:8080/fcrepo/rest/test/85/64/44/b6/856444b6-8dd5-4dfa-857d-435e354a2ead/files/04bb7928-cc5d-4338-8062-3209274b29da/fcr:fixity + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: - text/rdf+n3 + User-Agent: + - Ruby + Host: + - www.example.com:8080 + Authorization: + - Basic ZmVkb3JhQWRtaW46ZmVkb3JhQWRtaW4= + response: + status: + code: 200 + message: '' + headers: + Content-Type: + - text/rdf+n3;charset=utf-8 + Content-Length: + - '2661' + Date: + - Fri, 16 Mar 2018 15:35:08 GMT body: encoding: UTF-8 - string: "@prefix premis: .\n@prefix nt: - .\n@prefix rdfs: - .\n@prefix ns004: .\n@prefix ns003: - .\n@prefix ns002: .\n@prefix - ns001: .\n@prefix xsi: - .\n@prefix ns008: .\n@prefix mode: - .\n@prefix ns007: .\n@prefix ns006: - .\n@prefix ns005: - .\n@prefix xml: .\n@prefix ns009: - .\n@prefix fedoraconfig: .\n@prefix - mix: .\n@prefix foaf: - .\n@prefix image: .\n@prefix sv: - .\n@prefix test: .\n@prefix ns011: - .\n@prefix ns010: .\n@prefix - ns015: .\n@prefix ns014: - .\n@prefix ns013: .\n@prefix ns012: - .\n@prefix rdf: .\n@prefix fedora: - .\n@prefix ldp: - .\n@prefix xs: .\n@prefix dc: - .\n\n\n - a ldp:RDFSource , ldp:Container , , - , - , , fedora:Container , fedora:Resource - , fedora:Resource , , - , ;\n\tns005:accessTo - ;\n\tfedora:lastModifiedBy \"bypassAdmin\"^^ - ;\n\tfedora:uuid \"d0bfd66b-64ae-4c73-9b8d-eaef81fe1394\"^^ - ;\n\tfedora:createdBy \"bypassAdmin\"^^ - ;\n\tfedora:primaryType \"nt:folder\"^^ - ;\n\tfedora:created \"2017-05-16T21:28:47.72Z\"^^ - ;\n\tfedora:mixinTypes \"fedora:Container\"^^ - , \"fedora:Resource\"^^ ;\n\tfedora:lastModified - \"2017-05-16T21:28:47.72Z\"^^ ;\n\tns005:mode - ns005:Read ;\n\tns001:hasModel \"Hydra::AccessControls::Permission\"^^ - ;\n\tns005:agent - ;\n\tfedora:writable \"true\"^^ - ;\n\tfedora:hasParent .\n\n - dc:format .\n\n - fedora:exportsAs - .\n\n rdfs:label \"jcr/xml\"^^ - .\n" + string: | + @prefix premis: . + @prefix rdfs: . + @prefix ns004: . + @prefix ns003: . + @prefix ns002: . + @prefix xsi: . + @prefix ns001: . + @prefix ns008: . + @prefix ns007: . + @prefix ns006: . + @prefix xmlns: . + @prefix ns005: . + @prefix xml: . + @prefix ns009: . + @prefix fedoraconfig: . + @prefix foaf: . + @prefix test: . + @prefix ns011: . + @prefix ns010: . + @prefix ns015: . + @prefix ns014: . + @prefix ns013: . + @prefix ns012: . + @prefix ns019: . + @prefix ns018: . + @prefix ns017: . + @prefix ns016: . + @prefix fedora: . + @prefix rdf: . + @prefix ebucore: . + @prefix ldp: . + @prefix xs: . + @prefix dc: . + + + a premis:EventOutcomeDetail , premis:Fixity ; + premis:hasEventOutcome "SUCCESS"^^ ; + premis:hasMessageDigest ; + premis:hasSize "5612"^^ . + + + premis:hasFixity . http_version: - recorded_at: Tue, 16 May 2017 21:47:14 GMT -recorded_with: VCR 3.0.3 + recorded_at: Fri, 16 Mar 2018 15:35:09 GMT +recorded_with: VCR 4.0.0 diff --git a/spec/support/http_cache/vcr/fedora_fetcher_200.yml b/spec/support/http_cache/vcr/fedora_fetcher_200.yml index d667ef7..d77ec0d 100644 --- a/spec/support/http_cache/vcr/fedora_fetcher_200.yml +++ b/spec/support/http_cache/vcr/fedora_fetcher_200.yml @@ -47,9 +47,11 @@ http_interactions: - chunked body: encoding: UTF-8 - string: "@prefix - ns001: .\n@prefix xsi: - .\n\tns001:downloadFilename \"uuid:846f544d-94db-41b4-9f4a-654e1457ed8c.zip\"^^\n" + string: | + @prefix ns003: . + + + ns003:title "Meh"; http_version: recorded_at: Tue, 09 May 2017 19:50:49 GMT recorded_with: VCR 3.0.3 diff --git a/spec/support/http_cache/vcr/fedora_fetcher_owner.yml b/spec/support/http_cache/vcr/fedora_fetcher_owner.yml new file mode 100644 index 0000000..c6959df --- /dev/null +++ b/spec/support/http_cache/vcr/fedora_fetcher_owner.yml @@ -0,0 +1,57 @@ +--- +http_interactions: +- request: + method: get + uri: http://www.example.com:8080/fcrepo/rest/test/ab/c1/23/wh/abc123whatever + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + Host: + - www.example.com:8080 + Authorization: + - Basic ZmVkb3JhQWRtaW46ZmVkb3JhQWRtaW4= + response: + status: + code: 200 + message: OK + headers: + Etag: + - '"95ae2777eae4deda67da158e3b5bcd918a52d573"' + Last-Modified: + - Fri, 28 Apr 2017 14:15:26 GMT + Link: + - ;rel="type" + - ;rel="type" + - ;rel="type" + Accept-Patch: + - application/sparql-update + Accept-Post: + - text/turtle,text/rdf+n3,text/n3,application/rdf+xml,application/n-triples,multipart/form-data,application/sparql-update + Allow: + - MOVE,COPY,DELETE,POST,HEAD,GET,PUT,PATCH,OPTIONS + Preference-Applied: + - return=representation + Vary: + - Accept, Range, Accept-Encoding, Accept-Language + - Prefer + Content-Type: + - text/turtle + Transfer-Encoding: + - chunked + body: + encoding: UTF-8 + string: | + @prefix ns002: . + + + ns002:owner 2705 ; + http_version: + recorded_at: Tue, 09 May 2017 19:50:49 GMT +recorded_with: VCR 3.0.3 diff --git a/spec/support/http_cache/vcr/solr_fetcher_200.yml b/spec/support/http_cache/vcr/solr_fetcher_200.yml deleted file mode 100644 index 5b28224..0000000 --- a/spec/support/http_cache/vcr/solr_fetcher_200.yml +++ /dev/null @@ -1,37 +0,0 @@ -http_interactions: -- request: - method: get - uri: http://www.example.com:8983/solr/test/select?fl=id&q=accessTo_ssim:9p2909328&wt=json - body: - encoding: US-ASCII - string: '' - headers: - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - User-Agent: - - Ruby - Host: - - www.example.com:8983 - response: - status: - code: 200 - message: OK - headers: - Last-Modified: - - Tue, 16 May 2017 21:36:29 GMT - Etag: - - '"NWE0MDAwMDAwMDAwMDAwMFNvbHI="' - Content-Type: - - application/json; charset=UTF-8 - Transfer-Encoding: - - chunked - body: - encoding: UTF-8 - string: '{"responseHeader":{"status":0,"QTime":1,"params":{"q":"accessTo_ssim:9p2909328","fl":"id","wt":"json"}},"response":{"numFound":3,"start":0,"docs":[{"id":"ffd40638-290a-41f7-bcb2-4e0e54fc3ffd"},{"id":"ef4319c0-2f7a-44c0-b1b5-cd650aa4a075"},{"id":"e1910293-34b3-42bb-9179-f67f37eb145e"}]},"facet_counts":{"facet_queries":{},"facet_fields":{"active_fedora_model_ssi":["Hydra::AccessControls::Permission",3],"object_type_si":[]},"facet_dates":{},"facet_ranges":{},"facet_intervals":{}},"spellcheck":{"suggestions":["correctlySpelled",true]}} - -' - http_version: - recorded_at: Tue, 16 May 2017 21:47:14 GMT -recorded_with: VCR 3.0.3 diff --git a/spec/support/http_cache/vcr/solr_fetcher_404.yml b/spec/support/http_cache/vcr/solr_fetcher_404.yml deleted file mode 100644 index 7bdc15c..0000000 --- a/spec/support/http_cache/vcr/solr_fetcher_404.yml +++ /dev/null @@ -1,33 +0,0 @@ -http_interactions: -- request: - method: get - uri: http://www.example.com:8983/solr/test/select?fl=id&q=accessTo_ssim:ohnoimbad&wt=json - body: - encoding: US-ASCII - string: '' - headers: - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - User-Agent: - - Ruby - Host: - - www.example.com:8983 - response: - status: - code: 404 - message: Not Found - headers: - Content-Type: - - text/html;charset=ISO-8859-1 - Cache-Control: - - must-revalidate,no-cache,no-store - Content-Length: - - '1407' - body: - encoding: UTF-8 - string: '' - http_version: - recorded_at: Tue, 09 May 2017 19:59:50 GMT -recorded_with: VCR 3.0.3 diff --git a/spec/support/vcr.rb b/spec/support/vcr.rb index ed41ede..630e085 100644 --- a/spec/support/vcr.rb +++ b/spec/support/vcr.rb @@ -11,4 +11,13 @@ # Only want VCR to intercept requests to external URLs. config.ignore_localhost = true + + # Prevent vcr from returning text body as a base64 (e.g., when an umlaut is used) + config.before_record do |i| + i.response.body.force_encoding('UTF-8') + end + config.preserve_exact_body_bytes do |http_message| + http_message.body.encoding.name == 'ASCII-8BIT' || + !http_message.body.valid_encoding? + end end