toccatore 0.4.0 → 0.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile.lock +8 -1
- data/lib/toccatore/cli.rb +1 -1
- data/lib/toccatore/queue.rb +6 -2
- data/lib/toccatore/usage_update.rb +37 -31
- data/lib/toccatore/version.rb +1 -1
- data/spec/cli_spec.rb +2 -2
- data/spec/factories/default.rb +22 -0
- data/spec/fixtures/event_data_resp_2 +4 -4
- data/spec/fixtures/usage_events.json +4 -4
- data/spec/fixtures/vcr_cassettes/Toccatore_CLI/usage_update/no_reports_in_the_queue/should_succeed_with_no_works.yml +120 -28
- data/spec/fixtures/vcr_cassettes/Toccatore_UsageUpdate/get_data/when_there_are_messages/should_return_the_data_for_one_message.yml +6 -6
- data/spec/fixtures/vcr_cassettes/Toccatore_UsageUpdate/get_data/when_there_is_ONE_message/should_return_the_data_for_one_message.yml +6 -6
- data/spec/fixtures/vcr_cassettes/Toccatore_UsageUpdate/get_message/should_return_no_meessage_when_the_queue_is_empty.yml +95 -0
- data/spec/fixtures/vcr_cassettes/Toccatore_UsageUpdate/get_message/should_return_one_message_when_there_are_multiple_messages.yml +95 -0
- data/spec/fixtures/vcr_cassettes/Toccatore_UsageUpdate/get_total/when_is_working_with_AWS.yml +187 -0
- data/spec/fixtures/vcr_cassettes/Toccatore_UsageUpdate/push_data/should_fail_if_format_of_the_event_is_wrong.yml +1045 -80
- data/spec/fixtures/vcr_cassettes/Toccatore_UsageUpdate/queue_url/should_fail_if_the_queue_doesn_exist.yml +49 -0
- data/spec/fixtures/vcr_cassettes/Toccatore_UsageUpdate/queue_url/should_return_always_correct_queue_url.yml +49 -0
- data/spec/queque_spec.rb +44 -58
- data/spec/spec_helper.rb +7 -0
- data/spec/usage_update_spec.rb +21 -12
- data/toccatore.gemspec +4 -0
- metadata +50 -5
- data/spec/fixtures/vcr_cassettes/Toccatore_CLI/usage_update/should_fail.yml +0 -150
- data/spec/fixtures/vcr_cassettes/Toccatore_CLI/usage_update/should_succeed_with_no_works.yml +0 -150
- data/spec/fixtures/vcr_cassettes/Toccatore_UsageUpdate/push_data/should_work_with_DataCite_Event_Data.yml +0 -199
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0cb6715e4b1f6670be94c0856acc321bc098f764c5d69c7a20c3f0bc97a496aa
|
4
|
+
data.tar.gz: cff0f6962c115beec2264401db53c822291c1b062aee2cf33db89e93abd2d251
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1513263252c59c07e13f9d89909ad62b99a91b6ddd05a1bd2ad310851b92362d3d74608981dd5370bd8a4265e7b7ebc63a063678a47c6598c71fa0e1158fa4c9
|
7
|
+
data.tar.gz: 401fb2e8feba5d5817e4bd20c959cc72e2f5458d20933084a58e6fe681bfc1e8d90ca666b6111971d2f8ab1767557db38254f4b78631f95c71953a15e8d26e29
|
data/Gemfile.lock
CHANGED
@@ -1,10 +1,11 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
toccatore (0.4.
|
4
|
+
toccatore (0.4.2)
|
5
5
|
activesupport (~> 4.2, >= 4.2.5)
|
6
6
|
aws-sdk-sqs
|
7
7
|
dotenv (~> 2.1, >= 2.1.1)
|
8
|
+
factory_bot
|
8
9
|
gender_detector (~> 1.0)
|
9
10
|
maremma (~> 3.5)
|
10
11
|
namae (~> 0.11.0)
|
@@ -40,6 +41,10 @@ GEM
|
|
40
41
|
docile (1.1.5)
|
41
42
|
dotenv (2.4.0)
|
42
43
|
excon (0.45.4)
|
44
|
+
factory_bot (4.8.2)
|
45
|
+
activesupport (>= 3.0.0)
|
46
|
+
faker (1.8.7)
|
47
|
+
i18n (>= 0.7)
|
43
48
|
faraday (0.9.2)
|
44
49
|
multipart-post (>= 1.2, < 3)
|
45
50
|
faraday-encoding (0.0.4)
|
@@ -112,6 +117,8 @@ PLATFORMS
|
|
112
117
|
DEPENDENCIES
|
113
118
|
bundler (~> 1.0)
|
114
119
|
codeclimate-test-reporter (~> 1.0, >= 1.0.0)
|
120
|
+
factory_bot
|
121
|
+
faker
|
115
122
|
rack-test (~> 0)
|
116
123
|
rake (~> 12.0)
|
117
124
|
rspec (~> 3.4)
|
data/lib/toccatore/cli.rb
CHANGED
@@ -53,7 +53,7 @@ module Toccatore
|
|
53
53
|
method_option :push_url, type: :string
|
54
54
|
method_option :slack_webhook_url, type: :string
|
55
55
|
method_option :doi, type: :string
|
56
|
-
method_option :jsonapi, :type => :boolean, :
|
56
|
+
method_option :jsonapi, :type => :boolean, default: true
|
57
57
|
def usage_update
|
58
58
|
usage_update = Toccatore::UsageUpdate.new
|
59
59
|
usage_update.queue_jobs(usage_update.unfreeze(options))
|
data/lib/toccatore/queue.rb
CHANGED
@@ -4,7 +4,8 @@ module Toccatore
|
|
4
4
|
module Queue
|
5
5
|
|
6
6
|
def queue options={}
|
7
|
-
|
7
|
+
region = ENV['AWS_REGION'] ||= 'eu-west-1'
|
8
|
+
Aws::SQS::Client.new(region: region.to_s, stub_responses: false)
|
8
9
|
end
|
9
10
|
|
10
11
|
def get_total options={}
|
@@ -28,6 +29,7 @@ module Toccatore
|
|
28
29
|
end
|
29
30
|
|
30
31
|
def delete_message options={}
|
32
|
+
return 1 if options.messages.size < 1
|
31
33
|
reponse = @sqs.delete_message({
|
32
34
|
queue_url: queue_url,
|
33
35
|
receipt_handle: options.messages[0][:receipt_handle]
|
@@ -43,7 +45,9 @@ module Toccatore
|
|
43
45
|
end
|
44
46
|
|
45
47
|
def queue_url options={}
|
46
|
-
queue_name
|
48
|
+
options[:queue_name] ||= "#{ENV['ENVIRONMENT']}_usage" || "stage_usage"
|
49
|
+
queue_name = options[:queue_name]
|
50
|
+
# puts "Using #{@sqs.get_queue_url(queue_name: queue_name).queue_url} queue"
|
47
51
|
@sqs.get_queue_url(queue_name: queue_name).queue_url
|
48
52
|
end
|
49
53
|
end
|
@@ -19,18 +19,19 @@ module Toccatore
|
|
19
19
|
text = "No works found for in the Usage Reports Queue."
|
20
20
|
end
|
21
21
|
|
22
|
-
|
22
|
+
error_total = 0
|
23
|
+
num_messages = total
|
24
|
+
while num_messages > 0
|
23
25
|
# walk through paginated results
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
options[:offset] = page * job_batch_size
|
29
|
-
options[:total] = total
|
26
|
+
|
27
|
+
# (0...total).each do |page|
|
28
|
+
# options[:offset] = page * 1
|
29
|
+
# options[:total] = total
|
30
30
|
error_total += process_data(options)
|
31
|
-
|
32
|
-
|
31
|
+
num_messages = get_total(options)
|
32
|
+
# end
|
33
33
|
end
|
34
|
+
text = "#{num_messages} works processed with #{error_total} errors for Usage Reports Queue"
|
34
35
|
|
35
36
|
puts text
|
36
37
|
# send slack notification
|
@@ -39,7 +40,7 @@ module Toccatore
|
|
39
40
|
send_notification_to_slack(text, options) if options[:slack_webhook_url].present?
|
40
41
|
|
41
42
|
# return number of works queued
|
42
|
-
|
43
|
+
get_total(options)
|
43
44
|
end
|
44
45
|
|
45
46
|
def process_data(options = {})
|
@@ -49,8 +50,11 @@ module Toccatore
|
|
49
50
|
|
50
51
|
return [OpenStruct.new(body: { "data" => [] })] if data.empty?
|
51
52
|
|
52
|
-
push_data(data, options)
|
53
|
-
|
53
|
+
errors = push_data(data, options)
|
54
|
+
if errors < 1
|
55
|
+
delete_message message
|
56
|
+
end
|
57
|
+
errors
|
54
58
|
end
|
55
59
|
|
56
60
|
def get_data reponse
|
@@ -87,7 +91,7 @@ module Toccatore
|
|
87
91
|
end
|
88
92
|
|
89
93
|
def format_event type, data, options
|
90
|
-
{ "
|
94
|
+
{ "uuid" => SecureRandom.uuid,
|
91
95
|
"message-action" => "add",
|
92
96
|
"subj-id" => data[:report_id],
|
93
97
|
"subj"=> {
|
@@ -136,30 +140,32 @@ module Toccatore
|
|
136
140
|
|
137
141
|
def push_item(item, options={})
|
138
142
|
return OpenStruct.new(body: { "errors" => [{ "title" => "Access token missing." }] }) if options[:access_token].blank?
|
143
|
+
return 0 if item == "Queue is empty"
|
139
144
|
|
140
145
|
host = options[:push_url].presence || "https://api.test.datacite.org"
|
141
|
-
push_url = host + "/events"
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
host: host)
|
157
|
-
end
|
146
|
+
push_url = host + "/events/" + item["uuid"].to_s
|
147
|
+
data = { "data" => {
|
148
|
+
"id" => item["uuid"],
|
149
|
+
"type" => "events",
|
150
|
+
"attributes" => item.except("id") }}
|
151
|
+
response = Maremma.put(push_url, data: data.to_json,
|
152
|
+
bearer: options[:access_token],
|
153
|
+
content_type: 'json',
|
154
|
+
host: host)
|
155
|
+
# else
|
156
|
+
# response = Maremma.post(push_url, data: item.to_json,
|
157
|
+
# bearer: options[:access_token],
|
158
|
+
# content_type: 'json',
|
159
|
+
# host: host)
|
160
|
+
# end
|
158
161
|
|
159
162
|
# return 0 if successful, 1 if error
|
160
|
-
if response.status == 201
|
163
|
+
if response.status == 201
|
161
164
|
puts "#{item['subj-id']} #{item['relation-type-id']} #{item['obj-id']} pushed to Event Data service."
|
162
165
|
0
|
166
|
+
elsif response.status == 200
|
167
|
+
puts "#{item['subj-id']} #{item['relation-type-id']} #{item['obj-id']} pushed to Event Data service for update."
|
168
|
+
0
|
163
169
|
elsif response.body["errors"].present?
|
164
170
|
puts "#{item['subj-id']} #{item['relation-type-id']} #{item['obj-id']} had an error:"
|
165
171
|
puts "#{response.body['errors'].first['title']}"
|
data/lib/toccatore/version.rb
CHANGED
data/spec/cli_spec.rb
CHANGED
@@ -8,7 +8,7 @@ describe Toccatore::CLI do
|
|
8
8
|
|
9
9
|
describe "version" do
|
10
10
|
it 'has version' do
|
11
|
-
expect { subject.__print_version }.to output("0.4.
|
11
|
+
expect { subject.__print_version }.to output("0.4.2\n").to_stdout
|
12
12
|
end
|
13
13
|
end
|
14
14
|
|
@@ -123,7 +123,7 @@ describe Toccatore::CLI do
|
|
123
123
|
subject.options = { push_url: push_url,
|
124
124
|
slack_webhook_url: slack_webhook_url,
|
125
125
|
access_token: access_token}
|
126
|
-
expect { subject.usage_update }.to output("
|
126
|
+
expect { subject.usage_update }.to output("0 works processed with 0 errors for Usage Reports Queue\n").to_stdout
|
127
127
|
end
|
128
128
|
end
|
129
129
|
|
@@ -0,0 +1,22 @@
|
|
1
|
+
require "faker"
|
2
|
+
require 'securerandom'
|
3
|
+
|
4
|
+
|
5
|
+
FactoryBot.define do
|
6
|
+
factory :event , class: OpenStruct do
|
7
|
+
sequence(:uuid) { |n| "#{SecureRandom.uuid}-#{n}" }
|
8
|
+
message_action "add"
|
9
|
+
sequence(:obj_id) { |n| "#{Faker::Internet.url}#{n}" }
|
10
|
+
sequence(:subj_id) { |n| "#{Faker::Internet.url}#{n}" }
|
11
|
+
total Faker::Number.number(3)
|
12
|
+
subj {{
|
13
|
+
"pid" => "fdfdfd",
|
14
|
+
"issued" => Faker::Time.between(DateTime.now - 2, DateTime.now),
|
15
|
+
}}
|
16
|
+
relation_type_id ["total-dataset-investigations-regular","total-dataset-investigations-machine","unique-dataset-investigations-machine","total-dataset-investigations-machine"].sample
|
17
|
+
source_id "datacite-usage"
|
18
|
+
sequence(:source_token) { |n| "#{SecureRandom.uuid}-#{n}" }
|
19
|
+
occurred_at Faker::Time.between(DateTime.now - 2, DateTime.now)
|
20
|
+
license "https://creativecommons.org/publicdomain/zero/1.0/"
|
21
|
+
end
|
22
|
+
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
https://metrics.test.datacite.org/reports/2018-3-Dash total-dataset-investigations-regular https://doi.org/10.7291/d1q94r
|
2
|
-
https://metrics.test.datacite.org/reports/2018-3-Dash unique-dataset-investigations-regular https://doi.org/10.7291/d1q94r
|
3
|
-
https://metrics.test.datacite.org/reports/2018-3-Dash Total-Dataset-Requests-Machine https://doi.org/10.6071/z7wc73
|
4
|
-
https://metrics.test.datacite.org/reports/2018-3-Dash Unique-Dataset-Requests-Machine https://doi.org/10.6071/z7wc73
|
1
|
+
https://metrics.test.datacite.org/reports/2018-3-Dash total-dataset-investigations-regular https://doi.org/10.7291/d1q94r had an error:\nthe server responded with status 500/\n
|
2
|
+
https://metrics.test.datacite.org/reports/2018-3-Dash unique-dataset-investigations-regular https://doi.org/10.7291/d1q94r had an error:\nthe server responded with status 500/\n
|
3
|
+
https://metrics.test.datacite.org/reports/2018-3-Dash Total-Dataset-Requests-Machine https://doi.org/10.6071/z7wc73 had an error:\nthe server responded with status 500/\n
|
4
|
+
https://metrics.test.datacite.org/reports/2018-3-Dash Unique-Dataset-Requests-Machine https://doi.org/10.6071/z7wc73 had an error:\nthe server responded with status 500/\n
|
@@ -1,6 +1,6 @@
|
|
1
1
|
[
|
2
2
|
{
|
3
|
-
"
|
3
|
+
"uuid": "a17e783b-8214-451e-9b0d-077213c2acae",
|
4
4
|
"message-action": "add",
|
5
5
|
"subj-id": "https://metrics.test.datacite.org/reports/2018-3-Dash",
|
6
6
|
"subj": {
|
@@ -15,7 +15,7 @@
|
|
15
15
|
"occurred-at": "2128-04-09",
|
16
16
|
"license": "https://creativecommons.org/publicdomain/zero/1.0/"
|
17
17
|
}, {
|
18
|
-
"
|
18
|
+
"uuid": "fc6860b8-4230-41bc-8b8e-21d60e9a7d9a",
|
19
19
|
"message-action": "add",
|
20
20
|
"subj-id": "https://metrics.test.datacite.org/reports/2018-3-Dash",
|
21
21
|
"subj": {
|
@@ -30,7 +30,7 @@
|
|
30
30
|
"occurred-at": "2128-04-09",
|
31
31
|
"license": "https://creativecommons.org/publicdomain/zero/1.0/"
|
32
32
|
}, {
|
33
|
-
"
|
33
|
+
"uuid": "054da0ad-9821-492e-877e-5c3adbfd5ccf",
|
34
34
|
"message-action": "add",
|
35
35
|
"subj-id": "https://metrics.test.datacite.org/reports/2018-3-Dash",
|
36
36
|
"subj": {
|
@@ -45,7 +45,7 @@
|
|
45
45
|
"occurred-at": "2128-04-09",
|
46
46
|
"license": "https://creativecommons.org/publicdomain/zero/1.0/"
|
47
47
|
}, {
|
48
|
-
"
|
48
|
+
"uuid": "6d6fd620-2123-42da-91f3-6c02e63f3cec",
|
49
49
|
"message-action": "add",
|
50
50
|
"subj-id": "https://metrics.test.datacite.org/reports/2018-3-Dash",
|
51
51
|
"subj": {
|
@@ -5,7 +5,7 @@ http_interactions:
|
|
5
5
|
uri: https://sqs.eu-west-1.amazonaws.com/
|
6
6
|
body:
|
7
7
|
encoding: UTF-8
|
8
|
-
string: Action=GetQueueUrl&QueueName=
|
8
|
+
string: Action=GetQueueUrl&QueueName=stage_usage&Version=2012-11-05
|
9
9
|
headers:
|
10
10
|
Content-Type:
|
11
11
|
- application/x-www-form-urlencoded; charset=utf-8
|
@@ -14,14 +14,14 @@ http_interactions:
|
|
14
14
|
User-Agent:
|
15
15
|
- aws-sdk-ruby3/3.20.2 ruby/2.3.3 x86_64-darwin15 aws-sdk-sqs/1.3.0
|
16
16
|
X-Amz-Date:
|
17
|
-
-
|
17
|
+
- 20180517T135353Z
|
18
18
|
X-Amz-Content-Sha256:
|
19
|
-
-
|
19
|
+
- 5034a1b0b889e68da64b7a052e782d357595681cff3bfea21cac68581dec9836
|
20
20
|
Authorization:
|
21
|
-
- AWS4-HMAC-SHA256 Credential=AKIAIXLDUBIDM74CC6KQ/
|
22
|
-
SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=
|
21
|
+
- AWS4-HMAC-SHA256 Credential=AKIAIXLDUBIDM74CC6KQ/20180517/eu-west-1/sqs/aws4_request,
|
22
|
+
SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=bebc3d0da820ae3bd911134080ed6461359fd357bce937b15580b1107e73e94b
|
23
23
|
Content-Length:
|
24
|
-
- '
|
24
|
+
- '59'
|
25
25
|
Accept:
|
26
26
|
- "*/*"
|
27
27
|
response:
|
@@ -32,26 +32,26 @@ http_interactions:
|
|
32
32
|
Server:
|
33
33
|
- Server
|
34
34
|
Date:
|
35
|
-
-
|
35
|
+
- Thu, 17 May 2018 13:53:53 GMT
|
36
36
|
Content-Type:
|
37
37
|
- text/xml
|
38
38
|
Content-Length:
|
39
|
-
- '
|
39
|
+
- '331'
|
40
40
|
Connection:
|
41
41
|
- keep-alive
|
42
42
|
X-Amzn-Requestid:
|
43
|
-
-
|
43
|
+
- bc0893f6-562e-544a-9a6f-c081dd9fba5e
|
44
44
|
body:
|
45
45
|
encoding: UTF-8
|
46
|
-
string: <?xml version="1.0"?><GetQueueUrlResponse xmlns="http://queue.amazonaws.com/doc/2012-11-05/"><GetQueueUrlResult><QueueUrl>https://sqs.eu-west-1.amazonaws.com/404017989009/
|
46
|
+
string: <?xml version="1.0"?><GetQueueUrlResponse xmlns="http://queue.amazonaws.com/doc/2012-11-05/"><GetQueueUrlResult><QueueUrl>https://sqs.eu-west-1.amazonaws.com/404017989009/stage_usage</QueueUrl></GetQueueUrlResult><ResponseMetadata><RequestId>bc0893f6-562e-544a-9a6f-c081dd9fba5e</RequestId></ResponseMetadata></GetQueueUrlResponse>
|
47
47
|
http_version:
|
48
|
-
recorded_at:
|
48
|
+
recorded_at: Thu, 17 May 2018 13:53:54 GMT
|
49
49
|
- request:
|
50
50
|
method: post
|
51
|
-
uri: https://sqs.eu-west-1.amazonaws.com/404017989009/
|
51
|
+
uri: https://sqs.eu-west-1.amazonaws.com/404017989009/stage_usage
|
52
52
|
body:
|
53
53
|
encoding: UTF-8
|
54
|
-
string: Action=GetQueueAttributes&AttributeName.1=ApproximateNumberOfMessages&AttributeName.2=ApproximateNumberOfMessagesNotVisible&QueueUrl=https%3A%2F%2Fsqs.eu-west-1.amazonaws.com%2F404017989009%
|
54
|
+
string: Action=GetQueueAttributes&AttributeName.1=ApproximateNumberOfMessages&AttributeName.2=ApproximateNumberOfMessagesNotVisible&QueueUrl=https%3A%2F%2Fsqs.eu-west-1.amazonaws.com%2F404017989009%2Fstage_usage&Version=2012-11-05
|
55
55
|
headers:
|
56
56
|
Content-Type:
|
57
57
|
- application/x-www-form-urlencoded; charset=utf-8
|
@@ -60,14 +60,14 @@ http_interactions:
|
|
60
60
|
User-Agent:
|
61
61
|
- aws-sdk-ruby3/3.20.2 ruby/2.3.3 x86_64-darwin15 aws-sdk-sqs/1.3.0
|
62
62
|
X-Amz-Date:
|
63
|
-
-
|
63
|
+
- 20180517T135354Z
|
64
64
|
X-Amz-Content-Sha256:
|
65
|
-
-
|
65
|
+
- 96a6d2cb54f526d279e954a56182b68f10b0ee5e7a64bc951623176e816b2435
|
66
66
|
Authorization:
|
67
|
-
- AWS4-HMAC-SHA256 Credential=AKIAIXLDUBIDM74CC6KQ/
|
68
|
-
SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=
|
67
|
+
- AWS4-HMAC-SHA256 Credential=AKIAIXLDUBIDM74CC6KQ/20180517/eu-west-1/sqs/aws4_request,
|
68
|
+
SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=90fb080b0ba9bc6fe3181e653cbd8961faf5923a5bccd72e6edfb611f8297cb2
|
69
69
|
Content-Length:
|
70
|
-
- '
|
70
|
+
- '222'
|
71
71
|
Accept:
|
72
72
|
- "*/*"
|
73
73
|
response:
|
@@ -78,7 +78,7 @@ http_interactions:
|
|
78
78
|
Server:
|
79
79
|
- Server
|
80
80
|
Date:
|
81
|
-
-
|
81
|
+
- Thu, 17 May 2018 13:53:54 GMT
|
82
82
|
Content-Type:
|
83
83
|
- text/xml
|
84
84
|
Content-Length:
|
@@ -86,18 +86,18 @@ http_interactions:
|
|
86
86
|
Connection:
|
87
87
|
- keep-alive
|
88
88
|
X-Amzn-Requestid:
|
89
|
-
-
|
89
|
+
- c1a29456-465b-53ae-aebc-c721cde986e3
|
90
90
|
body:
|
91
91
|
encoding: UTF-8
|
92
|
-
string: <?xml version="1.0"?><GetQueueAttributesResponse xmlns="http://queue.amazonaws.com/doc/2012-11-05/"><GetQueueAttributesResult><Attribute><Name>ApproximateNumberOfMessages</Name><Value>0</Value></Attribute><Attribute><Name>ApproximateNumberOfMessagesNotVisible</Name><Value>0</Value></Attribute></GetQueueAttributesResult><ResponseMetadata><RequestId>
|
92
|
+
string: <?xml version="1.0"?><GetQueueAttributesResponse xmlns="http://queue.amazonaws.com/doc/2012-11-05/"><GetQueueAttributesResult><Attribute><Name>ApproximateNumberOfMessages</Name><Value>0</Value></Attribute><Attribute><Name>ApproximateNumberOfMessagesNotVisible</Name><Value>0</Value></Attribute></GetQueueAttributesResult><ResponseMetadata><RequestId>c1a29456-465b-53ae-aebc-c721cde986e3</RequestId></ResponseMetadata></GetQueueAttributesResponse>
|
93
93
|
http_version:
|
94
|
-
recorded_at:
|
94
|
+
recorded_at: Thu, 17 May 2018 13:53:54 GMT
|
95
95
|
- request:
|
96
96
|
method: post
|
97
97
|
uri: "<SLACK_WEBHOOK_URL>"
|
98
98
|
body:
|
99
99
|
encoding: US-ASCII
|
100
|
-
string: payload=%7B%22username%22%3A%22Event+Data+Agent%22%2C%22icon_url%22%3A%22https%3A%2F%2Fraw.githubusercontent.com%2Fdatacite%2Ftoccatore%2Fmaster%2Flib%2Ftoccatore%2Fimages%2Ftoccatore.png%22%2C%22attachments%22%3A%5B%7B%22title%22%3A%22Report+for+usage_update%22%2C%22text%22%3A%
|
100
|
+
string: payload=%7B%22username%22%3A%22Event+Data+Agent%22%2C%22icon_url%22%3A%22https%3A%2F%2Fraw.githubusercontent.com%2Fdatacite%2Ftoccatore%2Fmaster%2Flib%2Ftoccatore%2Fimages%2Ftoccatore.png%22%2C%22attachments%22%3A%5B%7B%22title%22%3A%22Report+for+usage_update%22%2C%22text%22%3A%220+works+processed+with+0+errors+for+Usage+Reports+Queue%22%2C%22color%22%3A%22warning%22%7D%5D%7D
|
101
101
|
headers:
|
102
102
|
Accept-Encoding:
|
103
103
|
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
@@ -119,7 +119,7 @@ http_interactions:
|
|
119
119
|
Connection:
|
120
120
|
- keep-alive
|
121
121
|
Date:
|
122
|
-
-
|
122
|
+
- Thu, 17 May 2018 13:53:54 GMT
|
123
123
|
Server:
|
124
124
|
- Apache
|
125
125
|
X-Slack-Backend:
|
@@ -135,16 +135,108 @@ http_interactions:
|
|
135
135
|
Access-Control-Allow-Origin:
|
136
136
|
- "*"
|
137
137
|
X-Via:
|
138
|
-
- haproxy-www-
|
138
|
+
- haproxy-www-7xdi
|
139
139
|
X-Cache:
|
140
140
|
- Miss from cloudfront
|
141
141
|
Via:
|
142
|
-
- 1.1
|
142
|
+
- 1.1 9bb7bac3df4ba5eb70e607f6fa98eab8.cloudfront.net (CloudFront)
|
143
143
|
X-Amz-Cf-Id:
|
144
|
-
-
|
144
|
+
- Upbb1emQ0p1Da2EjO_ivEA_ZY5XE3j2hqc39PamDfqGKQCian2SBKw==
|
145
145
|
body:
|
146
146
|
encoding: ASCII-8BIT
|
147
147
|
string: ok
|
148
148
|
http_version:
|
149
|
-
recorded_at:
|
149
|
+
recorded_at: Thu, 17 May 2018 13:53:54 GMT
|
150
|
+
- request:
|
151
|
+
method: post
|
152
|
+
uri: https://sqs.eu-west-1.amazonaws.com/
|
153
|
+
body:
|
154
|
+
encoding: UTF-8
|
155
|
+
string: Action=GetQueueUrl&QueueName=stage_usage&Version=2012-11-05
|
156
|
+
headers:
|
157
|
+
Content-Type:
|
158
|
+
- application/x-www-form-urlencoded; charset=utf-8
|
159
|
+
Accept-Encoding:
|
160
|
+
- ''
|
161
|
+
User-Agent:
|
162
|
+
- aws-sdk-ruby3/3.20.2 ruby/2.3.3 x86_64-darwin15 aws-sdk-sqs/1.3.0
|
163
|
+
X-Amz-Date:
|
164
|
+
- 20180517T135354Z
|
165
|
+
X-Amz-Content-Sha256:
|
166
|
+
- 5034a1b0b889e68da64b7a052e782d357595681cff3bfea21cac68581dec9836
|
167
|
+
Authorization:
|
168
|
+
- AWS4-HMAC-SHA256 Credential=AKIAIXLDUBIDM74CC6KQ/20180517/eu-west-1/sqs/aws4_request,
|
169
|
+
SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=62b57367ad5be273f2a3001f081487440a655bc427b12dbe22a5863e2454e8e3
|
170
|
+
Content-Length:
|
171
|
+
- '59'
|
172
|
+
Accept:
|
173
|
+
- "*/*"
|
174
|
+
response:
|
175
|
+
status:
|
176
|
+
code: 200
|
177
|
+
message: OK
|
178
|
+
headers:
|
179
|
+
Server:
|
180
|
+
- Server
|
181
|
+
Date:
|
182
|
+
- Thu, 17 May 2018 13:53:54 GMT
|
183
|
+
Content-Type:
|
184
|
+
- text/xml
|
185
|
+
Content-Length:
|
186
|
+
- '331'
|
187
|
+
Connection:
|
188
|
+
- keep-alive
|
189
|
+
X-Amzn-Requestid:
|
190
|
+
- c9b352e6-b1e8-5fd3-ac17-01913a5a2afc
|
191
|
+
body:
|
192
|
+
encoding: UTF-8
|
193
|
+
string: <?xml version="1.0"?><GetQueueUrlResponse xmlns="http://queue.amazonaws.com/doc/2012-11-05/"><GetQueueUrlResult><QueueUrl>https://sqs.eu-west-1.amazonaws.com/404017989009/stage_usage</QueueUrl></GetQueueUrlResult><ResponseMetadata><RequestId>c9b352e6-b1e8-5fd3-ac17-01913a5a2afc</RequestId></ResponseMetadata></GetQueueUrlResponse>
|
194
|
+
http_version:
|
195
|
+
recorded_at: Thu, 17 May 2018 13:53:54 GMT
|
196
|
+
- request:
|
197
|
+
method: post
|
198
|
+
uri: https://sqs.eu-west-1.amazonaws.com/404017989009/stage_usage
|
199
|
+
body:
|
200
|
+
encoding: UTF-8
|
201
|
+
string: Action=GetQueueAttributes&AttributeName.1=ApproximateNumberOfMessages&AttributeName.2=ApproximateNumberOfMessagesNotVisible&QueueUrl=https%3A%2F%2Fsqs.eu-west-1.amazonaws.com%2F404017989009%2Fstage_usage&Version=2012-11-05
|
202
|
+
headers:
|
203
|
+
Content-Type:
|
204
|
+
- application/x-www-form-urlencoded; charset=utf-8
|
205
|
+
Accept-Encoding:
|
206
|
+
- ''
|
207
|
+
User-Agent:
|
208
|
+
- aws-sdk-ruby3/3.20.2 ruby/2.3.3 x86_64-darwin15 aws-sdk-sqs/1.3.0
|
209
|
+
X-Amz-Date:
|
210
|
+
- 20180517T135354Z
|
211
|
+
X-Amz-Content-Sha256:
|
212
|
+
- 96a6d2cb54f526d279e954a56182b68f10b0ee5e7a64bc951623176e816b2435
|
213
|
+
Authorization:
|
214
|
+
- AWS4-HMAC-SHA256 Credential=AKIAIXLDUBIDM74CC6KQ/20180517/eu-west-1/sqs/aws4_request,
|
215
|
+
SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=90fb080b0ba9bc6fe3181e653cbd8961faf5923a5bccd72e6edfb611f8297cb2
|
216
|
+
Content-Length:
|
217
|
+
- '222'
|
218
|
+
Accept:
|
219
|
+
- "*/*"
|
220
|
+
response:
|
221
|
+
status:
|
222
|
+
code: 200
|
223
|
+
message: OK
|
224
|
+
headers:
|
225
|
+
Server:
|
226
|
+
- Server
|
227
|
+
Date:
|
228
|
+
- Thu, 17 May 2018 13:53:54 GMT
|
229
|
+
Content-Type:
|
230
|
+
- text/xml
|
231
|
+
Content-Length:
|
232
|
+
- '446'
|
233
|
+
Connection:
|
234
|
+
- keep-alive
|
235
|
+
X-Amzn-Requestid:
|
236
|
+
- 793887b1-401d-5680-9d0a-d4c6cbafdcc9
|
237
|
+
body:
|
238
|
+
encoding: UTF-8
|
239
|
+
string: <?xml version="1.0"?><GetQueueAttributesResponse xmlns="http://queue.amazonaws.com/doc/2012-11-05/"><GetQueueAttributesResult><Attribute><Name>ApproximateNumberOfMessages</Name><Value>0</Value></Attribute><Attribute><Name>ApproximateNumberOfMessagesNotVisible</Name><Value>0</Value></Attribute></GetQueueAttributesResult><ResponseMetadata><RequestId>793887b1-401d-5680-9d0a-d4c6cbafdcc9</RequestId></ResponseMetadata></GetQueueAttributesResponse>
|
240
|
+
http_version:
|
241
|
+
recorded_at: Thu, 17 May 2018 13:53:54 GMT
|
150
242
|
recorded_with: VCR 3.0.3
|