diff --git a/app/controllers/concerns/countable.rb b/app/controllers/concerns/countable.rb index 5dc2059a1..9f354adc4 100644 --- a/app/controllers/concerns/countable.rb +++ b/app/controllers/concerns/countable.rb @@ -14,7 +14,7 @@ def doi_count(client_id: nil, provider_id: nil, consortium_id: nil, user_id: nil else response = Doi.query(nil, page: { number: 1, size: 0 }) end - + response.results.total.positive? ? facet_by_year(response.response.aggregations.created.buckets) : [] end @@ -30,8 +30,8 @@ def view_count(client_id: nil, provider_id: nil, consortium_id: nil, user_id: ni else response = Doi.query(nil, page: { number: 1, size: 0 }) end - - response.results.total.positive? ? facet_by_year(response.response.aggregations.views.buckets) : 0 + + response.results.total.positive? ? metric_facet_by_year(response.response.aggregations.views.buckets) : [] end def download_count(client_id: nil, provider_id: nil, consortium_id: nil, user_id: nil, state: nil) @@ -46,8 +46,8 @@ def download_count(client_id: nil, provider_id: nil, consortium_id: nil, user_id else response = Doi.query(nil, page: { number: 1, size: 0 }) end - - response.results.total.positive? ? facet_by_year(response.response.aggregations.downloads.buckets) : 0 + + response.results.total.positive? ? metric_facet_by_year(response.response.aggregations.downloads.buckets) : [] end def citation_count(client_id: nil, provider_id: nil, consortium_id: nil, user_id: nil, state: nil) @@ -62,8 +62,8 @@ def citation_count(client_id: nil, provider_id: nil, consortium_id: nil, user_id else response = Doi.query(nil, page: { number: 1, size: 0 }) end - - response.results.total.positive? ? facet_by_year(response.response.aggregations.citations.buckets) : 0 + + response.results.total.positive? ? metric_facet_by_year(response.response.aggregations.citations.buckets) : [] end # cumulative count clients by year diff --git a/app/controllers/concerns/facetable.rb b/app/controllers/concerns/facetable.rb index 2190d0d2f..77f23a67c 100644 --- a/app/controllers/concerns/facetable.rb +++ b/app/controllers/concerns/facetable.rb @@ -33,6 +33,14 @@ def facet_by_year(arr) end end + def metric_facet_by_year(arr) + arr.map do |hsh| + { "id" => hsh["key_as_string"][0..3], + "title" => hsh["key_as_string"][0..3], + "count" => hsh.dig("metric_count", "value").to_i } + end + end + def facet_annual(arr) arr.map do |hsh| { "id" => hsh["key"][0..3], diff --git a/app/controllers/dois_controller.rb b/app/controllers/dois_controller.rb index 662477221..5bc88c4fc 100644 --- a/app/controllers/dois_controller.rb +++ b/app/controllers/dois_controller.rb @@ -170,33 +170,33 @@ def index certificates = nil bm = Benchmark.ms { - states = total > 0 ? facet_by_key(response.aggregations.states.buckets) : nil - resource_types = total > 0 ? facet_by_resource_type(response.aggregations.resource_types.buckets) : nil - years = total > 0 ? facet_by_year(response.aggregations.years.buckets) : nil - created = total > 0 ? facet_by_year(response.aggregations.created.buckets) : nil - registered = total > 0 ? facet_by_year(response.aggregations.registered.buckets) : nil - providers = total > 0 ? facet_by_provider(response.aggregations.providers.buckets) : nil - clients = total > 0 ? facet_by_client(response.aggregations.clients.buckets) : nil - prefixes = total > 0 ? facet_by_key(response.aggregations.prefixes.buckets) : nil - schema_versions = total > 0 ? facet_by_schema(response.aggregations.schema_versions.buckets) : nil + states = total.positive? ? facet_by_key(response.aggregations.states.buckets) : nil + resource_types = total.positive? ? facet_by_resource_type(response.aggregations.resource_types.buckets) : nil + years = total.positive? ? facet_by_year(response.aggregations.years.buckets) : nil + created = total.positive? ? facet_by_year(response.aggregations.created.buckets) : nil + registered = total.positive? ? facet_by_year(response.aggregations.registered.buckets) : nil + providers = total.positive? ? facet_by_provider(response.aggregations.providers.buckets) : nil + clients = total.positive? ? facet_by_client(response.aggregations.clients.buckets) : nil + prefixes = total.positive? ? facet_by_key(response.aggregations.prefixes.buckets) : nil + schema_versions = total.positive? ? facet_by_schema(response.aggregations.schema_versions.buckets) : nil } logger.warn method: "GET", path: "/dois", message: "AggregationsBasic /dois", duration: bm bm = Benchmark.ms { - affiliations = total > 0 ? facet_by_affiliation(response.aggregations.affiliations.buckets) : nil - sources = total > 0 ? facet_by_key(response.aggregations.sources.buckets) : nil - subjects = total > 0 ? facet_by_key(response.aggregations.subjects.buckets) : nil - certificates = total > 0 ? facet_by_key(response.aggregations.certificates.buckets) : nil + affiliations = total.positive? ? facet_by_affiliation(response.aggregations.affiliations.buckets) : nil + sources = total.positive? ? facet_by_key(response.aggregations.sources.buckets) : nil + subjects = total.positive? ? facet_by_key(response.aggregations.subjects.buckets) : nil + certificates = total.positive? ? facet_by_key(response.aggregations.certificates.buckets) : nil } logger.warn method: "GET", path: "/dois", message: "AggregationsExtended /dois", duration: bm bm = Benchmark.ms { - link_checks_status = total > 0 ? facet_by_cumulative_year(response.aggregations.link_checks_status.buckets) : nil - links_with_schema_org = total > 0 ? facet_by_cumulative_year(response.aggregations.link_checks_has_schema_org.buckets) : nil - link_checks_schema_org_id = total > 0 ? response.aggregations.link_checks_schema_org_id.value : nil - link_checks_dc_identifier = total > 0 ? response.aggregations.link_checks_dc_identifier.value : nil - link_checks_citation_doi = total > 0 ? response.aggregations.link_checks_citation_doi.value : nil - links_checked = total > 0 ? response.aggregations.links_checked.value : nil + link_checks_status = total.positive? ? facet_by_cumulative_year(response.aggregations.link_checks_status.buckets) : nil + links_with_schema_org = total.positive? ? facet_by_cumulative_year(response.aggregations.link_checks_has_schema_org.buckets) : nil + link_checks_schema_org_id = total.positive? ? response.aggregations.link_checks_schema_org_id.value : nil + link_checks_dc_identifier = total.positive? ? response.aggregations.link_checks_dc_identifier.value : nil + link_checks_citation_doi = total.positive? ? response.aggregations.link_checks_citation_doi.value : nil + links_checked = total.positive? ? response.aggregations.links_checked.value : nil } logger.warn method: "GET", path: "/dois", message: "AggregationsLinkChecks /dois", duration: bm @@ -204,9 +204,16 @@ def index dois_names = results.map { |result| result.dig(:_source, :doi) }.join(',') metrics_array = get_metrics_array(dois_names) results = mix_in_metrics_array(results, metrics_array) - end - person_metrics = params[:mix_in] == "metrics" ? get_person_metrics(params[:user_id]) : {} + person_metrics = get_person_metrics(params[:user_id]) + citations = person_metrics[:citations] + views = person_metrics[:views] + downloads = person_metrics[:downloads] + else + citations = total.positive? ? metric_facet_by_year(response.aggregations.citations.buckets) : nil + views = total.positive? ? metric_facet_by_year(response.aggregations.views.buckets) : nil + downloads = total.positive? ? metric_facet_by_year(response.aggregations.downloads.buckets) : nil + end respond_to do |format| format.json do @@ -234,9 +241,9 @@ def index "linkChecksDcIdentifier" => link_checks_dc_identifier, "linkChecksCitationDoi" => link_checks_citation_doi, subjects: subjects, - citations: person_metrics[:citations], - views: person_metrics[:views], - downloads: person_metrics[:downloads], + citations: citations, + views: views, + downloads: downloads, }.compact options[:links] = { @@ -261,7 +268,7 @@ def index mix_in: params[:mix_in], metrics: metrics_array, affiliation: params[:affiliation], - is_collection: options[:is_collection] + is_collection: options[:is_collection], } # sparse fieldsets diff --git a/app/models/doi.rb b/app/models/doi.rb index e1a0e63d6..fe9d06bca 100644 --- a/app/models/doi.rb +++ b/app/models/doi.rb @@ -534,9 +534,24 @@ def self.query_aggregations sources: { terms: { field: 'source', size: 15, min_doc_count: 1 } }, subjects: { terms: { field: 'subjects.subject', size: 15, min_doc_count: 1 } }, certificates: { terms: { field: 'client.certificate', size: 15, min_doc_count: 1 } }, - views: { value_count: { field: "views_count" } }, - downloads: { value_count: { field: "download_count" } }, - citations: { value_count: { field: "citation_count" } }, + views: { + date_histogram: { field: "publication_year", interval: "year", min_doc_count: 1 }, + aggs: { + metric_count: { sum: { field: "view_count" } }, + } + }, + downloads: { + date_histogram: { field: "publication_year", interval: "year", min_doc_count: 1 }, + aggs: { + metric_count: { sum: { field: "download_count" } }, + } + }, + citations: { + date_histogram: { field: "publication_year", interval: "year", min_doc_count: 1 }, + aggs: { + metric_count: { sum: { field: "citation_count" } }, + } + }, } end diff --git a/app/models/event.rb b/app/models/event.rb index fd18e945a..e5ed19b49 100644 --- a/app/models/event.rb +++ b/app/models/event.rb @@ -196,7 +196,7 @@ def as_indexed_json(options = {}) "occurred_at" => occurred_at, "citation_id" => citation_id, "citation_year" => citation_year, - "cache_key" => cache_key + "cache_key" => cache_key, } end diff --git a/spec/fixtures/vcr_cassettes/dois/citations/has_downloads_meta.yml b/spec/fixtures/vcr_cassettes/dois/citations/has_downloads_meta.yml new file mode 100644 index 000000000..036ed7c29 --- /dev/null +++ b/spec/fixtures/vcr_cassettes/dois/citations/has_downloads_meta.yml @@ -0,0 +1,55 @@ +--- +http_interactions: +- request: + method: get + uri: https://api.ror.org/organizations + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Mozilla/5.0 (compatible; Maremma/4.5; mailto:info@datacite.org) + Accept: + - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5 + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json + Content-Length: + - '13564' + Connection: + - keep-alive + Date: + - Sun, 02 Feb 2020 03:16:59 GMT + Status: + - 200 OK + X-Frame-Options: + - SAMEORIGIN + Allow: + - GET, HEAD, OPTIONS + X-Powered-By: + - Phusion Passenger 6.0.4 + Server: + - nginx/1.17.3 + Phusion Passenger 6.0.4 + Vary: + - Accept-Encoding,Cookie,Origin + X-Cache: + - Hit from cloudfront + Via: + - 1.1 bb45d9db269295920003af6514d7e7eb.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - DUS51-C1 + X-Amz-Cf-Id: + - YM6tpmTOx_Z_A6I1Nm4Rxh0kft0_dbaQ2CaKoOfIashz0xKGjbk6eg== + Age: + - '64434' + body: + encoding: ASCII-8BIT + string: !binary |- + eyJudW1iZXJfb2ZfcmVzdWx0cyI6OTc5MDAsInRpbWVfdGFrZW4iOjcsIml0ZW1zIjpbeyJpZCI6Imh0dHBzOi8vcm9yLm9yZy8wNXh3YjZ2MzciLCJuYW1lIjoiVW5pdmVyc2l0eSBvZiBTY3JhbnRvbiIsInR5cGVzIjpbIkVkdWNhdGlvbiJdLCJsaW5rcyI6WyJodHRwOi8vd3d3LnNjcmFudG9uLmVkdS8iXSwiYWxpYXNlcyI6W10sImFjcm9ueW1zIjpbXSwic3RhdHVzIjoiYWN0aXZlIiwid2lraXBlZGlhX3VybCI6Imh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVW5pdmVyc2l0eV9vZl9TY3JhbnRvbiIsImxhYmVscyI6W3sibGFiZWwiOiJVbml2ZXJzaXTDqSBkZSBzY3JhbnRvbiIsImlzbzYzOSI6ImZyIn0seyJsYWJlbCI6IlVuaXZlcnNpZGFkIGRlIFNjcmFudG9uIiwiaXNvNjM5IjoiZXMifV0sImNvdW50cnkiOnsiY291bnRyeV9uYW1lIjoiVW5pdGVkIFN0YXRlcyIsImNvdW50cnlfY29kZSI6IlVTIn0sImV4dGVybmFsX2lkcyI6eyJJU05JIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIjAwMDAgMDAwMCA5NDY0IDg1NjEiXX0sIk9yZ1JlZiI6eyJwcmVmZXJyZWQiOm51bGwsImFsbCI6WyIxNjExMzkiXX0sIldpa2lkYXRhIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIlEyNDk1OTA3Il19LCJHUklEIjp7InByZWZlcnJlZCI6ImdyaWQuMjY3MTMxLjAiLCJhbGwiOiJncmlkLjI2NzEzMS4wIn19fSx7ImlkIjoiaHR0cHM6Ly9yb3Iub3JnLzAxczdiNXkwOCIsIm5hbWUiOiJVbml2ZXJzaXR5IG9mIFNvdXRoIEFsYWJhbWEiLCJ0eXBlcyI6WyJFZHVjYXRpb24iXSwibGlua3MiOlsiaHR0cDovL3d3dy5zb3V0aGFsYWJhbWEuZWR1LyJdLCJhbGlhc2VzIjpbXSwiYWNyb255bXMiOlsiVVNBIl0sInN0YXR1cyI6ImFjdGl2ZSIsIndpa2lwZWRpYV91cmwiOiJodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1VuaXZlcnNpdHlfb2ZfU291dGhfQWxhYmFtYSIsImxhYmVscyI6W10sImNvdW50cnkiOnsiY291bnRyeV9uYW1lIjoiVW5pdGVkIFN0YXRlcyIsImNvdW50cnlfY29kZSI6IlVTIn0sImV4dGVybmFsX2lkcyI6eyJJU05JIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIjAwMDAgMDAwMCA5NTUyIDEyNTUiXX0sIk9yZ1JlZiI6eyJwcmVmZXJyZWQiOm51bGwsImFsbCI6WyI0OTk0OTkiXX0sIldpa2lkYXRhIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIlExMzU3Mjk4MSJdfSwiR1JJRCI6eyJwcmVmZXJyZWQiOiJncmlkLjI2NzE1My40IiwiYWxsIjoiZ3JpZC4yNjcxNTMuNCJ9fX0seyJpZCI6Imh0dHBzOi8vcm9yLm9yZy8wNWtlZDg0ODEiLCJuYW1lIjoiVW5pdmVyc2l0eSBvZiBTb3V0aCBDYXJvbGluYSBCZWF1Zm9ydCIsInR5cGVzIjpbIkVkdWNhdGlvbiJdLCJsaW5rcyI6WyJodHRwOi8vd3d3LnVzY2IuZWR1LyJdLCJhbGlhc2VzIjpbXSwiYWNyb255bXMiOltdLCJzdGF0dXMiOiJhY3RpdmUiLCJ3aWtpcGVkaWFfdXJsIjoiaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVW5pdmVyc2l0eV9vZl9Tb3V0aF9DYXJvbGluYV9CZWF1Zm9ydCIsImxhYmVscyI6W10sImNvdW50cnkiOnsiY291bnRyeV9uYW1lIjoiVW5pdGVkIFN0YXRlcyIsImNvdW50cnlfY29kZSI6IlVTIn0sImV4dGVybmFsX2lkcyI6eyJPcmdSZWYiOnsicHJlZmVycmVkIjpudWxsLCJhbGwiOlsiNDI5NzQxIl19LCJXaWtpZGF0YSI6eyJwcmVmZXJyZWQiOm51bGwsImFsbCI6WyJRNzg5NjMxOCJdfSwiR1JJRCI6eyJwcmVmZXJyZWQiOiJncmlkLjI2NzE2MS41IiwiYWxsIjoiZ3JpZC4yNjcxNjEuNSJ9fX0seyJpZCI6Imh0dHBzOi8vcm9yLm9yZy8wMDZibXgwODkiLCJuYW1lIjoiVW5pdmVyc2l0eSBvZiBTb3V0aGVybiBJbmRpYW5hIiwidHlwZXMiOlsiRWR1Y2F0aW9uIl0sImxpbmtzIjpbImh0dHA6Ly93d3cudXNpLmVkdS8iXSwiYWxpYXNlcyI6W10sImFjcm9ueW1zIjpbIlVTSSJdLCJzdGF0dXMiOiJhY3RpdmUiLCJ3aWtpcGVkaWFfdXJsIjoiaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Vbml2ZXJzaXR5X29mX1NvdXRoZXJuX0luZGlhbmEiLCJsYWJlbHMiOlt7ImxhYmVsIjoiVW5pdmVyc2l0w6kgZGUgbCdpbmRpYW5hIGR1IHN1ZCIsImlzbzYzOSI6ImZyIn1dLCJjb3VudHJ5Ijp7ImNvdW50cnlfbmFtZSI6IlVuaXRlZCBTdGF0ZXMiLCJjb3VudHJ5X2NvZGUiOiJVUyJ9LCJleHRlcm5hbF9pZHMiOnsiSVNOSSI6eyJwcmVmZXJyZWQiOm51bGwsImFsbCI6WyIwMDAwIDAwMDEgMjI4NiA4OTQxIl19LCJPcmdSZWYiOnsicHJlZmVycmVkIjpudWxsLCJhbGwiOlsiMjYzMDc3Il19LCJXaWtpZGF0YSI6eyJwcmVmZXJyZWQiOm51bGwsImFsbCI6WyJROTQwMjg5Il19LCJHUklEIjp7InByZWZlcnJlZCI6ImdyaWQuMjY3MTg4LjIiLCJhbGwiOiJncmlkLjI2NzE4OC4yIn19fSx7ImlkIjoiaHR0cHM6Ly9yb3Iub3JnLzAyNzB2ZmE1NyIsIm5hbWUiOiJVbml2ZXJzaXR5IG9mIFNvdXRoZXJuIE1pc3Npc3NpcHBpIiwidHlwZXMiOlsiRWR1Y2F0aW9uIl0sImxpbmtzIjpbImh0dHA6Ly93d3cudXNtLmVkdS9hYm91dCJdLCJhbGlhc2VzIjpbIlNvdXRoZXJuIE1pc3MiXSwiYWNyb255bXMiOlsiVVNNIl0sInN0YXR1cyI6ImFjdGl2ZSIsIndpa2lwZWRpYV91cmwiOiJodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1VuaXZlcnNpdHlfb2ZfU291dGhlcm5fTWlzc2lzc2lwcGkiLCJsYWJlbHMiOltdLCJjb3VudHJ5Ijp7ImNvdW50cnlfbmFtZSI6IlVuaXRlZCBTdGF0ZXMiLCJjb3VudHJ5X2NvZGUiOiJVUyJ9LCJleHRlcm5hbF9pZHMiOnsiSVNOSSI6eyJwcmVmZXJyZWQiOm51bGwsImFsbCI6WyIwMDAwIDAwMDEgMjI5NSA2MjhYIl19LCJGdW5kUmVmIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIjEwMDAwNjUyNSJdfSwiT3JnUmVmIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIjQ2MTA2ODkiXX0sIldpa2lkYXRhIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIlE2MjQwOTAiXX0sIkdSSUQiOnsicHJlZmVycmVkIjoiZ3JpZC4yNjcxOTMuOCIsImFsbCI6ImdyaWQuMjY3MTkzLjgifX19LHsiaWQiOiJodHRwczovL3Jvci5vcmcvMDAxMXF2NTA5IiwibmFtZSI6IlVuaXZlcnNpdHkgb2YgVGVubmVzc2VlIEhlYWx0aCBTY2llbmNlIENlbnRlciIsInR5cGVzIjpbIkhlYWx0aGNhcmUiXSwibGlua3MiOlsiaHR0cHM6Ly93d3cudXRoc2MuZWR1LyJdLCJhbGlhc2VzIjpbXSwiYWNyb255bXMiOlsiVVRIU0MiXSwic3RhdHVzIjoiYWN0aXZlIiwid2lraXBlZGlhX3VybCI6Imh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1VuaXZlcnNpdHlfb2ZfVGVubmVzc2VlX0hlYWx0aF9TY2llbmNlX0NlbnRlciIsImxhYmVscyI6W10sImNvdW50cnkiOnsiY291bnRyeV9uYW1lIjoiVW5pdGVkIFN0YXRlcyIsImNvdW50cnlfY29kZSI6IlVTIn0sImV4dGVybmFsX2lkcyI6eyJJU05JIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIjAwMDAgMDAwNCAwMzg2IDkyNDYiXX0sIkZ1bmRSZWYiOnsicHJlZmVycmVkIjoiMTAwMDA3MjcxIiwiYWxsIjpbIjEwMDAwNzI3MSIsIjEwMDAwOTg3MiIsIjEwMDAwNjU4MiJdfSwiT3JnUmVmIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIjEyNTA0NTciXX0sIldpa2lkYXRhIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIlE3ODk2NDIwIl19LCJHUklEIjp7InByZWZlcnJlZCI6ImdyaWQuMjY3MzAxLjEiLCJhbGwiOiJncmlkLjI2NzMwMS4xIn19fSx7ImlkIjoiaHR0cHM6Ly9yb3Iub3JnLzAweHpxamgxMyIsIm5hbWUiOiJVbml2ZXJzaXR5IG9mIFRlbm5lc3NlZSBTeXN0ZW0iLCJ0eXBlcyI6WyJFZHVjYXRpb24iXSwibGlua3MiOlsiaHR0cDovL3Rlbm5lc3NlZS5lZHUvIl0sImFsaWFzZXMiOlsiVVQgc3lzdGVtIl0sImFjcm9ueW1zIjpbXSwic3RhdHVzIjoiYWN0aXZlIiwid2lraXBlZGlhX3VybCI6Imh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1VuaXZlcnNpdHlfb2ZfVGVubmVzc2VlX3N5c3RlbSIsImxhYmVscyI6W3sibGFiZWwiOiJVbml2ZXJzaWRhZCBkZSBUZW5uZXNzZWUiLCJpc282MzkiOiJlcyJ9LHsibGFiZWwiOiJVbml2ZXJzaXTDqSBkdSB0ZW5uZXNzZWUiLCJpc282MzkiOiJmciJ9XSwiY291bnRyeSI6eyJjb3VudHJ5X25hbWUiOiJVbml0ZWQgU3RhdGVzIiwiY291bnRyeV9jb2RlIjoiVVMifSwiZXh0ZXJuYWxfaWRzIjp7IklTTkkiOnsicHJlZmVycmVkIjpudWxsLCJhbGwiOlsiMDAwMCAwMDAxIDA3MDkgODI3MiJdfSwiRnVuZFJlZiI6eyJwcmVmZXJyZWQiOm51bGwsImFsbCI6WyIxMDAwMDcxMzUiXX0sIk9yZ1JlZiI6eyJwcmVmZXJyZWQiOm51bGwsImFsbCI6WyIxMjUwNDA2Il19LCJXaWtpZGF0YSI6eyJwcmVmZXJyZWQiOm51bGwsImFsbCI6WyJRMjQ5NTkxNyJdfSwiR1JJRCI6eyJwcmVmZXJyZWQiOiJncmlkLjI2NzMwNS41IiwiYWxsIjoiZ3JpZC4yNjczMDUuNSJ9fX0seyJpZCI6Imh0dHBzOi8vcm9yLm9yZy8wNGQ1dmJhMzMiLCJuYW1lIjoiVGhlIFVuaXZlcnNpdHkgb2YgVGV4YXMgYXQgRWwgUGFzbyIsInR5cGVzIjpbIkVkdWNhdGlvbiJdLCJsaW5rcyI6WyJodHRwOi8vd3d3LnV0ZXAuZWR1LyJdLCJhbGlhc2VzIjpbIlRleGFzIFdlc3Rlcm4gQ29sbGVnZSBvZiB0aGUgVW5pdmVyc2l0eSBvZiBUZXhhcyIsIkNvbGxlZ2Ugb2YgTWluZXMgYW5kIE1ldGFsbHVyZ3kgb2YgdGhlIFVuaXZlcnNpdHkgb2YgVGV4YXMiLCJTdGF0ZSBTY2hvb2wgb2YgTWluZXMgYW5kIE1ldGFsbHVyZ3kiXSwiYWNyb255bXMiOlsiVVRFUCJdLCJzdGF0dXMiOiJhY3RpdmUiLCJ3aWtpcGVkaWFfdXJsIjoiaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Vbml2ZXJzaXR5X29mX1RleGFzX2F0X0VsX1Bhc28iLCJsYWJlbHMiOlt7ImxhYmVsIjoiVW5pdmVyc2l0w6kgZHUgdGV4YXMgw6AgZWwgcGFzbyIsImlzbzYzOSI6ImZyIn0seyJsYWJlbCI6IlVuaXZlcnNpZGFkIGRlIFRleGFzIGVuIEVsIFBhc28iLCJpc282MzkiOiJlcyJ9XSwiY291bnRyeSI6eyJjb3VudHJ5X25hbWUiOiJVbml0ZWQgU3RhdGVzIiwiY291bnRyeV9jb2RlIjoiVVMifSwiZXh0ZXJuYWxfaWRzIjp7IklTTkkiOnsicHJlZmVycmVkIjpudWxsLCJhbGwiOlsiMDAwMCAwMDAxIDA2NjggMDQyMCJdfSwiT3JnUmVmIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIjMwMzkwMyJdfSwiV2lraWRhdGEiOnsicHJlZmVycmVkIjpudWxsLCJhbGwiOlsiUTIwOTMxMTAiXX0sIkdSSUQiOnsicHJlZmVycmVkIjoiZ3JpZC4yNjczMjQuNiIsImFsbCI6ImdyaWQuMjY3MzI0LjYifX19LHsiaWQiOiJodHRwczovL3Jvci5vcmcvMDRzY2ZiOTA4IiwibmFtZSI6IkFsZnJlZCBIZWFsdGgiLCJ0eXBlcyI6WyJIZWFsdGhjYXJlIl0sImxpbmtzIjpbImh0dHA6Ly93d3cuYWxmcmVkLm9yZy5hdS8iXSwiYWxpYXNlcyI6W10sImFjcm9ueW1zIjpbXSwic3RhdHVzIjoiYWN0aXZlIiwid2lraXBlZGlhX3VybCI6IiIsImxhYmVscyI6W10sImNvdW50cnkiOnsiY291bnRyeV9uYW1lIjoiQXVzdHJhbGlhIiwiY291bnRyeV9jb2RlIjoiQVUifSwiZXh0ZXJuYWxfaWRzIjp7IklTTkkiOnsicHJlZmVycmVkIjpudWxsLCJhbGwiOlsiMDAwMCAwMDA0IDA0MzIgNTI1OSJdfSwiRnVuZFJlZiI6eyJwcmVmZXJyZWQiOm51bGwsImFsbCI6WyI1MDExMDAwMDI3MTYiXX0sIkdSSUQiOnsicHJlZmVycmVkIjoiZ3JpZC4yNjczNjIuNCIsImFsbCI6ImdyaWQuMjY3MzYyLjQifX19LHsiaWQiOiJodHRwczovL3Jvci5vcmcvMDJjMmY4OTc1IiwibmFtZSI6IlVuaXZlcnNpdHkgb2YgVWxzYW4iLCJ0eXBlcyI6WyJFZHVjYXRpb24iXSwibGlua3MiOlsiaHR0cDovL2VuLnVsc2FuLmFjLmtyL2NvbnRlbnRzL21haW4vIl0sImFsaWFzZXMiOltdLCJhY3JvbnltcyI6WyJVT1UiXSwic3RhdHVzIjoiYWN0aXZlIiwid2lraXBlZGlhX3VybCI6Imh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVW5pdmVyc2l0eV9vZl9VbHNhbiIsImxhYmVscyI6W3sibGFiZWwiOiLsmrjsgrDrjIDtlZnqtZAiLCJpc282MzkiOiJrbyJ9XSwiY291bnRyeSI6eyJjb3VudHJ5X25hbWUiOiJTb3V0aCBLb3JlYSIsImNvdW50cnlfY29kZSI6IktSIn0sImV4dGVybmFsX2lkcyI6eyJJU05JIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIjAwMDAgMDAwNCAwNTMzIDQ2NjciXX0sIkZ1bmRSZWYiOnsicHJlZmVycmVkIjpudWxsLCJhbGwiOlsiNTAxMTAwMDAyNTY4Il19LCJPcmdSZWYiOnsicHJlZmVycmVkIjoiMTA0NTgyNDYiLCJhbGwiOlsiMTA0NTgyNDYiLCIxNTE2Mjg3MiJdfSwiV2lraWRhdGEiOnsicHJlZmVycmVkIjpudWxsLCJhbGwiOlsiUTQ5MTcxNyJdfSwiR1JJRCI6eyJwcmVmZXJyZWQiOiJncmlkLjI2NzM3MC43IiwiYWxsIjoiZ3JpZC4yNjczNzAuNyJ9fX0seyJpZCI6Imh0dHBzOi8vcm9yLm9yZy8wMDJ3NHp5OTEiLCJuYW1lIjoiVW5pdmVyc2l0eSBvZiBXZXN0IEZsb3JpZGEiLCJ0eXBlcyI6WyJFZHVjYXRpb24iXSwibGlua3MiOlsiaHR0cDovL3V3Zi5lZHUvIl0sImFsaWFzZXMiOltdLCJhY3JvbnltcyI6WyJVV0YiXSwic3RhdHVzIjoiYWN0aXZlIiwid2lraXBlZGlhX3VybCI6Imh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVW5pdmVyc2l0eV9vZl9XZXN0X0Zsb3JpZGEiLCJsYWJlbHMiOltdLCJjb3VudHJ5Ijp7ImNvdW50cnlfbmFtZSI6IlVuaXRlZCBTdGF0ZXMiLCJjb3VudHJ5X2NvZGUiOiJVUyJ9LCJleHRlcm5hbF9pZHMiOnsiSVNOSSI6eyJwcmVmZXJyZWQiOm51bGwsImFsbCI6WyIwMDAwIDAwMDEgMjExMiAyNDI3Il19LCJGdW5kUmVmIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIjEwMDAwOTg0MiJdfSwiT3JnUmVmIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIjc1MDc1NiJdfSwiV2lraWRhdGEiOnsicHJlZmVycmVkIjpudWxsLCJhbGwiOlsiUTY1OTI1NSJdfSwiR1JJRCI6eyJwcmVmZXJyZWQiOiJncmlkLjI2NzQzNi4yIiwiYWxsIjoiZ3JpZC4yNjc0MzYuMiJ9fX0seyJpZCI6Imh0dHBzOi8vcm9yLm9yZy8wM2M4dnZyODQiLCJuYW1lIjoiVW5pdmVyc2l0eSBvZiBXZXN0ZXJuIFN0YXRlcyIsInR5cGVzIjpbIkVkdWNhdGlvbiJdLCJsaW5rcyI6WyJodHRwOi8vd3d3LnV3cy5lZHUvIl0sImFsaWFzZXMiOlsiV2VzdGVybiBTdGF0ZXMgQ2hpcm9wcmFjdGljIENvbGxlZ2UiXSwiYWNyb255bXMiOlsiVVdTIl0sInN0YXR1cyI6ImFjdGl2ZSIsIndpa2lwZWRpYV91cmwiOiJodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1VuaXZlcnNpdHlfb2ZfV2VzdGVybl9TdGF0ZXMiLCJsYWJlbHMiOltdLCJjb3VudHJ5Ijp7ImNvdW50cnlfbmFtZSI6IlVuaXRlZCBTdGF0ZXMiLCJjb3VudHJ5X2NvZGUiOiJVUyJ9LCJleHRlcm5hbF9pZHMiOnsiSVNOSSI6eyJwcmVmZXJyZWQiOm51bGwsImFsbCI6WyIwMDAwIDAwMDQgMDQ1NSA5NDkzIl19LCJPcmdSZWYiOnsicHJlZmVycmVkIjpudWxsLCJhbGwiOlsiMTY1NTA1MCJdfSwiV2lraWRhdGEiOnsicHJlZmVycmVkIjpudWxsLCJhbGwiOlsiUTc4OTY2MTIiXX0sIkdSSUQiOnsicHJlZmVycmVkIjoiZ3JpZC4yNjc0NTEuMyIsImFsbCI6ImdyaWQuMjY3NDUxLjMifX19LHsiaWQiOiJodHRwczovL3Jvci5vcmcvMDJnZHp5eDA0IiwibmFtZSI6IlVuaXZlcnNpdHkgb2YgV2lubmlwZWciLCJ0eXBlcyI6WyJFZHVjYXRpb24iXSwibGlua3MiOlsiaHR0cDovL3d3dy51d2lubmlwZWcuY2EvIl0sImFsaWFzZXMiOltdLCJhY3JvbnltcyI6W10sInN0YXR1cyI6ImFjdGl2ZSIsIndpa2lwZWRpYV91cmwiOiJodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1VuaXZlcnNpdHlfb2ZfV2lubmlwZWciLCJsYWJlbHMiOlt7ImxhYmVsIjoiVW5pdmVyc2l0w6kgZGUgd2lubmlwZWciLCJpc282MzkiOiJmciJ9XSwiY291bnRyeSI6eyJjb3VudHJ5X25hbWUiOiJDYW5hZGEiLCJjb3VudHJ5X2NvZGUiOiJDQSJ9LCJleHRlcm5hbF9pZHMiOnsiSVNOSSI6eyJwcmVmZXJyZWQiOm51bGwsImFsbCI6WyIwMDAwIDAwMDEgMTcwMyA0NzMxIl19LCJGdW5kUmVmIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIjEwMDAwOTM2NyJdfSwiT3JnUmVmIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIjU4NzQwNCJdfSwiV2lraWRhdGEiOnsicHJlZmVycmVkIjpudWxsLCJhbGwiOlsiUTQ3MjE2NyJdfSwiR1JJRCI6eyJwcmVmZXJyZWQiOiJncmlkLjI2NzQ1Ny41IiwiYWxsIjoiZ3JpZC4yNjc0NTcuNSJ9fX0seyJpZCI6Imh0dHBzOi8vcm9yLm9yZy8wNXN2NnBnNDEiLCJuYW1lIjoiVW5pdmVyc2l0eSBvZiBXaXNjb25zaW7igJNTdGV2ZW5zIFBvaW50IiwidHlwZXMiOlsiRWR1Y2F0aW9uIl0sImxpbmtzIjpbImh0dHA6Ly93d3cudXdzcC5lZHUvUGFnZXMvZGVmYXVsdC5hc3B4Il0sImFsaWFzZXMiOlsiVVfigJNTdGV2ZW5zIFBvaW50Il0sImFjcm9ueW1zIjpbIlVXU1AiXSwic3RhdHVzIjoiYWN0aXZlIiwid2lraXBlZGlhX3VybCI6Imh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVW5pdmVyc2l0eV9vZl9XaXNjb25zaW4lRTIlODAlOTNTdGV2ZW5zX1BvaW50IiwibGFiZWxzIjpbeyJsYWJlbCI6IlVuaXZlcnNpdMOpIGR1IHdpc2NvbnNpbiDDoCBzdGV2ZW5zIHBvaW50IiwiaXNvNjM5IjoiZnIifV0sImNvdW50cnkiOnsiY291bnRyeV9uYW1lIjoiVW5pdGVkIFN0YXRlcyIsImNvdW50cnlfY29kZSI6IlVTIn0sImV4dGVybmFsX2lkcyI6eyJJU05JIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIjAwMDAgMDAwMSAwNzA4IDY2NDIiXX0sIk9yZ1JlZiI6eyJwcmVmZXJyZWQiOm51bGwsImFsbCI6WyIxNzc3ODMxIl19LCJXaWtpZGF0YSI6eyJwcmVmZXJyZWQiOm51bGwsImFsbCI6WyJRMjY4Nzc4MiJdfSwiR1JJRCI6eyJwcmVmZXJyZWQiOiJncmlkLjI2NzQ3OS45IiwiYWxsIjoiZ3JpZC4yNjc0NzkuOSJ9fX0seyJpZCI6Imh0dHBzOi8vcm9yLm9yZy8wNDhnbWF5NDQiLCJuYW1lIjoiVW5pdmVyc2l0eSBvZiB0aGUgU2NpZW5jZXMiLCJ0eXBlcyI6WyJFZHVjYXRpb24iXSwibGlua3MiOlsiaHR0cDovL3d3dy51c2NpZW5jZXMuZWR1LyJdLCJhbGlhc2VzIjpbIlVuaXZlcnNpdHkgb2YgdGhlIFNjaWVuY2VzIGluIFBoaWxhZGVscGhpYSJdLCJhY3JvbnltcyI6W10sInN0YXR1cyI6ImFjdGl2ZSIsIndpa2lwZWRpYV91cmwiOiJodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1VuaXZlcnNpdHlfb2ZfdGhlX1NjaWVuY2VzIiwibGFiZWxzIjpbeyJsYWJlbCI6IlVuaXZlcnNpdMOpIGRlcyBzY2llbmNlcyDDoCBwaGlsYWRlbHBoaWUiLCJpc282MzkiOiJmciJ9XSwiY291bnRyeSI6eyJjb3VudHJ5X25hbWUiOiJVbml0ZWQgU3RhdGVzIiwiY291bnRyeV9jb2RlIjoiVVMifSwiZXh0ZXJuYWxfaWRzIjp7IklTTkkiOnsicHJlZmVycmVkIjpudWxsLCJhbGwiOlsiMDAwMCAwMDAwIDg3OTQgNzY0MyJdfSwiT3JnUmVmIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIjI4NDk4NyJdfSwiV2lraWRhdGEiOnsicHJlZmVycmVkIjpudWxsLCJhbGwiOlsiUTM0NDMxNTkiXX0sIkdSSUQiOnsicHJlZmVycmVkIjoiZ3JpZC4yNjc2MjcuMCIsImFsbCI6ImdyaWQuMjY3NjI3LjAifX19LHsiaWQiOiJodHRwczovL3Jvci5vcmcvMDAyeWdzczEwIiwibmFtZSI6IlV0aWNhIENvbGxlZ2UiLCJ0eXBlcyI6WyJFZHVjYXRpb24iXSwibGlua3MiOlsiaHR0cDovL3d3dy51dGljYS5lZHUvIl0sImFsaWFzZXMiOlsiVXRpY2EgQ29sbGVnZSBvZiBTeXJhY3VzZSBVbml2ZXJzaXR5Il0sImFjcm9ueW1zIjpbIlVDIl0sInN0YXR1cyI6ImFjdGl2ZSIsIndpa2lwZWRpYV91cmwiOiJodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9VdGljYV9Db2xsZWdlIiwibGFiZWxzIjpbXSwiY291bnRyeSI6eyJjb3VudHJ5X25hbWUiOiJVbml0ZWQgU3RhdGVzIiwiY291bnRyeV9jb2RlIjoiVVMifSwiZXh0ZXJuYWxfaWRzIjp7Ik9yZ1JlZiI6eyJwcmVmZXJyZWQiOm51bGwsImFsbCI6WyI5MzQ2NDMzIl19LCJXaWtpZGF0YSI6eyJwcmVmZXJyZWQiOm51bGwsImFsbCI6WyJRNzkwMjc4MiJdfSwiR1JJRCI6eyJwcmVmZXJyZWQiOiJncmlkLjI2NzY4MC5kIiwiYWxsIjoiZ3JpZC4yNjc2ODAuZCJ9fX0seyJpZCI6Imh0dHBzOi8vcm9yLm9yZy8wNHpqY2FxODUiLCJuYW1lIjoiVmFsZG9zdGEgU3RhdGUgVW5pdmVyc2l0eSIsInR5cGVzIjpbIkVkdWNhdGlvbiJdLCJsaW5rcyI6WyJodHRwczovL3d3dy52YWxkb3N0YS5lZHUvIl0sImFsaWFzZXMiOltdLCJhY3JvbnltcyI6WyJWU1UiXSwic3RhdHVzIjoiYWN0aXZlIiwid2lraXBlZGlhX3VybCI6Imh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVmFsZG9zdGFfU3RhdGVfVW5pdmVyc2l0eSIsImxhYmVscyI6W10sImNvdW50cnkiOnsiY291bnRyeV9uYW1lIjoiVW5pdGVkIFN0YXRlcyIsImNvdW50cnlfY29kZSI6IlVTIn0sImV4dGVybmFsX2lkcyI6eyJJU05JIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIjAwMDAgMDAwMCA5Mjg5IDk2MjMiXX0sIkZ1bmRSZWYiOnsicHJlZmVycmVkIjpudWxsLCJhbGwiOlsiMTAwMDEwMDg1Il19LCJPcmdSZWYiOnsicHJlZmVycmVkIjpudWxsLCJhbGwiOlsiNjc3MDM4Il19LCJXaWtpZGF0YSI6eyJwcmVmZXJyZWQiOm51bGwsImFsbCI6WyJRMjUwODA2MSJdfSwiR1JJRCI6eyJwcmVmZXJyZWQiOiJncmlkLjI2NzczNi4xIiwiYWxsIjoiZ3JpZC4yNjc3MzYuMSJ9fX0seyJpZCI6Imh0dHBzOi8vcm9yLm9yZy8wMndzZDVwNTAiLCJuYW1lIjoiVmlldG5hbSBBY2FkZW15IG9mIFNjaWVuY2UgYW5kIFRlY2hub2xvZ3kiLCJ0eXBlcyI6WyJFZHVjYXRpb24iXSwibGlua3MiOlsiaHR0cDovL3Zhc3QuYWMudm4vIl0sImFsaWFzZXMiOlsiVmlldG5hbSBBY2FkZW15IG9mIFNjaWVuY2UiLCJWaeG7h24gSMOgbiBsw6JtIEtob2EgaOG7jWMgdsOgIEPDtG5nIG5naOG7hyBWaeG7h3QgTmFtIl0sImFjcm9ueW1zIjpbIlZBU1QiXSwic3RhdHVzIjoiYWN0aXZlIiwid2lraXBlZGlhX3VybCI6Imh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1ZpZXRuYW1fQWNhZGVteV9vZl9TY2llbmNlX2FuZF9UZWNobm9sb2d5IiwibGFiZWxzIjpbeyJsYWJlbCI6IlZp4buHbiBIw6BuIGzDom0gS2hvYSBo4buNYyB2w6AgQ8O0bmcgbmdo4buHIFZp4buHdCBOYW0iLCJpc282MzkiOiJ2aSJ9XSwiY291bnRyeSI6eyJjb3VudHJ5X25hbWUiOiJWaWV0bmFtIiwiY291bnRyeV9jb2RlIjoiVk4ifSwiZXh0ZXJuYWxfaWRzIjp7IklTTkkiOnsicHJlZmVycmVkIjpudWxsLCJhbGwiOlsiMDAwMCAwMDAxIDIxMDUgNjg4OCJdfSwiT3JnUmVmIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIjI5NjUzNjMyIl19LCJXaWtpZGF0YSI6eyJwcmVmZXJyZWQiOm51bGwsImFsbCI6WyJRNzkyODQ4NCJdfSwiR1JJRCI6eyJwcmVmZXJyZWQiOiJncmlkLjI2Nzg0OS42IiwiYWxsIjoiZ3JpZC4yNjc4NDkuNiJ9fX0seyJpZCI6Imh0dHBzOi8vcm9yLm9yZy8wMnp3eWZnNTEiLCJuYW1lIjoiVmlyZ2luaWEgVW5pb24gVW5pdmVyc2l0eSIsInR5cGVzIjpbIkVkdWNhdGlvbiJdLCJsaW5rcyI6WyJodHRwOi8vd3d3LnZ1dS5lZHUvIl0sImFsaWFzZXMiOltdLCJhY3JvbnltcyI6WyJWVVUiXSwic3RhdHVzIjoiYWN0aXZlIiwid2lraXBlZGlhX3VybCI6Imh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVmlyZ2luaWFfVW5pb25fVW5pdmVyc2l0eSIsImxhYmVscyI6W10sImNvdW50cnkiOnsiY291bnRyeV9uYW1lIjoiVW5pdGVkIFN0YXRlcyIsImNvdW50cnlfY29kZSI6IlVTIn0sImV4dGVybmFsX2lkcyI6eyJJU05JIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIjAwMDAgMDAwMCA5OTExIDgyMDEiXX0sIk9yZ1JlZiI6eyJwcmVmZXJyZWQiOm51bGwsImFsbCI6WyI2NDE2NzIiXX0sIldpa2lkYXRhIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIlExODE0NzU4Il19LCJHUklEIjp7InByZWZlcnJlZCI6ImdyaWQuMjY3OTAyLjgiLCJhbGwiOiJncmlkLjI2NzkwMi44In19fSx7ImlkIjoiaHR0cHM6Ly9yb3Iub3JnLzAxZXBuMnE5MyIsIm5hbWUiOiJXZWJlciBTdGF0ZSBVbml2ZXJzaXR5IiwidHlwZXMiOlsiRWR1Y2F0aW9uIl0sImxpbmtzIjpbImh0dHA6Ly93d3cud2ViZXIuZWR1LyJdLCJhbGlhc2VzIjpbXSwiYWNyb255bXMiOlsiV1NVIl0sInN0YXR1cyI6ImFjdGl2ZSIsIndpa2lwZWRpYV91cmwiOiJodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1dlYmVyX1N0YXRlX1VuaXZlcnNpdHkiLCJsYWJlbHMiOlt7ImxhYmVsIjoiVW5pdmVyc2l0w6kgZCfDiXRhdCBkZSB3ZWJlciIsImlzbzYzOSI6ImZyIn1dLCJjb3VudHJ5Ijp7ImNvdW50cnlfbmFtZSI6IlVuaXRlZCBTdGF0ZXMiLCJjb3VudHJ5X2NvZGUiOiJVUyJ9LCJleHRlcm5hbF9pZHMiOnsiSVNOSSI6eyJwcmVmZXJyZWQiOm51bGwsImFsbCI6WyIwMDAwIDAwMDEgMjIyNCAxMjVYIl19LCJGdW5kUmVmIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIjEwMDAwNzE1NiJdfSwiT3JnUmVmIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIjYzNzkxMSJdfSwiV2lraWRhdGEiOnsicHJlZmVycmVkIjpudWxsLCJhbGwiOlsiUTE3ODcxNTIiXX0sIkdSSUQiOnsicHJlZmVycmVkIjoiZ3JpZC4yNjgwNzIuOSIsImFsbCI6ImdyaWQuMjY4MDcyLjkifX19XSwibWV0YSI6eyJ0eXBlcyI6W3siaWQiOiJjb21wYW55IiwidGl0bGUiOiJDb21wYW55IiwiY291bnQiOjI3ODI0fSx7ImlkIjoiZWR1Y2F0aW9uIiwidGl0bGUiOiJFZHVjYXRpb24iLCJjb3VudCI6MTg3MDB9LHsiaWQiOiJoZWFsdGhjYXJlIiwidGl0bGUiOiJIZWFsdGhjYXJlIiwiY291bnQiOjEyMjkwfSx7ImlkIjoibm9ucHJvZml0IiwidGl0bGUiOiJOb25wcm9maXQiLCJjb3VudCI6MTE4NzZ9LHsiaWQiOiJmYWNpbGl0eSIsInRpdGxlIjoiRmFjaWxpdHkiLCJjb3VudCI6ODI4MX0seyJpZCI6Im90aGVyIiwidGl0bGUiOiJPdGhlciIsImNvdW50Ijo3NzcyfSx7ImlkIjoiZ292ZXJubWVudCIsInRpdGxlIjoiR292ZXJubWVudCIsImNvdW50Ijo1NjI3fSx7ImlkIjoiYXJjaGl2ZSIsInRpdGxlIjoiQXJjaGl2ZSIsImNvdW50IjoyNjk0fV0sImNvdW50cmllcyI6W3siaWQiOiJ1cyIsInRpdGxlIjoiVW5pdGVkIFN0YXRlcyBvZiBBbWVyaWNhIiwiY291bnQiOjI5NzQ2fSx7ImlkIjoiZ2IiLCJ0aXRsZSI6IlVuaXRlZCBLaW5nZG9tIG9mIEdyZWF0IEJyaXRhaW4gYW5kIE5vcnRoZXJuIElyZWxhbmQiLCJjb3VudCI6NzE5Mn0seyJpZCI6ImRlIiwidGl0bGUiOiJGZWRlcmFsIFJlcHVibGljIG9mIEdlcm1hbnkiLCJjb3VudCI6NDY5M30seyJpZCI6ImNuIiwidGl0bGUiOiJQZW9wbGUncyBSZXB1YmxpYyBvZiBDaGluYSIsImNvdW50Ijo0MzE2fSx7ImlkIjoianAiLCJ0aXRsZSI6IkphcGFuIiwiY291bnQiOjM2ODZ9LHsiaWQiOiJmciIsInRpdGxlIjoiRnJlbmNoIFJlcHVibGljIiwiY291bnQiOjM2NzF9LHsiaWQiOiJjYSIsInRpdGxlIjoiQ2FuYWRhIiwiY291bnQiOjMxOTV9LHsiaWQiOiJpbiIsInRpdGxlIjoiUmVwdWJsaWMgb2YgSW5kaWEiLCJjb3VudCI6MjgwNX0seyJpZCI6ImN6IiwidGl0bGUiOiJDemVjaCBSZXB1YmxpYyIsImNvdW50IjoyNzQzfSx7ImlkIjoicnUiLCJ0aXRsZSI6IlJ1c3NpYW4gRmVkZXJhdGlvbiIsImNvdW50IjoyMDE0fV19fQ== + http_version: + recorded_at: Sun, 02 Feb 2020 21:10:53 GMT +recorded_with: VCR 3.0.3 diff --git a/spec/fixtures/vcr_cassettes/dois/downloads/has_downloads_meta.yml b/spec/fixtures/vcr_cassettes/dois/downloads/has_downloads_meta.yml new file mode 100644 index 000000000..432105e53 --- /dev/null +++ b/spec/fixtures/vcr_cassettes/dois/downloads/has_downloads_meta.yml @@ -0,0 +1,55 @@ +--- +http_interactions: +- request: + method: get + uri: https://api.ror.org/organizations + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Mozilla/5.0 (compatible; Maremma/4.5; mailto:info@datacite.org) + Accept: + - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5 + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json + Content-Length: + - '13564' + Connection: + - keep-alive + Date: + - Sun, 02 Feb 2020 03:16:59 GMT + Status: + - 200 OK + X-Frame-Options: + - SAMEORIGIN + Allow: + - GET, HEAD, OPTIONS + X-Powered-By: + - Phusion Passenger 6.0.4 + Server: + - nginx/1.17.3 + Phusion Passenger 6.0.4 + Vary: + - Accept-Encoding,Cookie,Origin + X-Cache: + - Hit from cloudfront + Via: + - 1.1 50f438df6dbb947f3e4702890bc9cc06.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - DUS51-C1 + X-Amz-Cf-Id: + - wP3ntvp8Fgp-yfq5ZJo02ZTTQXRL3WY2gqf6MmKcLZQt49Z5fZYCHQ== + Age: + - '64425' + body: + encoding: ASCII-8BIT + string: !binary |- + eyJudW1iZXJfb2ZfcmVzdWx0cyI6OTc5MDAsInRpbWVfdGFrZW4iOjcsIml0ZW1zIjpbeyJpZCI6Imh0dHBzOi8vcm9yLm9yZy8wNXh3YjZ2MzciLCJuYW1lIjoiVW5pdmVyc2l0eSBvZiBTY3JhbnRvbiIsInR5cGVzIjpbIkVkdWNhdGlvbiJdLCJsaW5rcyI6WyJodHRwOi8vd3d3LnNjcmFudG9uLmVkdS8iXSwiYWxpYXNlcyI6W10sImFjcm9ueW1zIjpbXSwic3RhdHVzIjoiYWN0aXZlIiwid2lraXBlZGlhX3VybCI6Imh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVW5pdmVyc2l0eV9vZl9TY3JhbnRvbiIsImxhYmVscyI6W3sibGFiZWwiOiJVbml2ZXJzaXTDqSBkZSBzY3JhbnRvbiIsImlzbzYzOSI6ImZyIn0seyJsYWJlbCI6IlVuaXZlcnNpZGFkIGRlIFNjcmFudG9uIiwiaXNvNjM5IjoiZXMifV0sImNvdW50cnkiOnsiY291bnRyeV9uYW1lIjoiVW5pdGVkIFN0YXRlcyIsImNvdW50cnlfY29kZSI6IlVTIn0sImV4dGVybmFsX2lkcyI6eyJJU05JIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIjAwMDAgMDAwMCA5NDY0IDg1NjEiXX0sIk9yZ1JlZiI6eyJwcmVmZXJyZWQiOm51bGwsImFsbCI6WyIxNjExMzkiXX0sIldpa2lkYXRhIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIlEyNDk1OTA3Il19LCJHUklEIjp7InByZWZlcnJlZCI6ImdyaWQuMjY3MTMxLjAiLCJhbGwiOiJncmlkLjI2NzEzMS4wIn19fSx7ImlkIjoiaHR0cHM6Ly9yb3Iub3JnLzAxczdiNXkwOCIsIm5hbWUiOiJVbml2ZXJzaXR5IG9mIFNvdXRoIEFsYWJhbWEiLCJ0eXBlcyI6WyJFZHVjYXRpb24iXSwibGlua3MiOlsiaHR0cDovL3d3dy5zb3V0aGFsYWJhbWEuZWR1LyJdLCJhbGlhc2VzIjpbXSwiYWNyb255bXMiOlsiVVNBIl0sInN0YXR1cyI6ImFjdGl2ZSIsIndpa2lwZWRpYV91cmwiOiJodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1VuaXZlcnNpdHlfb2ZfU291dGhfQWxhYmFtYSIsImxhYmVscyI6W10sImNvdW50cnkiOnsiY291bnRyeV9uYW1lIjoiVW5pdGVkIFN0YXRlcyIsImNvdW50cnlfY29kZSI6IlVTIn0sImV4dGVybmFsX2lkcyI6eyJJU05JIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIjAwMDAgMDAwMCA5NTUyIDEyNTUiXX0sIk9yZ1JlZiI6eyJwcmVmZXJyZWQiOm51bGwsImFsbCI6WyI0OTk0OTkiXX0sIldpa2lkYXRhIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIlExMzU3Mjk4MSJdfSwiR1JJRCI6eyJwcmVmZXJyZWQiOiJncmlkLjI2NzE1My40IiwiYWxsIjoiZ3JpZC4yNjcxNTMuNCJ9fX0seyJpZCI6Imh0dHBzOi8vcm9yLm9yZy8wNWtlZDg0ODEiLCJuYW1lIjoiVW5pdmVyc2l0eSBvZiBTb3V0aCBDYXJvbGluYSBCZWF1Zm9ydCIsInR5cGVzIjpbIkVkdWNhdGlvbiJdLCJsaW5rcyI6WyJodHRwOi8vd3d3LnVzY2IuZWR1LyJdLCJhbGlhc2VzIjpbXSwiYWNyb255bXMiOltdLCJzdGF0dXMiOiJhY3RpdmUiLCJ3aWtpcGVkaWFfdXJsIjoiaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVW5pdmVyc2l0eV9vZl9Tb3V0aF9DYXJvbGluYV9CZWF1Zm9ydCIsImxhYmVscyI6W10sImNvdW50cnkiOnsiY291bnRyeV9uYW1lIjoiVW5pdGVkIFN0YXRlcyIsImNvdW50cnlfY29kZSI6IlVTIn0sImV4dGVybmFsX2lkcyI6eyJPcmdSZWYiOnsicHJlZmVycmVkIjpudWxsLCJhbGwiOlsiNDI5NzQxIl19LCJXaWtpZGF0YSI6eyJwcmVmZXJyZWQiOm51bGwsImFsbCI6WyJRNzg5NjMxOCJdfSwiR1JJRCI6eyJwcmVmZXJyZWQiOiJncmlkLjI2NzE2MS41IiwiYWxsIjoiZ3JpZC4yNjcxNjEuNSJ9fX0seyJpZCI6Imh0dHBzOi8vcm9yLm9yZy8wMDZibXgwODkiLCJuYW1lIjoiVW5pdmVyc2l0eSBvZiBTb3V0aGVybiBJbmRpYW5hIiwidHlwZXMiOlsiRWR1Y2F0aW9uIl0sImxpbmtzIjpbImh0dHA6Ly93d3cudXNpLmVkdS8iXSwiYWxpYXNlcyI6W10sImFjcm9ueW1zIjpbIlVTSSJdLCJzdGF0dXMiOiJhY3RpdmUiLCJ3aWtpcGVkaWFfdXJsIjoiaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Vbml2ZXJzaXR5X29mX1NvdXRoZXJuX0luZGlhbmEiLCJsYWJlbHMiOlt7ImxhYmVsIjoiVW5pdmVyc2l0w6kgZGUgbCdpbmRpYW5hIGR1IHN1ZCIsImlzbzYzOSI6ImZyIn1dLCJjb3VudHJ5Ijp7ImNvdW50cnlfbmFtZSI6IlVuaXRlZCBTdGF0ZXMiLCJjb3VudHJ5X2NvZGUiOiJVUyJ9LCJleHRlcm5hbF9pZHMiOnsiSVNOSSI6eyJwcmVmZXJyZWQiOm51bGwsImFsbCI6WyIwMDAwIDAwMDEgMjI4NiA4OTQxIl19LCJPcmdSZWYiOnsicHJlZmVycmVkIjpudWxsLCJhbGwiOlsiMjYzMDc3Il19LCJXaWtpZGF0YSI6eyJwcmVmZXJyZWQiOm51bGwsImFsbCI6WyJROTQwMjg5Il19LCJHUklEIjp7InByZWZlcnJlZCI6ImdyaWQuMjY3MTg4LjIiLCJhbGwiOiJncmlkLjI2NzE4OC4yIn19fSx7ImlkIjoiaHR0cHM6Ly9yb3Iub3JnLzAyNzB2ZmE1NyIsIm5hbWUiOiJVbml2ZXJzaXR5IG9mIFNvdXRoZXJuIE1pc3Npc3NpcHBpIiwidHlwZXMiOlsiRWR1Y2F0aW9uIl0sImxpbmtzIjpbImh0dHA6Ly93d3cudXNtLmVkdS9hYm91dCJdLCJhbGlhc2VzIjpbIlNvdXRoZXJuIE1pc3MiXSwiYWNyb255bXMiOlsiVVNNIl0sInN0YXR1cyI6ImFjdGl2ZSIsIndpa2lwZWRpYV91cmwiOiJodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1VuaXZlcnNpdHlfb2ZfU291dGhlcm5fTWlzc2lzc2lwcGkiLCJsYWJlbHMiOltdLCJjb3VudHJ5Ijp7ImNvdW50cnlfbmFtZSI6IlVuaXRlZCBTdGF0ZXMiLCJjb3VudHJ5X2NvZGUiOiJVUyJ9LCJleHRlcm5hbF9pZHMiOnsiSVNOSSI6eyJwcmVmZXJyZWQiOm51bGwsImFsbCI6WyIwMDAwIDAwMDEgMjI5NSA2MjhYIl19LCJGdW5kUmVmIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIjEwMDAwNjUyNSJdfSwiT3JnUmVmIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIjQ2MTA2ODkiXX0sIldpa2lkYXRhIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIlE2MjQwOTAiXX0sIkdSSUQiOnsicHJlZmVycmVkIjoiZ3JpZC4yNjcxOTMuOCIsImFsbCI6ImdyaWQuMjY3MTkzLjgifX19LHsiaWQiOiJodHRwczovL3Jvci5vcmcvMDAxMXF2NTA5IiwibmFtZSI6IlVuaXZlcnNpdHkgb2YgVGVubmVzc2VlIEhlYWx0aCBTY2llbmNlIENlbnRlciIsInR5cGVzIjpbIkhlYWx0aGNhcmUiXSwibGlua3MiOlsiaHR0cHM6Ly93d3cudXRoc2MuZWR1LyJdLCJhbGlhc2VzIjpbXSwiYWNyb255bXMiOlsiVVRIU0MiXSwic3RhdHVzIjoiYWN0aXZlIiwid2lraXBlZGlhX3VybCI6Imh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1VuaXZlcnNpdHlfb2ZfVGVubmVzc2VlX0hlYWx0aF9TY2llbmNlX0NlbnRlciIsImxhYmVscyI6W10sImNvdW50cnkiOnsiY291bnRyeV9uYW1lIjoiVW5pdGVkIFN0YXRlcyIsImNvdW50cnlfY29kZSI6IlVTIn0sImV4dGVybmFsX2lkcyI6eyJJU05JIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIjAwMDAgMDAwNCAwMzg2IDkyNDYiXX0sIkZ1bmRSZWYiOnsicHJlZmVycmVkIjoiMTAwMDA3MjcxIiwiYWxsIjpbIjEwMDAwNzI3MSIsIjEwMDAwOTg3MiIsIjEwMDAwNjU4MiJdfSwiT3JnUmVmIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIjEyNTA0NTciXX0sIldpa2lkYXRhIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIlE3ODk2NDIwIl19LCJHUklEIjp7InByZWZlcnJlZCI6ImdyaWQuMjY3MzAxLjEiLCJhbGwiOiJncmlkLjI2NzMwMS4xIn19fSx7ImlkIjoiaHR0cHM6Ly9yb3Iub3JnLzAweHpxamgxMyIsIm5hbWUiOiJVbml2ZXJzaXR5IG9mIFRlbm5lc3NlZSBTeXN0ZW0iLCJ0eXBlcyI6WyJFZHVjYXRpb24iXSwibGlua3MiOlsiaHR0cDovL3Rlbm5lc3NlZS5lZHUvIl0sImFsaWFzZXMiOlsiVVQgc3lzdGVtIl0sImFjcm9ueW1zIjpbXSwic3RhdHVzIjoiYWN0aXZlIiwid2lraXBlZGlhX3VybCI6Imh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1VuaXZlcnNpdHlfb2ZfVGVubmVzc2VlX3N5c3RlbSIsImxhYmVscyI6W3sibGFiZWwiOiJVbml2ZXJzaWRhZCBkZSBUZW5uZXNzZWUiLCJpc282MzkiOiJlcyJ9LHsibGFiZWwiOiJVbml2ZXJzaXTDqSBkdSB0ZW5uZXNzZWUiLCJpc282MzkiOiJmciJ9XSwiY291bnRyeSI6eyJjb3VudHJ5X25hbWUiOiJVbml0ZWQgU3RhdGVzIiwiY291bnRyeV9jb2RlIjoiVVMifSwiZXh0ZXJuYWxfaWRzIjp7IklTTkkiOnsicHJlZmVycmVkIjpudWxsLCJhbGwiOlsiMDAwMCAwMDAxIDA3MDkgODI3MiJdfSwiRnVuZFJlZiI6eyJwcmVmZXJyZWQiOm51bGwsImFsbCI6WyIxMDAwMDcxMzUiXX0sIk9yZ1JlZiI6eyJwcmVmZXJyZWQiOm51bGwsImFsbCI6WyIxMjUwNDA2Il19LCJXaWtpZGF0YSI6eyJwcmVmZXJyZWQiOm51bGwsImFsbCI6WyJRMjQ5NTkxNyJdfSwiR1JJRCI6eyJwcmVmZXJyZWQiOiJncmlkLjI2NzMwNS41IiwiYWxsIjoiZ3JpZC4yNjczMDUuNSJ9fX0seyJpZCI6Imh0dHBzOi8vcm9yLm9yZy8wNGQ1dmJhMzMiLCJuYW1lIjoiVGhlIFVuaXZlcnNpdHkgb2YgVGV4YXMgYXQgRWwgUGFzbyIsInR5cGVzIjpbIkVkdWNhdGlvbiJdLCJsaW5rcyI6WyJodHRwOi8vd3d3LnV0ZXAuZWR1LyJdLCJhbGlhc2VzIjpbIlRleGFzIFdlc3Rlcm4gQ29sbGVnZSBvZiB0aGUgVW5pdmVyc2l0eSBvZiBUZXhhcyIsIkNvbGxlZ2Ugb2YgTWluZXMgYW5kIE1ldGFsbHVyZ3kgb2YgdGhlIFVuaXZlcnNpdHkgb2YgVGV4YXMiLCJTdGF0ZSBTY2hvb2wgb2YgTWluZXMgYW5kIE1ldGFsbHVyZ3kiXSwiYWNyb255bXMiOlsiVVRFUCJdLCJzdGF0dXMiOiJhY3RpdmUiLCJ3aWtpcGVkaWFfdXJsIjoiaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Vbml2ZXJzaXR5X29mX1RleGFzX2F0X0VsX1Bhc28iLCJsYWJlbHMiOlt7ImxhYmVsIjoiVW5pdmVyc2l0w6kgZHUgdGV4YXMgw6AgZWwgcGFzbyIsImlzbzYzOSI6ImZyIn0seyJsYWJlbCI6IlVuaXZlcnNpZGFkIGRlIFRleGFzIGVuIEVsIFBhc28iLCJpc282MzkiOiJlcyJ9XSwiY291bnRyeSI6eyJjb3VudHJ5X25hbWUiOiJVbml0ZWQgU3RhdGVzIiwiY291bnRyeV9jb2RlIjoiVVMifSwiZXh0ZXJuYWxfaWRzIjp7IklTTkkiOnsicHJlZmVycmVkIjpudWxsLCJhbGwiOlsiMDAwMCAwMDAxIDA2NjggMDQyMCJdfSwiT3JnUmVmIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIjMwMzkwMyJdfSwiV2lraWRhdGEiOnsicHJlZmVycmVkIjpudWxsLCJhbGwiOlsiUTIwOTMxMTAiXX0sIkdSSUQiOnsicHJlZmVycmVkIjoiZ3JpZC4yNjczMjQuNiIsImFsbCI6ImdyaWQuMjY3MzI0LjYifX19LHsiaWQiOiJodHRwczovL3Jvci5vcmcvMDRzY2ZiOTA4IiwibmFtZSI6IkFsZnJlZCBIZWFsdGgiLCJ0eXBlcyI6WyJIZWFsdGhjYXJlIl0sImxpbmtzIjpbImh0dHA6Ly93d3cuYWxmcmVkLm9yZy5hdS8iXSwiYWxpYXNlcyI6W10sImFjcm9ueW1zIjpbXSwic3RhdHVzIjoiYWN0aXZlIiwid2lraXBlZGlhX3VybCI6IiIsImxhYmVscyI6W10sImNvdW50cnkiOnsiY291bnRyeV9uYW1lIjoiQXVzdHJhbGlhIiwiY291bnRyeV9jb2RlIjoiQVUifSwiZXh0ZXJuYWxfaWRzIjp7IklTTkkiOnsicHJlZmVycmVkIjpudWxsLCJhbGwiOlsiMDAwMCAwMDA0IDA0MzIgNTI1OSJdfSwiRnVuZFJlZiI6eyJwcmVmZXJyZWQiOm51bGwsImFsbCI6WyI1MDExMDAwMDI3MTYiXX0sIkdSSUQiOnsicHJlZmVycmVkIjoiZ3JpZC4yNjczNjIuNCIsImFsbCI6ImdyaWQuMjY3MzYyLjQifX19LHsiaWQiOiJodHRwczovL3Jvci5vcmcvMDJjMmY4OTc1IiwibmFtZSI6IlVuaXZlcnNpdHkgb2YgVWxzYW4iLCJ0eXBlcyI6WyJFZHVjYXRpb24iXSwibGlua3MiOlsiaHR0cDovL2VuLnVsc2FuLmFjLmtyL2NvbnRlbnRzL21haW4vIl0sImFsaWFzZXMiOltdLCJhY3JvbnltcyI6WyJVT1UiXSwic3RhdHVzIjoiYWN0aXZlIiwid2lraXBlZGlhX3VybCI6Imh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVW5pdmVyc2l0eV9vZl9VbHNhbiIsImxhYmVscyI6W3sibGFiZWwiOiLsmrjsgrDrjIDtlZnqtZAiLCJpc282MzkiOiJrbyJ9XSwiY291bnRyeSI6eyJjb3VudHJ5X25hbWUiOiJTb3V0aCBLb3JlYSIsImNvdW50cnlfY29kZSI6IktSIn0sImV4dGVybmFsX2lkcyI6eyJJU05JIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIjAwMDAgMDAwNCAwNTMzIDQ2NjciXX0sIkZ1bmRSZWYiOnsicHJlZmVycmVkIjpudWxsLCJhbGwiOlsiNTAxMTAwMDAyNTY4Il19LCJPcmdSZWYiOnsicHJlZmVycmVkIjoiMTA0NTgyNDYiLCJhbGwiOlsiMTA0NTgyNDYiLCIxNTE2Mjg3MiJdfSwiV2lraWRhdGEiOnsicHJlZmVycmVkIjpudWxsLCJhbGwiOlsiUTQ5MTcxNyJdfSwiR1JJRCI6eyJwcmVmZXJyZWQiOiJncmlkLjI2NzM3MC43IiwiYWxsIjoiZ3JpZC4yNjczNzAuNyJ9fX0seyJpZCI6Imh0dHBzOi8vcm9yLm9yZy8wMDJ3NHp5OTEiLCJuYW1lIjoiVW5pdmVyc2l0eSBvZiBXZXN0IEZsb3JpZGEiLCJ0eXBlcyI6WyJFZHVjYXRpb24iXSwibGlua3MiOlsiaHR0cDovL3V3Zi5lZHUvIl0sImFsaWFzZXMiOltdLCJhY3JvbnltcyI6WyJVV0YiXSwic3RhdHVzIjoiYWN0aXZlIiwid2lraXBlZGlhX3VybCI6Imh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVW5pdmVyc2l0eV9vZl9XZXN0X0Zsb3JpZGEiLCJsYWJlbHMiOltdLCJjb3VudHJ5Ijp7ImNvdW50cnlfbmFtZSI6IlVuaXRlZCBTdGF0ZXMiLCJjb3VudHJ5X2NvZGUiOiJVUyJ9LCJleHRlcm5hbF9pZHMiOnsiSVNOSSI6eyJwcmVmZXJyZWQiOm51bGwsImFsbCI6WyIwMDAwIDAwMDEgMjExMiAyNDI3Il19LCJGdW5kUmVmIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIjEwMDAwOTg0MiJdfSwiT3JnUmVmIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIjc1MDc1NiJdfSwiV2lraWRhdGEiOnsicHJlZmVycmVkIjpudWxsLCJhbGwiOlsiUTY1OTI1NSJdfSwiR1JJRCI6eyJwcmVmZXJyZWQiOiJncmlkLjI2NzQzNi4yIiwiYWxsIjoiZ3JpZC4yNjc0MzYuMiJ9fX0seyJpZCI6Imh0dHBzOi8vcm9yLm9yZy8wM2M4dnZyODQiLCJuYW1lIjoiVW5pdmVyc2l0eSBvZiBXZXN0ZXJuIFN0YXRlcyIsInR5cGVzIjpbIkVkdWNhdGlvbiJdLCJsaW5rcyI6WyJodHRwOi8vd3d3LnV3cy5lZHUvIl0sImFsaWFzZXMiOlsiV2VzdGVybiBTdGF0ZXMgQ2hpcm9wcmFjdGljIENvbGxlZ2UiXSwiYWNyb255bXMiOlsiVVdTIl0sInN0YXR1cyI6ImFjdGl2ZSIsIndpa2lwZWRpYV91cmwiOiJodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1VuaXZlcnNpdHlfb2ZfV2VzdGVybl9TdGF0ZXMiLCJsYWJlbHMiOltdLCJjb3VudHJ5Ijp7ImNvdW50cnlfbmFtZSI6IlVuaXRlZCBTdGF0ZXMiLCJjb3VudHJ5X2NvZGUiOiJVUyJ9LCJleHRlcm5hbF9pZHMiOnsiSVNOSSI6eyJwcmVmZXJyZWQiOm51bGwsImFsbCI6WyIwMDAwIDAwMDQgMDQ1NSA5NDkzIl19LCJPcmdSZWYiOnsicHJlZmVycmVkIjpudWxsLCJhbGwiOlsiMTY1NTA1MCJdfSwiV2lraWRhdGEiOnsicHJlZmVycmVkIjpudWxsLCJhbGwiOlsiUTc4OTY2MTIiXX0sIkdSSUQiOnsicHJlZmVycmVkIjoiZ3JpZC4yNjc0NTEuMyIsImFsbCI6ImdyaWQuMjY3NDUxLjMifX19LHsiaWQiOiJodHRwczovL3Jvci5vcmcvMDJnZHp5eDA0IiwibmFtZSI6IlVuaXZlcnNpdHkgb2YgV2lubmlwZWciLCJ0eXBlcyI6WyJFZHVjYXRpb24iXSwibGlua3MiOlsiaHR0cDovL3d3dy51d2lubmlwZWcuY2EvIl0sImFsaWFzZXMiOltdLCJhY3JvbnltcyI6W10sInN0YXR1cyI6ImFjdGl2ZSIsIndpa2lwZWRpYV91cmwiOiJodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1VuaXZlcnNpdHlfb2ZfV2lubmlwZWciLCJsYWJlbHMiOlt7ImxhYmVsIjoiVW5pdmVyc2l0w6kgZGUgd2lubmlwZWciLCJpc282MzkiOiJmciJ9XSwiY291bnRyeSI6eyJjb3VudHJ5X25hbWUiOiJDYW5hZGEiLCJjb3VudHJ5X2NvZGUiOiJDQSJ9LCJleHRlcm5hbF9pZHMiOnsiSVNOSSI6eyJwcmVmZXJyZWQiOm51bGwsImFsbCI6WyIwMDAwIDAwMDEgMTcwMyA0NzMxIl19LCJGdW5kUmVmIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIjEwMDAwOTM2NyJdfSwiT3JnUmVmIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIjU4NzQwNCJdfSwiV2lraWRhdGEiOnsicHJlZmVycmVkIjpudWxsLCJhbGwiOlsiUTQ3MjE2NyJdfSwiR1JJRCI6eyJwcmVmZXJyZWQiOiJncmlkLjI2NzQ1Ny41IiwiYWxsIjoiZ3JpZC4yNjc0NTcuNSJ9fX0seyJpZCI6Imh0dHBzOi8vcm9yLm9yZy8wNXN2NnBnNDEiLCJuYW1lIjoiVW5pdmVyc2l0eSBvZiBXaXNjb25zaW7igJNTdGV2ZW5zIFBvaW50IiwidHlwZXMiOlsiRWR1Y2F0aW9uIl0sImxpbmtzIjpbImh0dHA6Ly93d3cudXdzcC5lZHUvUGFnZXMvZGVmYXVsdC5hc3B4Il0sImFsaWFzZXMiOlsiVVfigJNTdGV2ZW5zIFBvaW50Il0sImFjcm9ueW1zIjpbIlVXU1AiXSwic3RhdHVzIjoiYWN0aXZlIiwid2lraXBlZGlhX3VybCI6Imh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVW5pdmVyc2l0eV9vZl9XaXNjb25zaW4lRTIlODAlOTNTdGV2ZW5zX1BvaW50IiwibGFiZWxzIjpbeyJsYWJlbCI6IlVuaXZlcnNpdMOpIGR1IHdpc2NvbnNpbiDDoCBzdGV2ZW5zIHBvaW50IiwiaXNvNjM5IjoiZnIifV0sImNvdW50cnkiOnsiY291bnRyeV9uYW1lIjoiVW5pdGVkIFN0YXRlcyIsImNvdW50cnlfY29kZSI6IlVTIn0sImV4dGVybmFsX2lkcyI6eyJJU05JIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIjAwMDAgMDAwMSAwNzA4IDY2NDIiXX0sIk9yZ1JlZiI6eyJwcmVmZXJyZWQiOm51bGwsImFsbCI6WyIxNzc3ODMxIl19LCJXaWtpZGF0YSI6eyJwcmVmZXJyZWQiOm51bGwsImFsbCI6WyJRMjY4Nzc4MiJdfSwiR1JJRCI6eyJwcmVmZXJyZWQiOiJncmlkLjI2NzQ3OS45IiwiYWxsIjoiZ3JpZC4yNjc0NzkuOSJ9fX0seyJpZCI6Imh0dHBzOi8vcm9yLm9yZy8wNDhnbWF5NDQiLCJuYW1lIjoiVW5pdmVyc2l0eSBvZiB0aGUgU2NpZW5jZXMiLCJ0eXBlcyI6WyJFZHVjYXRpb24iXSwibGlua3MiOlsiaHR0cDovL3d3dy51c2NpZW5jZXMuZWR1LyJdLCJhbGlhc2VzIjpbIlVuaXZlcnNpdHkgb2YgdGhlIFNjaWVuY2VzIGluIFBoaWxhZGVscGhpYSJdLCJhY3JvbnltcyI6W10sInN0YXR1cyI6ImFjdGl2ZSIsIndpa2lwZWRpYV91cmwiOiJodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1VuaXZlcnNpdHlfb2ZfdGhlX1NjaWVuY2VzIiwibGFiZWxzIjpbeyJsYWJlbCI6IlVuaXZlcnNpdMOpIGRlcyBzY2llbmNlcyDDoCBwaGlsYWRlbHBoaWUiLCJpc282MzkiOiJmciJ9XSwiY291bnRyeSI6eyJjb3VudHJ5X25hbWUiOiJVbml0ZWQgU3RhdGVzIiwiY291bnRyeV9jb2RlIjoiVVMifSwiZXh0ZXJuYWxfaWRzIjp7IklTTkkiOnsicHJlZmVycmVkIjpudWxsLCJhbGwiOlsiMDAwMCAwMDAwIDg3OTQgNzY0MyJdfSwiT3JnUmVmIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIjI4NDk4NyJdfSwiV2lraWRhdGEiOnsicHJlZmVycmVkIjpudWxsLCJhbGwiOlsiUTM0NDMxNTkiXX0sIkdSSUQiOnsicHJlZmVycmVkIjoiZ3JpZC4yNjc2MjcuMCIsImFsbCI6ImdyaWQuMjY3NjI3LjAifX19LHsiaWQiOiJodHRwczovL3Jvci5vcmcvMDAyeWdzczEwIiwibmFtZSI6IlV0aWNhIENvbGxlZ2UiLCJ0eXBlcyI6WyJFZHVjYXRpb24iXSwibGlua3MiOlsiaHR0cDovL3d3dy51dGljYS5lZHUvIl0sImFsaWFzZXMiOlsiVXRpY2EgQ29sbGVnZSBvZiBTeXJhY3VzZSBVbml2ZXJzaXR5Il0sImFjcm9ueW1zIjpbIlVDIl0sInN0YXR1cyI6ImFjdGl2ZSIsIndpa2lwZWRpYV91cmwiOiJodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9VdGljYV9Db2xsZWdlIiwibGFiZWxzIjpbXSwiY291bnRyeSI6eyJjb3VudHJ5X25hbWUiOiJVbml0ZWQgU3RhdGVzIiwiY291bnRyeV9jb2RlIjoiVVMifSwiZXh0ZXJuYWxfaWRzIjp7Ik9yZ1JlZiI6eyJwcmVmZXJyZWQiOm51bGwsImFsbCI6WyI5MzQ2NDMzIl19LCJXaWtpZGF0YSI6eyJwcmVmZXJyZWQiOm51bGwsImFsbCI6WyJRNzkwMjc4MiJdfSwiR1JJRCI6eyJwcmVmZXJyZWQiOiJncmlkLjI2NzY4MC5kIiwiYWxsIjoiZ3JpZC4yNjc2ODAuZCJ9fX0seyJpZCI6Imh0dHBzOi8vcm9yLm9yZy8wNHpqY2FxODUiLCJuYW1lIjoiVmFsZG9zdGEgU3RhdGUgVW5pdmVyc2l0eSIsInR5cGVzIjpbIkVkdWNhdGlvbiJdLCJsaW5rcyI6WyJodHRwczovL3d3dy52YWxkb3N0YS5lZHUvIl0sImFsaWFzZXMiOltdLCJhY3JvbnltcyI6WyJWU1UiXSwic3RhdHVzIjoiYWN0aXZlIiwid2lraXBlZGlhX3VybCI6Imh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVmFsZG9zdGFfU3RhdGVfVW5pdmVyc2l0eSIsImxhYmVscyI6W10sImNvdW50cnkiOnsiY291bnRyeV9uYW1lIjoiVW5pdGVkIFN0YXRlcyIsImNvdW50cnlfY29kZSI6IlVTIn0sImV4dGVybmFsX2lkcyI6eyJJU05JIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIjAwMDAgMDAwMCA5Mjg5IDk2MjMiXX0sIkZ1bmRSZWYiOnsicHJlZmVycmVkIjpudWxsLCJhbGwiOlsiMTAwMDEwMDg1Il19LCJPcmdSZWYiOnsicHJlZmVycmVkIjpudWxsLCJhbGwiOlsiNjc3MDM4Il19LCJXaWtpZGF0YSI6eyJwcmVmZXJyZWQiOm51bGwsImFsbCI6WyJRMjUwODA2MSJdfSwiR1JJRCI6eyJwcmVmZXJyZWQiOiJncmlkLjI2NzczNi4xIiwiYWxsIjoiZ3JpZC4yNjc3MzYuMSJ9fX0seyJpZCI6Imh0dHBzOi8vcm9yLm9yZy8wMndzZDVwNTAiLCJuYW1lIjoiVmlldG5hbSBBY2FkZW15IG9mIFNjaWVuY2UgYW5kIFRlY2hub2xvZ3kiLCJ0eXBlcyI6WyJFZHVjYXRpb24iXSwibGlua3MiOlsiaHR0cDovL3Zhc3QuYWMudm4vIl0sImFsaWFzZXMiOlsiVmlldG5hbSBBY2FkZW15IG9mIFNjaWVuY2UiLCJWaeG7h24gSMOgbiBsw6JtIEtob2EgaOG7jWMgdsOgIEPDtG5nIG5naOG7hyBWaeG7h3QgTmFtIl0sImFjcm9ueW1zIjpbIlZBU1QiXSwic3RhdHVzIjoiYWN0aXZlIiwid2lraXBlZGlhX3VybCI6Imh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1ZpZXRuYW1fQWNhZGVteV9vZl9TY2llbmNlX2FuZF9UZWNobm9sb2d5IiwibGFiZWxzIjpbeyJsYWJlbCI6IlZp4buHbiBIw6BuIGzDom0gS2hvYSBo4buNYyB2w6AgQ8O0bmcgbmdo4buHIFZp4buHdCBOYW0iLCJpc282MzkiOiJ2aSJ9XSwiY291bnRyeSI6eyJjb3VudHJ5X25hbWUiOiJWaWV0bmFtIiwiY291bnRyeV9jb2RlIjoiVk4ifSwiZXh0ZXJuYWxfaWRzIjp7IklTTkkiOnsicHJlZmVycmVkIjpudWxsLCJhbGwiOlsiMDAwMCAwMDAxIDIxMDUgNjg4OCJdfSwiT3JnUmVmIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIjI5NjUzNjMyIl19LCJXaWtpZGF0YSI6eyJwcmVmZXJyZWQiOm51bGwsImFsbCI6WyJRNzkyODQ4NCJdfSwiR1JJRCI6eyJwcmVmZXJyZWQiOiJncmlkLjI2Nzg0OS42IiwiYWxsIjoiZ3JpZC4yNjc4NDkuNiJ9fX0seyJpZCI6Imh0dHBzOi8vcm9yLm9yZy8wMnp3eWZnNTEiLCJuYW1lIjoiVmlyZ2luaWEgVW5pb24gVW5pdmVyc2l0eSIsInR5cGVzIjpbIkVkdWNhdGlvbiJdLCJsaW5rcyI6WyJodHRwOi8vd3d3LnZ1dS5lZHUvIl0sImFsaWFzZXMiOltdLCJhY3JvbnltcyI6WyJWVVUiXSwic3RhdHVzIjoiYWN0aXZlIiwid2lraXBlZGlhX3VybCI6Imh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVmlyZ2luaWFfVW5pb25fVW5pdmVyc2l0eSIsImxhYmVscyI6W10sImNvdW50cnkiOnsiY291bnRyeV9uYW1lIjoiVW5pdGVkIFN0YXRlcyIsImNvdW50cnlfY29kZSI6IlVTIn0sImV4dGVybmFsX2lkcyI6eyJJU05JIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIjAwMDAgMDAwMCA5OTExIDgyMDEiXX0sIk9yZ1JlZiI6eyJwcmVmZXJyZWQiOm51bGwsImFsbCI6WyI2NDE2NzIiXX0sIldpa2lkYXRhIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIlExODE0NzU4Il19LCJHUklEIjp7InByZWZlcnJlZCI6ImdyaWQuMjY3OTAyLjgiLCJhbGwiOiJncmlkLjI2NzkwMi44In19fSx7ImlkIjoiaHR0cHM6Ly9yb3Iub3JnLzAxZXBuMnE5MyIsIm5hbWUiOiJXZWJlciBTdGF0ZSBVbml2ZXJzaXR5IiwidHlwZXMiOlsiRWR1Y2F0aW9uIl0sImxpbmtzIjpbImh0dHA6Ly93d3cud2ViZXIuZWR1LyJdLCJhbGlhc2VzIjpbXSwiYWNyb255bXMiOlsiV1NVIl0sInN0YXR1cyI6ImFjdGl2ZSIsIndpa2lwZWRpYV91cmwiOiJodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1dlYmVyX1N0YXRlX1VuaXZlcnNpdHkiLCJsYWJlbHMiOlt7ImxhYmVsIjoiVW5pdmVyc2l0w6kgZCfDiXRhdCBkZSB3ZWJlciIsImlzbzYzOSI6ImZyIn1dLCJjb3VudHJ5Ijp7ImNvdW50cnlfbmFtZSI6IlVuaXRlZCBTdGF0ZXMiLCJjb3VudHJ5X2NvZGUiOiJVUyJ9LCJleHRlcm5hbF9pZHMiOnsiSVNOSSI6eyJwcmVmZXJyZWQiOm51bGwsImFsbCI6WyIwMDAwIDAwMDEgMjIyNCAxMjVYIl19LCJGdW5kUmVmIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIjEwMDAwNzE1NiJdfSwiT3JnUmVmIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIjYzNzkxMSJdfSwiV2lraWRhdGEiOnsicHJlZmVycmVkIjpudWxsLCJhbGwiOlsiUTE3ODcxNTIiXX0sIkdSSUQiOnsicHJlZmVycmVkIjoiZ3JpZC4yNjgwNzIuOSIsImFsbCI6ImdyaWQuMjY4MDcyLjkifX19XSwibWV0YSI6eyJ0eXBlcyI6W3siaWQiOiJjb21wYW55IiwidGl0bGUiOiJDb21wYW55IiwiY291bnQiOjI3ODI0fSx7ImlkIjoiZWR1Y2F0aW9uIiwidGl0bGUiOiJFZHVjYXRpb24iLCJjb3VudCI6MTg3MDB9LHsiaWQiOiJoZWFsdGhjYXJlIiwidGl0bGUiOiJIZWFsdGhjYXJlIiwiY291bnQiOjEyMjkwfSx7ImlkIjoibm9ucHJvZml0IiwidGl0bGUiOiJOb25wcm9maXQiLCJjb3VudCI6MTE4NzZ9LHsiaWQiOiJmYWNpbGl0eSIsInRpdGxlIjoiRmFjaWxpdHkiLCJjb3VudCI6ODI4MX0seyJpZCI6Im90aGVyIiwidGl0bGUiOiJPdGhlciIsImNvdW50Ijo3NzcyfSx7ImlkIjoiZ292ZXJubWVudCIsInRpdGxlIjoiR292ZXJubWVudCIsImNvdW50Ijo1NjI3fSx7ImlkIjoiYXJjaGl2ZSIsInRpdGxlIjoiQXJjaGl2ZSIsImNvdW50IjoyNjk0fV0sImNvdW50cmllcyI6W3siaWQiOiJ1cyIsInRpdGxlIjoiVW5pdGVkIFN0YXRlcyBvZiBBbWVyaWNhIiwiY291bnQiOjI5NzQ2fSx7ImlkIjoiZ2IiLCJ0aXRsZSI6IlVuaXRlZCBLaW5nZG9tIG9mIEdyZWF0IEJyaXRhaW4gYW5kIE5vcnRoZXJuIElyZWxhbmQiLCJjb3VudCI6NzE5Mn0seyJpZCI6ImRlIiwidGl0bGUiOiJGZWRlcmFsIFJlcHVibGljIG9mIEdlcm1hbnkiLCJjb3VudCI6NDY5M30seyJpZCI6ImNuIiwidGl0bGUiOiJQZW9wbGUncyBSZXB1YmxpYyBvZiBDaGluYSIsImNvdW50Ijo0MzE2fSx7ImlkIjoianAiLCJ0aXRsZSI6IkphcGFuIiwiY291bnQiOjM2ODZ9LHsiaWQiOiJmciIsInRpdGxlIjoiRnJlbmNoIFJlcHVibGljIiwiY291bnQiOjM2NzF9LHsiaWQiOiJjYSIsInRpdGxlIjoiQ2FuYWRhIiwiY291bnQiOjMxOTV9LHsiaWQiOiJpbiIsInRpdGxlIjoiUmVwdWJsaWMgb2YgSW5kaWEiLCJjb3VudCI6MjgwNX0seyJpZCI6ImN6IiwidGl0bGUiOiJDemVjaCBSZXB1YmxpYyIsImNvdW50IjoyNzQzfSx7ImlkIjoicnUiLCJ0aXRsZSI6IlJ1c3NpYW4gRmVkZXJhdGlvbiIsImNvdW50IjoyMDE0fV19fQ== + http_version: + recorded_at: Sun, 02 Feb 2020 21:10:44 GMT +recorded_with: VCR 3.0.3 diff --git a/spec/fixtures/vcr_cassettes/dois/views/has_views_meta.yml b/spec/fixtures/vcr_cassettes/dois/views/has_views_meta.yml new file mode 100644 index 000000000..c74bba5a5 --- /dev/null +++ b/spec/fixtures/vcr_cassettes/dois/views/has_views_meta.yml @@ -0,0 +1,55 @@ +--- +http_interactions: +- request: + method: get + uri: https://api.ror.org/organizations + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Mozilla/5.0 (compatible; Maremma/4.5; mailto:info@datacite.org) + Accept: + - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5 + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json + Content-Length: + - '13564' + Connection: + - keep-alive + Date: + - Sun, 02 Feb 2020 03:16:59 GMT + Status: + - 200 OK + X-Frame-Options: + - SAMEORIGIN + Allow: + - GET, HEAD, OPTIONS + X-Powered-By: + - Phusion Passenger 6.0.4 + Server: + - nginx/1.17.3 + Phusion Passenger 6.0.4 + Vary: + - Accept-Encoding,Cookie,Origin + X-Cache: + - Hit from cloudfront + Via: + - 1.1 e8640ab30463560abfb6a2665bafb393.cloudfront.net (CloudFront) + X-Amz-Cf-Pop: + - DUS51-C1 + X-Amz-Cf-Id: + - 33qtJf9-OQyd5Uik3vuvVjERXvXCdqvxFzXGpG7pdOynK5SsYFp09g== + Age: + - '64185' + body: + encoding: ASCII-8BIT + string: !binary |- + eyJudW1iZXJfb2ZfcmVzdWx0cyI6OTc5MDAsInRpbWVfdGFrZW4iOjcsIml0ZW1zIjpbeyJpZCI6Imh0dHBzOi8vcm9yLm9yZy8wNXh3YjZ2MzciLCJuYW1lIjoiVW5pdmVyc2l0eSBvZiBTY3JhbnRvbiIsInR5cGVzIjpbIkVkdWNhdGlvbiJdLCJsaW5rcyI6WyJodHRwOi8vd3d3LnNjcmFudG9uLmVkdS8iXSwiYWxpYXNlcyI6W10sImFjcm9ueW1zIjpbXSwic3RhdHVzIjoiYWN0aXZlIiwid2lraXBlZGlhX3VybCI6Imh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVW5pdmVyc2l0eV9vZl9TY3JhbnRvbiIsImxhYmVscyI6W3sibGFiZWwiOiJVbml2ZXJzaXTDqSBkZSBzY3JhbnRvbiIsImlzbzYzOSI6ImZyIn0seyJsYWJlbCI6IlVuaXZlcnNpZGFkIGRlIFNjcmFudG9uIiwiaXNvNjM5IjoiZXMifV0sImNvdW50cnkiOnsiY291bnRyeV9uYW1lIjoiVW5pdGVkIFN0YXRlcyIsImNvdW50cnlfY29kZSI6IlVTIn0sImV4dGVybmFsX2lkcyI6eyJJU05JIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIjAwMDAgMDAwMCA5NDY0IDg1NjEiXX0sIk9yZ1JlZiI6eyJwcmVmZXJyZWQiOm51bGwsImFsbCI6WyIxNjExMzkiXX0sIldpa2lkYXRhIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIlEyNDk1OTA3Il19LCJHUklEIjp7InByZWZlcnJlZCI6ImdyaWQuMjY3MTMxLjAiLCJhbGwiOiJncmlkLjI2NzEzMS4wIn19fSx7ImlkIjoiaHR0cHM6Ly9yb3Iub3JnLzAxczdiNXkwOCIsIm5hbWUiOiJVbml2ZXJzaXR5IG9mIFNvdXRoIEFsYWJhbWEiLCJ0eXBlcyI6WyJFZHVjYXRpb24iXSwibGlua3MiOlsiaHR0cDovL3d3dy5zb3V0aGFsYWJhbWEuZWR1LyJdLCJhbGlhc2VzIjpbXSwiYWNyb255bXMiOlsiVVNBIl0sInN0YXR1cyI6ImFjdGl2ZSIsIndpa2lwZWRpYV91cmwiOiJodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1VuaXZlcnNpdHlfb2ZfU291dGhfQWxhYmFtYSIsImxhYmVscyI6W10sImNvdW50cnkiOnsiY291bnRyeV9uYW1lIjoiVW5pdGVkIFN0YXRlcyIsImNvdW50cnlfY29kZSI6IlVTIn0sImV4dGVybmFsX2lkcyI6eyJJU05JIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIjAwMDAgMDAwMCA5NTUyIDEyNTUiXX0sIk9yZ1JlZiI6eyJwcmVmZXJyZWQiOm51bGwsImFsbCI6WyI0OTk0OTkiXX0sIldpa2lkYXRhIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIlExMzU3Mjk4MSJdfSwiR1JJRCI6eyJwcmVmZXJyZWQiOiJncmlkLjI2NzE1My40IiwiYWxsIjoiZ3JpZC4yNjcxNTMuNCJ9fX0seyJpZCI6Imh0dHBzOi8vcm9yLm9yZy8wNWtlZDg0ODEiLCJuYW1lIjoiVW5pdmVyc2l0eSBvZiBTb3V0aCBDYXJvbGluYSBCZWF1Zm9ydCIsInR5cGVzIjpbIkVkdWNhdGlvbiJdLCJsaW5rcyI6WyJodHRwOi8vd3d3LnVzY2IuZWR1LyJdLCJhbGlhc2VzIjpbXSwiYWNyb255bXMiOltdLCJzdGF0dXMiOiJhY3RpdmUiLCJ3aWtpcGVkaWFfdXJsIjoiaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVW5pdmVyc2l0eV9vZl9Tb3V0aF9DYXJvbGluYV9CZWF1Zm9ydCIsImxhYmVscyI6W10sImNvdW50cnkiOnsiY291bnRyeV9uYW1lIjoiVW5pdGVkIFN0YXRlcyIsImNvdW50cnlfY29kZSI6IlVTIn0sImV4dGVybmFsX2lkcyI6eyJPcmdSZWYiOnsicHJlZmVycmVkIjpudWxsLCJhbGwiOlsiNDI5NzQxIl19LCJXaWtpZGF0YSI6eyJwcmVmZXJyZWQiOm51bGwsImFsbCI6WyJRNzg5NjMxOCJdfSwiR1JJRCI6eyJwcmVmZXJyZWQiOiJncmlkLjI2NzE2MS41IiwiYWxsIjoiZ3JpZC4yNjcxNjEuNSJ9fX0seyJpZCI6Imh0dHBzOi8vcm9yLm9yZy8wMDZibXgwODkiLCJuYW1lIjoiVW5pdmVyc2l0eSBvZiBTb3V0aGVybiBJbmRpYW5hIiwidHlwZXMiOlsiRWR1Y2F0aW9uIl0sImxpbmtzIjpbImh0dHA6Ly93d3cudXNpLmVkdS8iXSwiYWxpYXNlcyI6W10sImFjcm9ueW1zIjpbIlVTSSJdLCJzdGF0dXMiOiJhY3RpdmUiLCJ3aWtpcGVkaWFfdXJsIjoiaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Vbml2ZXJzaXR5X29mX1NvdXRoZXJuX0luZGlhbmEiLCJsYWJlbHMiOlt7ImxhYmVsIjoiVW5pdmVyc2l0w6kgZGUgbCdpbmRpYW5hIGR1IHN1ZCIsImlzbzYzOSI6ImZyIn1dLCJjb3VudHJ5Ijp7ImNvdW50cnlfbmFtZSI6IlVuaXRlZCBTdGF0ZXMiLCJjb3VudHJ5X2NvZGUiOiJVUyJ9LCJleHRlcm5hbF9pZHMiOnsiSVNOSSI6eyJwcmVmZXJyZWQiOm51bGwsImFsbCI6WyIwMDAwIDAwMDEgMjI4NiA4OTQxIl19LCJPcmdSZWYiOnsicHJlZmVycmVkIjpudWxsLCJhbGwiOlsiMjYzMDc3Il19LCJXaWtpZGF0YSI6eyJwcmVmZXJyZWQiOm51bGwsImFsbCI6WyJROTQwMjg5Il19LCJHUklEIjp7InByZWZlcnJlZCI6ImdyaWQuMjY3MTg4LjIiLCJhbGwiOiJncmlkLjI2NzE4OC4yIn19fSx7ImlkIjoiaHR0cHM6Ly9yb3Iub3JnLzAyNzB2ZmE1NyIsIm5hbWUiOiJVbml2ZXJzaXR5IG9mIFNvdXRoZXJuIE1pc3Npc3NpcHBpIiwidHlwZXMiOlsiRWR1Y2F0aW9uIl0sImxpbmtzIjpbImh0dHA6Ly93d3cudXNtLmVkdS9hYm91dCJdLCJhbGlhc2VzIjpbIlNvdXRoZXJuIE1pc3MiXSwiYWNyb255bXMiOlsiVVNNIl0sInN0YXR1cyI6ImFjdGl2ZSIsIndpa2lwZWRpYV91cmwiOiJodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1VuaXZlcnNpdHlfb2ZfU291dGhlcm5fTWlzc2lzc2lwcGkiLCJsYWJlbHMiOltdLCJjb3VudHJ5Ijp7ImNvdW50cnlfbmFtZSI6IlVuaXRlZCBTdGF0ZXMiLCJjb3VudHJ5X2NvZGUiOiJVUyJ9LCJleHRlcm5hbF9pZHMiOnsiSVNOSSI6eyJwcmVmZXJyZWQiOm51bGwsImFsbCI6WyIwMDAwIDAwMDEgMjI5NSA2MjhYIl19LCJGdW5kUmVmIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIjEwMDAwNjUyNSJdfSwiT3JnUmVmIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIjQ2MTA2ODkiXX0sIldpa2lkYXRhIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIlE2MjQwOTAiXX0sIkdSSUQiOnsicHJlZmVycmVkIjoiZ3JpZC4yNjcxOTMuOCIsImFsbCI6ImdyaWQuMjY3MTkzLjgifX19LHsiaWQiOiJodHRwczovL3Jvci5vcmcvMDAxMXF2NTA5IiwibmFtZSI6IlVuaXZlcnNpdHkgb2YgVGVubmVzc2VlIEhlYWx0aCBTY2llbmNlIENlbnRlciIsInR5cGVzIjpbIkhlYWx0aGNhcmUiXSwibGlua3MiOlsiaHR0cHM6Ly93d3cudXRoc2MuZWR1LyJdLCJhbGlhc2VzIjpbXSwiYWNyb255bXMiOlsiVVRIU0MiXSwic3RhdHVzIjoiYWN0aXZlIiwid2lraXBlZGlhX3VybCI6Imh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1VuaXZlcnNpdHlfb2ZfVGVubmVzc2VlX0hlYWx0aF9TY2llbmNlX0NlbnRlciIsImxhYmVscyI6W10sImNvdW50cnkiOnsiY291bnRyeV9uYW1lIjoiVW5pdGVkIFN0YXRlcyIsImNvdW50cnlfY29kZSI6IlVTIn0sImV4dGVybmFsX2lkcyI6eyJJU05JIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIjAwMDAgMDAwNCAwMzg2IDkyNDYiXX0sIkZ1bmRSZWYiOnsicHJlZmVycmVkIjoiMTAwMDA3MjcxIiwiYWxsIjpbIjEwMDAwNzI3MSIsIjEwMDAwOTg3MiIsIjEwMDAwNjU4MiJdfSwiT3JnUmVmIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIjEyNTA0NTciXX0sIldpa2lkYXRhIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIlE3ODk2NDIwIl19LCJHUklEIjp7InByZWZlcnJlZCI6ImdyaWQuMjY3MzAxLjEiLCJhbGwiOiJncmlkLjI2NzMwMS4xIn19fSx7ImlkIjoiaHR0cHM6Ly9yb3Iub3JnLzAweHpxamgxMyIsIm5hbWUiOiJVbml2ZXJzaXR5IG9mIFRlbm5lc3NlZSBTeXN0ZW0iLCJ0eXBlcyI6WyJFZHVjYXRpb24iXSwibGlua3MiOlsiaHR0cDovL3Rlbm5lc3NlZS5lZHUvIl0sImFsaWFzZXMiOlsiVVQgc3lzdGVtIl0sImFjcm9ueW1zIjpbXSwic3RhdHVzIjoiYWN0aXZlIiwid2lraXBlZGlhX3VybCI6Imh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1VuaXZlcnNpdHlfb2ZfVGVubmVzc2VlX3N5c3RlbSIsImxhYmVscyI6W3sibGFiZWwiOiJVbml2ZXJzaWRhZCBkZSBUZW5uZXNzZWUiLCJpc282MzkiOiJlcyJ9LHsibGFiZWwiOiJVbml2ZXJzaXTDqSBkdSB0ZW5uZXNzZWUiLCJpc282MzkiOiJmciJ9XSwiY291bnRyeSI6eyJjb3VudHJ5X25hbWUiOiJVbml0ZWQgU3RhdGVzIiwiY291bnRyeV9jb2RlIjoiVVMifSwiZXh0ZXJuYWxfaWRzIjp7IklTTkkiOnsicHJlZmVycmVkIjpudWxsLCJhbGwiOlsiMDAwMCAwMDAxIDA3MDkgODI3MiJdfSwiRnVuZFJlZiI6eyJwcmVmZXJyZWQiOm51bGwsImFsbCI6WyIxMDAwMDcxMzUiXX0sIk9yZ1JlZiI6eyJwcmVmZXJyZWQiOm51bGwsImFsbCI6WyIxMjUwNDA2Il19LCJXaWtpZGF0YSI6eyJwcmVmZXJyZWQiOm51bGwsImFsbCI6WyJRMjQ5NTkxNyJdfSwiR1JJRCI6eyJwcmVmZXJyZWQiOiJncmlkLjI2NzMwNS41IiwiYWxsIjoiZ3JpZC4yNjczMDUuNSJ9fX0seyJpZCI6Imh0dHBzOi8vcm9yLm9yZy8wNGQ1dmJhMzMiLCJuYW1lIjoiVGhlIFVuaXZlcnNpdHkgb2YgVGV4YXMgYXQgRWwgUGFzbyIsInR5cGVzIjpbIkVkdWNhdGlvbiJdLCJsaW5rcyI6WyJodHRwOi8vd3d3LnV0ZXAuZWR1LyJdLCJhbGlhc2VzIjpbIlRleGFzIFdlc3Rlcm4gQ29sbGVnZSBvZiB0aGUgVW5pdmVyc2l0eSBvZiBUZXhhcyIsIkNvbGxlZ2Ugb2YgTWluZXMgYW5kIE1ldGFsbHVyZ3kgb2YgdGhlIFVuaXZlcnNpdHkgb2YgVGV4YXMiLCJTdGF0ZSBTY2hvb2wgb2YgTWluZXMgYW5kIE1ldGFsbHVyZ3kiXSwiYWNyb255bXMiOlsiVVRFUCJdLCJzdGF0dXMiOiJhY3RpdmUiLCJ3aWtpcGVkaWFfdXJsIjoiaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Vbml2ZXJzaXR5X29mX1RleGFzX2F0X0VsX1Bhc28iLCJsYWJlbHMiOlt7ImxhYmVsIjoiVW5pdmVyc2l0w6kgZHUgdGV4YXMgw6AgZWwgcGFzbyIsImlzbzYzOSI6ImZyIn0seyJsYWJlbCI6IlVuaXZlcnNpZGFkIGRlIFRleGFzIGVuIEVsIFBhc28iLCJpc282MzkiOiJlcyJ9XSwiY291bnRyeSI6eyJjb3VudHJ5X25hbWUiOiJVbml0ZWQgU3RhdGVzIiwiY291bnRyeV9jb2RlIjoiVVMifSwiZXh0ZXJuYWxfaWRzIjp7IklTTkkiOnsicHJlZmVycmVkIjpudWxsLCJhbGwiOlsiMDAwMCAwMDAxIDA2NjggMDQyMCJdfSwiT3JnUmVmIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIjMwMzkwMyJdfSwiV2lraWRhdGEiOnsicHJlZmVycmVkIjpudWxsLCJhbGwiOlsiUTIwOTMxMTAiXX0sIkdSSUQiOnsicHJlZmVycmVkIjoiZ3JpZC4yNjczMjQuNiIsImFsbCI6ImdyaWQuMjY3MzI0LjYifX19LHsiaWQiOiJodHRwczovL3Jvci5vcmcvMDRzY2ZiOTA4IiwibmFtZSI6IkFsZnJlZCBIZWFsdGgiLCJ0eXBlcyI6WyJIZWFsdGhjYXJlIl0sImxpbmtzIjpbImh0dHA6Ly93d3cuYWxmcmVkLm9yZy5hdS8iXSwiYWxpYXNlcyI6W10sImFjcm9ueW1zIjpbXSwic3RhdHVzIjoiYWN0aXZlIiwid2lraXBlZGlhX3VybCI6IiIsImxhYmVscyI6W10sImNvdW50cnkiOnsiY291bnRyeV9uYW1lIjoiQXVzdHJhbGlhIiwiY291bnRyeV9jb2RlIjoiQVUifSwiZXh0ZXJuYWxfaWRzIjp7IklTTkkiOnsicHJlZmVycmVkIjpudWxsLCJhbGwiOlsiMDAwMCAwMDA0IDA0MzIgNTI1OSJdfSwiRnVuZFJlZiI6eyJwcmVmZXJyZWQiOm51bGwsImFsbCI6WyI1MDExMDAwMDI3MTYiXX0sIkdSSUQiOnsicHJlZmVycmVkIjoiZ3JpZC4yNjczNjIuNCIsImFsbCI6ImdyaWQuMjY3MzYyLjQifX19LHsiaWQiOiJodHRwczovL3Jvci5vcmcvMDJjMmY4OTc1IiwibmFtZSI6IlVuaXZlcnNpdHkgb2YgVWxzYW4iLCJ0eXBlcyI6WyJFZHVjYXRpb24iXSwibGlua3MiOlsiaHR0cDovL2VuLnVsc2FuLmFjLmtyL2NvbnRlbnRzL21haW4vIl0sImFsaWFzZXMiOltdLCJhY3JvbnltcyI6WyJVT1UiXSwic3RhdHVzIjoiYWN0aXZlIiwid2lraXBlZGlhX3VybCI6Imh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVW5pdmVyc2l0eV9vZl9VbHNhbiIsImxhYmVscyI6W3sibGFiZWwiOiLsmrjsgrDrjIDtlZnqtZAiLCJpc282MzkiOiJrbyJ9XSwiY291bnRyeSI6eyJjb3VudHJ5X25hbWUiOiJTb3V0aCBLb3JlYSIsImNvdW50cnlfY29kZSI6IktSIn0sImV4dGVybmFsX2lkcyI6eyJJU05JIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIjAwMDAgMDAwNCAwNTMzIDQ2NjciXX0sIkZ1bmRSZWYiOnsicHJlZmVycmVkIjpudWxsLCJhbGwiOlsiNTAxMTAwMDAyNTY4Il19LCJPcmdSZWYiOnsicHJlZmVycmVkIjoiMTA0NTgyNDYiLCJhbGwiOlsiMTA0NTgyNDYiLCIxNTE2Mjg3MiJdfSwiV2lraWRhdGEiOnsicHJlZmVycmVkIjpudWxsLCJhbGwiOlsiUTQ5MTcxNyJdfSwiR1JJRCI6eyJwcmVmZXJyZWQiOiJncmlkLjI2NzM3MC43IiwiYWxsIjoiZ3JpZC4yNjczNzAuNyJ9fX0seyJpZCI6Imh0dHBzOi8vcm9yLm9yZy8wMDJ3NHp5OTEiLCJuYW1lIjoiVW5pdmVyc2l0eSBvZiBXZXN0IEZsb3JpZGEiLCJ0eXBlcyI6WyJFZHVjYXRpb24iXSwibGlua3MiOlsiaHR0cDovL3V3Zi5lZHUvIl0sImFsaWFzZXMiOltdLCJhY3JvbnltcyI6WyJVV0YiXSwic3RhdHVzIjoiYWN0aXZlIiwid2lraXBlZGlhX3VybCI6Imh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVW5pdmVyc2l0eV9vZl9XZXN0X0Zsb3JpZGEiLCJsYWJlbHMiOltdLCJjb3VudHJ5Ijp7ImNvdW50cnlfbmFtZSI6IlVuaXRlZCBTdGF0ZXMiLCJjb3VudHJ5X2NvZGUiOiJVUyJ9LCJleHRlcm5hbF9pZHMiOnsiSVNOSSI6eyJwcmVmZXJyZWQiOm51bGwsImFsbCI6WyIwMDAwIDAwMDEgMjExMiAyNDI3Il19LCJGdW5kUmVmIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIjEwMDAwOTg0MiJdfSwiT3JnUmVmIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIjc1MDc1NiJdfSwiV2lraWRhdGEiOnsicHJlZmVycmVkIjpudWxsLCJhbGwiOlsiUTY1OTI1NSJdfSwiR1JJRCI6eyJwcmVmZXJyZWQiOiJncmlkLjI2NzQzNi4yIiwiYWxsIjoiZ3JpZC4yNjc0MzYuMiJ9fX0seyJpZCI6Imh0dHBzOi8vcm9yLm9yZy8wM2M4dnZyODQiLCJuYW1lIjoiVW5pdmVyc2l0eSBvZiBXZXN0ZXJuIFN0YXRlcyIsInR5cGVzIjpbIkVkdWNhdGlvbiJdLCJsaW5rcyI6WyJodHRwOi8vd3d3LnV3cy5lZHUvIl0sImFsaWFzZXMiOlsiV2VzdGVybiBTdGF0ZXMgQ2hpcm9wcmFjdGljIENvbGxlZ2UiXSwiYWNyb255bXMiOlsiVVdTIl0sInN0YXR1cyI6ImFjdGl2ZSIsIndpa2lwZWRpYV91cmwiOiJodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1VuaXZlcnNpdHlfb2ZfV2VzdGVybl9TdGF0ZXMiLCJsYWJlbHMiOltdLCJjb3VudHJ5Ijp7ImNvdW50cnlfbmFtZSI6IlVuaXRlZCBTdGF0ZXMiLCJjb3VudHJ5X2NvZGUiOiJVUyJ9LCJleHRlcm5hbF9pZHMiOnsiSVNOSSI6eyJwcmVmZXJyZWQiOm51bGwsImFsbCI6WyIwMDAwIDAwMDQgMDQ1NSA5NDkzIl19LCJPcmdSZWYiOnsicHJlZmVycmVkIjpudWxsLCJhbGwiOlsiMTY1NTA1MCJdfSwiV2lraWRhdGEiOnsicHJlZmVycmVkIjpudWxsLCJhbGwiOlsiUTc4OTY2MTIiXX0sIkdSSUQiOnsicHJlZmVycmVkIjoiZ3JpZC4yNjc0NTEuMyIsImFsbCI6ImdyaWQuMjY3NDUxLjMifX19LHsiaWQiOiJodHRwczovL3Jvci5vcmcvMDJnZHp5eDA0IiwibmFtZSI6IlVuaXZlcnNpdHkgb2YgV2lubmlwZWciLCJ0eXBlcyI6WyJFZHVjYXRpb24iXSwibGlua3MiOlsiaHR0cDovL3d3dy51d2lubmlwZWcuY2EvIl0sImFsaWFzZXMiOltdLCJhY3JvbnltcyI6W10sInN0YXR1cyI6ImFjdGl2ZSIsIndpa2lwZWRpYV91cmwiOiJodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1VuaXZlcnNpdHlfb2ZfV2lubmlwZWciLCJsYWJlbHMiOlt7ImxhYmVsIjoiVW5pdmVyc2l0w6kgZGUgd2lubmlwZWciLCJpc282MzkiOiJmciJ9XSwiY291bnRyeSI6eyJjb3VudHJ5X25hbWUiOiJDYW5hZGEiLCJjb3VudHJ5X2NvZGUiOiJDQSJ9LCJleHRlcm5hbF9pZHMiOnsiSVNOSSI6eyJwcmVmZXJyZWQiOm51bGwsImFsbCI6WyIwMDAwIDAwMDEgMTcwMyA0NzMxIl19LCJGdW5kUmVmIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIjEwMDAwOTM2NyJdfSwiT3JnUmVmIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIjU4NzQwNCJdfSwiV2lraWRhdGEiOnsicHJlZmVycmVkIjpudWxsLCJhbGwiOlsiUTQ3MjE2NyJdfSwiR1JJRCI6eyJwcmVmZXJyZWQiOiJncmlkLjI2NzQ1Ny41IiwiYWxsIjoiZ3JpZC4yNjc0NTcuNSJ9fX0seyJpZCI6Imh0dHBzOi8vcm9yLm9yZy8wNXN2NnBnNDEiLCJuYW1lIjoiVW5pdmVyc2l0eSBvZiBXaXNjb25zaW7igJNTdGV2ZW5zIFBvaW50IiwidHlwZXMiOlsiRWR1Y2F0aW9uIl0sImxpbmtzIjpbImh0dHA6Ly93d3cudXdzcC5lZHUvUGFnZXMvZGVmYXVsdC5hc3B4Il0sImFsaWFzZXMiOlsiVVfigJNTdGV2ZW5zIFBvaW50Il0sImFjcm9ueW1zIjpbIlVXU1AiXSwic3RhdHVzIjoiYWN0aXZlIiwid2lraXBlZGlhX3VybCI6Imh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVW5pdmVyc2l0eV9vZl9XaXNjb25zaW4lRTIlODAlOTNTdGV2ZW5zX1BvaW50IiwibGFiZWxzIjpbeyJsYWJlbCI6IlVuaXZlcnNpdMOpIGR1IHdpc2NvbnNpbiDDoCBzdGV2ZW5zIHBvaW50IiwiaXNvNjM5IjoiZnIifV0sImNvdW50cnkiOnsiY291bnRyeV9uYW1lIjoiVW5pdGVkIFN0YXRlcyIsImNvdW50cnlfY29kZSI6IlVTIn0sImV4dGVybmFsX2lkcyI6eyJJU05JIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIjAwMDAgMDAwMSAwNzA4IDY2NDIiXX0sIk9yZ1JlZiI6eyJwcmVmZXJyZWQiOm51bGwsImFsbCI6WyIxNzc3ODMxIl19LCJXaWtpZGF0YSI6eyJwcmVmZXJyZWQiOm51bGwsImFsbCI6WyJRMjY4Nzc4MiJdfSwiR1JJRCI6eyJwcmVmZXJyZWQiOiJncmlkLjI2NzQ3OS45IiwiYWxsIjoiZ3JpZC4yNjc0NzkuOSJ9fX0seyJpZCI6Imh0dHBzOi8vcm9yLm9yZy8wNDhnbWF5NDQiLCJuYW1lIjoiVW5pdmVyc2l0eSBvZiB0aGUgU2NpZW5jZXMiLCJ0eXBlcyI6WyJFZHVjYXRpb24iXSwibGlua3MiOlsiaHR0cDovL3d3dy51c2NpZW5jZXMuZWR1LyJdLCJhbGlhc2VzIjpbIlVuaXZlcnNpdHkgb2YgdGhlIFNjaWVuY2VzIGluIFBoaWxhZGVscGhpYSJdLCJhY3JvbnltcyI6W10sInN0YXR1cyI6ImFjdGl2ZSIsIndpa2lwZWRpYV91cmwiOiJodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1VuaXZlcnNpdHlfb2ZfdGhlX1NjaWVuY2VzIiwibGFiZWxzIjpbeyJsYWJlbCI6IlVuaXZlcnNpdMOpIGRlcyBzY2llbmNlcyDDoCBwaGlsYWRlbHBoaWUiLCJpc282MzkiOiJmciJ9XSwiY291bnRyeSI6eyJjb3VudHJ5X25hbWUiOiJVbml0ZWQgU3RhdGVzIiwiY291bnRyeV9jb2RlIjoiVVMifSwiZXh0ZXJuYWxfaWRzIjp7IklTTkkiOnsicHJlZmVycmVkIjpudWxsLCJhbGwiOlsiMDAwMCAwMDAwIDg3OTQgNzY0MyJdfSwiT3JnUmVmIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIjI4NDk4NyJdfSwiV2lraWRhdGEiOnsicHJlZmVycmVkIjpudWxsLCJhbGwiOlsiUTM0NDMxNTkiXX0sIkdSSUQiOnsicHJlZmVycmVkIjoiZ3JpZC4yNjc2MjcuMCIsImFsbCI6ImdyaWQuMjY3NjI3LjAifX19LHsiaWQiOiJodHRwczovL3Jvci5vcmcvMDAyeWdzczEwIiwibmFtZSI6IlV0aWNhIENvbGxlZ2UiLCJ0eXBlcyI6WyJFZHVjYXRpb24iXSwibGlua3MiOlsiaHR0cDovL3d3dy51dGljYS5lZHUvIl0sImFsaWFzZXMiOlsiVXRpY2EgQ29sbGVnZSBvZiBTeXJhY3VzZSBVbml2ZXJzaXR5Il0sImFjcm9ueW1zIjpbIlVDIl0sInN0YXR1cyI6ImFjdGl2ZSIsIndpa2lwZWRpYV91cmwiOiJodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9VdGljYV9Db2xsZWdlIiwibGFiZWxzIjpbXSwiY291bnRyeSI6eyJjb3VudHJ5X25hbWUiOiJVbml0ZWQgU3RhdGVzIiwiY291bnRyeV9jb2RlIjoiVVMifSwiZXh0ZXJuYWxfaWRzIjp7Ik9yZ1JlZiI6eyJwcmVmZXJyZWQiOm51bGwsImFsbCI6WyI5MzQ2NDMzIl19LCJXaWtpZGF0YSI6eyJwcmVmZXJyZWQiOm51bGwsImFsbCI6WyJRNzkwMjc4MiJdfSwiR1JJRCI6eyJwcmVmZXJyZWQiOiJncmlkLjI2NzY4MC5kIiwiYWxsIjoiZ3JpZC4yNjc2ODAuZCJ9fX0seyJpZCI6Imh0dHBzOi8vcm9yLm9yZy8wNHpqY2FxODUiLCJuYW1lIjoiVmFsZG9zdGEgU3RhdGUgVW5pdmVyc2l0eSIsInR5cGVzIjpbIkVkdWNhdGlvbiJdLCJsaW5rcyI6WyJodHRwczovL3d3dy52YWxkb3N0YS5lZHUvIl0sImFsaWFzZXMiOltdLCJhY3JvbnltcyI6WyJWU1UiXSwic3RhdHVzIjoiYWN0aXZlIiwid2lraXBlZGlhX3VybCI6Imh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVmFsZG9zdGFfU3RhdGVfVW5pdmVyc2l0eSIsImxhYmVscyI6W10sImNvdW50cnkiOnsiY291bnRyeV9uYW1lIjoiVW5pdGVkIFN0YXRlcyIsImNvdW50cnlfY29kZSI6IlVTIn0sImV4dGVybmFsX2lkcyI6eyJJU05JIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIjAwMDAgMDAwMCA5Mjg5IDk2MjMiXX0sIkZ1bmRSZWYiOnsicHJlZmVycmVkIjpudWxsLCJhbGwiOlsiMTAwMDEwMDg1Il19LCJPcmdSZWYiOnsicHJlZmVycmVkIjpudWxsLCJhbGwiOlsiNjc3MDM4Il19LCJXaWtpZGF0YSI6eyJwcmVmZXJyZWQiOm51bGwsImFsbCI6WyJRMjUwODA2MSJdfSwiR1JJRCI6eyJwcmVmZXJyZWQiOiJncmlkLjI2NzczNi4xIiwiYWxsIjoiZ3JpZC4yNjc3MzYuMSJ9fX0seyJpZCI6Imh0dHBzOi8vcm9yLm9yZy8wMndzZDVwNTAiLCJuYW1lIjoiVmlldG5hbSBBY2FkZW15IG9mIFNjaWVuY2UgYW5kIFRlY2hub2xvZ3kiLCJ0eXBlcyI6WyJFZHVjYXRpb24iXSwibGlua3MiOlsiaHR0cDovL3Zhc3QuYWMudm4vIl0sImFsaWFzZXMiOlsiVmlldG5hbSBBY2FkZW15IG9mIFNjaWVuY2UiLCJWaeG7h24gSMOgbiBsw6JtIEtob2EgaOG7jWMgdsOgIEPDtG5nIG5naOG7hyBWaeG7h3QgTmFtIl0sImFjcm9ueW1zIjpbIlZBU1QiXSwic3RhdHVzIjoiYWN0aXZlIiwid2lraXBlZGlhX3VybCI6Imh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1ZpZXRuYW1fQWNhZGVteV9vZl9TY2llbmNlX2FuZF9UZWNobm9sb2d5IiwibGFiZWxzIjpbeyJsYWJlbCI6IlZp4buHbiBIw6BuIGzDom0gS2hvYSBo4buNYyB2w6AgQ8O0bmcgbmdo4buHIFZp4buHdCBOYW0iLCJpc282MzkiOiJ2aSJ9XSwiY291bnRyeSI6eyJjb3VudHJ5X25hbWUiOiJWaWV0bmFtIiwiY291bnRyeV9jb2RlIjoiVk4ifSwiZXh0ZXJuYWxfaWRzIjp7IklTTkkiOnsicHJlZmVycmVkIjpudWxsLCJhbGwiOlsiMDAwMCAwMDAxIDIxMDUgNjg4OCJdfSwiT3JnUmVmIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIjI5NjUzNjMyIl19LCJXaWtpZGF0YSI6eyJwcmVmZXJyZWQiOm51bGwsImFsbCI6WyJRNzkyODQ4NCJdfSwiR1JJRCI6eyJwcmVmZXJyZWQiOiJncmlkLjI2Nzg0OS42IiwiYWxsIjoiZ3JpZC4yNjc4NDkuNiJ9fX0seyJpZCI6Imh0dHBzOi8vcm9yLm9yZy8wMnp3eWZnNTEiLCJuYW1lIjoiVmlyZ2luaWEgVW5pb24gVW5pdmVyc2l0eSIsInR5cGVzIjpbIkVkdWNhdGlvbiJdLCJsaW5rcyI6WyJodHRwOi8vd3d3LnZ1dS5lZHUvIl0sImFsaWFzZXMiOltdLCJhY3JvbnltcyI6WyJWVVUiXSwic3RhdHVzIjoiYWN0aXZlIiwid2lraXBlZGlhX3VybCI6Imh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVmlyZ2luaWFfVW5pb25fVW5pdmVyc2l0eSIsImxhYmVscyI6W10sImNvdW50cnkiOnsiY291bnRyeV9uYW1lIjoiVW5pdGVkIFN0YXRlcyIsImNvdW50cnlfY29kZSI6IlVTIn0sImV4dGVybmFsX2lkcyI6eyJJU05JIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIjAwMDAgMDAwMCA5OTExIDgyMDEiXX0sIk9yZ1JlZiI6eyJwcmVmZXJyZWQiOm51bGwsImFsbCI6WyI2NDE2NzIiXX0sIldpa2lkYXRhIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIlExODE0NzU4Il19LCJHUklEIjp7InByZWZlcnJlZCI6ImdyaWQuMjY3OTAyLjgiLCJhbGwiOiJncmlkLjI2NzkwMi44In19fSx7ImlkIjoiaHR0cHM6Ly9yb3Iub3JnLzAxZXBuMnE5MyIsIm5hbWUiOiJXZWJlciBTdGF0ZSBVbml2ZXJzaXR5IiwidHlwZXMiOlsiRWR1Y2F0aW9uIl0sImxpbmtzIjpbImh0dHA6Ly93d3cud2ViZXIuZWR1LyJdLCJhbGlhc2VzIjpbXSwiYWNyb255bXMiOlsiV1NVIl0sInN0YXR1cyI6ImFjdGl2ZSIsIndpa2lwZWRpYV91cmwiOiJodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1dlYmVyX1N0YXRlX1VuaXZlcnNpdHkiLCJsYWJlbHMiOlt7ImxhYmVsIjoiVW5pdmVyc2l0w6kgZCfDiXRhdCBkZSB3ZWJlciIsImlzbzYzOSI6ImZyIn1dLCJjb3VudHJ5Ijp7ImNvdW50cnlfbmFtZSI6IlVuaXRlZCBTdGF0ZXMiLCJjb3VudHJ5X2NvZGUiOiJVUyJ9LCJleHRlcm5hbF9pZHMiOnsiSVNOSSI6eyJwcmVmZXJyZWQiOm51bGwsImFsbCI6WyIwMDAwIDAwMDEgMjIyNCAxMjVYIl19LCJGdW5kUmVmIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIjEwMDAwNzE1NiJdfSwiT3JnUmVmIjp7InByZWZlcnJlZCI6bnVsbCwiYWxsIjpbIjYzNzkxMSJdfSwiV2lraWRhdGEiOnsicHJlZmVycmVkIjpudWxsLCJhbGwiOlsiUTE3ODcxNTIiXX0sIkdSSUQiOnsicHJlZmVycmVkIjoiZ3JpZC4yNjgwNzIuOSIsImFsbCI6ImdyaWQuMjY4MDcyLjkifX19XSwibWV0YSI6eyJ0eXBlcyI6W3siaWQiOiJjb21wYW55IiwidGl0bGUiOiJDb21wYW55IiwiY291bnQiOjI3ODI0fSx7ImlkIjoiZWR1Y2F0aW9uIiwidGl0bGUiOiJFZHVjYXRpb24iLCJjb3VudCI6MTg3MDB9LHsiaWQiOiJoZWFsdGhjYXJlIiwidGl0bGUiOiJIZWFsdGhjYXJlIiwiY291bnQiOjEyMjkwfSx7ImlkIjoibm9ucHJvZml0IiwidGl0bGUiOiJOb25wcm9maXQiLCJjb3VudCI6MTE4NzZ9LHsiaWQiOiJmYWNpbGl0eSIsInRpdGxlIjoiRmFjaWxpdHkiLCJjb3VudCI6ODI4MX0seyJpZCI6Im90aGVyIiwidGl0bGUiOiJPdGhlciIsImNvdW50Ijo3NzcyfSx7ImlkIjoiZ292ZXJubWVudCIsInRpdGxlIjoiR292ZXJubWVudCIsImNvdW50Ijo1NjI3fSx7ImlkIjoiYXJjaGl2ZSIsInRpdGxlIjoiQXJjaGl2ZSIsImNvdW50IjoyNjk0fV0sImNvdW50cmllcyI6W3siaWQiOiJ1cyIsInRpdGxlIjoiVW5pdGVkIFN0YXRlcyBvZiBBbWVyaWNhIiwiY291bnQiOjI5NzQ2fSx7ImlkIjoiZ2IiLCJ0aXRsZSI6IlVuaXRlZCBLaW5nZG9tIG9mIEdyZWF0IEJyaXRhaW4gYW5kIE5vcnRoZXJuIElyZWxhbmQiLCJjb3VudCI6NzE5Mn0seyJpZCI6ImRlIiwidGl0bGUiOiJGZWRlcmFsIFJlcHVibGljIG9mIEdlcm1hbnkiLCJjb3VudCI6NDY5M30seyJpZCI6ImNuIiwidGl0bGUiOiJQZW9wbGUncyBSZXB1YmxpYyBvZiBDaGluYSIsImNvdW50Ijo0MzE2fSx7ImlkIjoianAiLCJ0aXRsZSI6IkphcGFuIiwiY291bnQiOjM2ODZ9LHsiaWQiOiJmciIsInRpdGxlIjoiRnJlbmNoIFJlcHVibGljIiwiY291bnQiOjM2NzF9LHsiaWQiOiJjYSIsInRpdGxlIjoiQ2FuYWRhIiwiY291bnQiOjMxOTV9LHsiaWQiOiJpbiIsInRpdGxlIjoiUmVwdWJsaWMgb2YgSW5kaWEiLCJjb3VudCI6MjgwNX0seyJpZCI6ImN6IiwidGl0bGUiOiJDemVjaCBSZXB1YmxpYyIsImNvdW50IjoyNzQzfSx7ImlkIjoicnUiLCJ0aXRsZSI6IlJ1c3NpYW4gRmVkZXJhdGlvbiIsImNvdW50IjoyMDE0fV19fQ== + http_version: + recorded_at: Sun, 02 Feb 2020 21:06:44 GMT +recorded_with: VCR 3.0.3 diff --git a/spec/requests/dois_spec.rb b/spec/requests/dois_spec.rb index c59ceeb4c..54ebc093c 100644 --- a/spec/requests/dois_spec.rb +++ b/spec/requests/dois_spec.rb @@ -196,6 +196,21 @@ expect(json.dig('data', 'attributes', 'viewCount')).to eq(75) expect(json.dig('data', 'attributes', 'viewsOverTime')).to eq([{"total"=>25, "year_month"=>"2015-06"}, {"total"=>25, "year_month"=>"2015-06"}, {"total"=>25, "year_month"=>"2015-06"}]) end + + it "has views meta" do + get "/dois", nil, headers + + expect(last_response.status).to eq(200) + expect(json.dig('meta', 'views')).to eq([{"count"=>75, "id"=>"2011", "title"=>"2011"}]) + end + + it "repository shows summary count" do + get "/repositories/#{client.uid}", nil, headers + + expect(last_response.status).to eq(200) + expect(json.dig('data', 'attributes', 'name')).to eq(client.name) + expect(json.dig('meta', 'views')).to eq([{"count"=>75, "id"=>"2011", "title"=>"2011"}]) + end end describe "downloads", elasticsearch: true, vcr: true do @@ -218,6 +233,21 @@ expect(json.dig('data', 'attributes', 'downloadCount')).to eq(30) expect(json.dig('data', 'attributes', 'downloadsOverTime')).to eq([{"total"=>10, "year_month"=>"2015-06"}, {"total"=>10, "year_month"=>"2015-06"}, {"total"=>10, "year_month"=>"2015-06"}]) end + + it "has downloads meta" do + get "/dois", nil, headers + + expect(last_response.status).to eq(200) + expect(json.dig('meta', 'downloads')).to eq([{"count"=>30, "id"=>"2011", "title"=>"2011"}]) + end + + it "repository shows summary count" do + get "/repositories/#{client.uid}", nil, headers + + expect(last_response.status).to eq(200) + expect(json.dig('data', 'attributes', 'name')).to eq(client.name) + expect(json.dig('meta', 'downloads')).to eq([{"count"=>30, "id"=>"2011", "title"=>"2011"}]) + end end describe "references", elasticsearch: true, vcr: true do @@ -266,6 +296,22 @@ expect(json.dig('included').length).to eq(2) expect(json.dig('included', 0, 'attributes', 'relationTypeId')).to eq("is-referenced-by") end + + it "has downloads meta" do + get "/dois", nil, headers + + expect(last_response.status).to eq(200) + expect(json.dig('meta', 'citations')).to eq([{"count"=>1, "id"=>"2011", "title"=>"2011"}]) + end + + it "repository shows summary count" do + get "/repositories/#{client.uid}", nil, headers + + puts last_response.body + expect(last_response.status).to eq(200) + expect(json.dig('data', 'attributes', 'name')).to eq(client.name) + expect(json.dig('meta', 'citations')).to eq([{"count"=>1, "id"=>"2011", "title"=>"2011"}]) + end end describe "parts", elasticsearch: true, vcr: true do