toccatore 0.4.6 → 0.4.7
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 +1 -1
- data/lib/toccatore/usage_update.rb +25 -14
- data/lib/toccatore/version.rb +1 -1
- data/spec/cli_spec.rb +1 -1
- data/spec/fixtures/events_empty.json +33 -0
- data/spec/fixtures/vcr_cassettes/Toccatore_UsageUpdate/get_data/when_there_are_messages/should_return_the_data_for_one_message.yml +4 -4
- data/spec/fixtures/vcr_cassettes/Toccatore_UsageUpdate/get_data/when_there_is_ONE_message/should_return_the_data_for_one_message.yml +4 -4
- data/spec/fixtures/vcr_cassettes/Toccatore_UsageUpdate/get_message/should_return_no_meessage_when_the_queue_is_empty.yml +15 -15
- data/spec/fixtures/vcr_cassettes/Toccatore_UsageUpdate/get_message/should_return_one_message_when_there_are_multiple_messages.yml +15 -15
- data/spec/fixtures/vcr_cassettes/Toccatore_UsageUpdate/get_total/when_is_working_with_AWS.yml +28 -28
- data/spec/fixtures/vcr_cassettes/Toccatore_UsageUpdate/push_data/should_fail_if_format_of_the_event_is_empty.yml +52 -0
- data/spec/fixtures/vcr_cassettes/Toccatore_UsageUpdate/push_data/should_fail_if_format_of_the_event_is_wrong.yml +225 -232
- data/spec/fixtures/vcr_cassettes/Toccatore_UsageUpdate/push_data/should_work_with_a_single_item.yml +5 -5
- data/spec/fixtures/vcr_cassettes/Toccatore_UsageUpdate/queue_url/should_return_always_correct_queue_url.yml +7 -7
- data/spec/usage_update_spec.rb +15 -8
- metadata +4 -2
data/spec/fixtures/vcr_cassettes/Toccatore_UsageUpdate/push_data/should_work_with_a_single_item.yml
CHANGED
@@ -21,7 +21,7 @@ http_interactions:
|
|
21
21
|
message: ''
|
22
22
|
headers:
|
23
23
|
Date:
|
24
|
-
-
|
24
|
+
- Sun, 27 May 2018 17:51:47 GMT
|
25
25
|
Content-Type:
|
26
26
|
- application/json; charset=UTF-8
|
27
27
|
Content-Length:
|
@@ -33,9 +33,9 @@ http_interactions:
|
|
33
33
|
Vary:
|
34
34
|
- Origin
|
35
35
|
X-Runtime:
|
36
|
-
- '0.
|
36
|
+
- '0.098917'
|
37
37
|
X-Request-Id:
|
38
|
-
-
|
38
|
+
- fe86a8de-1ac7-49f3-b63e-0b8c6b64d552
|
39
39
|
X-Powered-By:
|
40
40
|
- Phusion Passenger 5.3.1
|
41
41
|
Server:
|
@@ -46,7 +46,7 @@ http_interactions:
|
|
46
46
|
Mysql2::Error: Duplicate entry ''https://metrics.test.datacite.org/reports/2018-3-Dash-https://do''
|
47
47
|
for key ''index_events_on_multiple_columns'': UPDATE `events` SET `subj_id`
|
48
48
|
= ''https://metrics.test.datacite.org/reports/2018-3-Dash'', `source_token`
|
49
|
-
= ''43ba99ae-5cf0-11e8-9c2d-fa7ae01bbebc'', `updated_at` = ''2018-05-
|
49
|
+
= ''43ba99ae-5cf0-11e8-9c2d-fa7ae01bbebc'', `updated_at` = ''2018-05-27 17:51:46'',
|
50
50
|
`subj` = ''{\\\"pid\\\":\\\"https://metrics.test.datacite.org/reports/2018-3-Dash\\\",\\\"issued\\\":\\\"2128-04-09\\\"}''
|
51
51
|
WHERE `events`.`id` = 337\u003e","traces":{"Application Trace":[{"id":58,"trace":"app/controllers/events_controller.rb:30:in
|
52
52
|
`update''"}],"Framework Trace":[{"id":0,"trace":"vendor/bundle/ruby/2.4.0/gems/mysql2-0.4.10/lib/mysql2/client.rb:120:in
|
@@ -285,5 +285,5 @@ http_interactions:
|
|
285
285
|
`block (3 levels) in start_threads''"},{"id":117,"trace":"/usr/lib/ruby/vendor_ruby/phusion_passenger/utils.rb:113:in
|
286
286
|
`block in create_thread_and_abort_on_exception''"}]}}'
|
287
287
|
http_version:
|
288
|
-
recorded_at:
|
288
|
+
recorded_at: Sun, 27 May 2018 17:51:47 GMT
|
289
289
|
recorded_with: VCR 3.0.3
|
@@ -14,12 +14,12 @@ http_interactions:
|
|
14
14
|
User-Agent:
|
15
15
|
- aws-sdk-ruby3/3.21.2 ruby/2.3.3 x86_64-darwin15 aws-sdk-sqs/1.3.0
|
16
16
|
X-Amz-Date:
|
17
|
-
-
|
17
|
+
- 20180528T101149Z
|
18
18
|
X-Amz-Content-Sha256:
|
19
19
|
- 5761efd13dd0ed81182207171d3660628968189941431d6044920ef8fe7b1160
|
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/20180528/eu-west-1/sqs/aws4_request,
|
22
|
+
SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=27a47caa3eef618bb34d16a20b68bbd2e687dd9dfbd0a8916de116b4018715a8
|
23
23
|
Content-Length:
|
24
24
|
- '58'
|
25
25
|
Accept:
|
@@ -32,7 +32,7 @@ http_interactions:
|
|
32
32
|
Server:
|
33
33
|
- Server
|
34
34
|
Date:
|
35
|
-
-
|
35
|
+
- Mon, 28 May 2018 10:11:49 GMT
|
36
36
|
Content-Type:
|
37
37
|
- text/xml
|
38
38
|
Content-Length:
|
@@ -40,10 +40,10 @@ http_interactions:
|
|
40
40
|
Connection:
|
41
41
|
- keep-alive
|
42
42
|
X-Amzn-Requestid:
|
43
|
-
-
|
43
|
+
- 9f9d4e4a-0871-5085-ae8d-1dcfd054721c
|
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/test_usage</QueueUrl></GetQueueUrlResult><ResponseMetadata><RequestId>
|
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/test_usage</QueueUrl></GetQueueUrlResult><ResponseMetadata><RequestId>9f9d4e4a-0871-5085-ae8d-1dcfd054721c</RequestId></ResponseMetadata></GetQueueUrlResponse>
|
47
47
|
http_version:
|
48
|
-
recorded_at:
|
48
|
+
recorded_at: Mon, 28 May 2018 10:11:49 GMT
|
49
49
|
recorded_with: VCR 3.0.3
|
data/spec/usage_update_spec.rb
CHANGED
@@ -33,14 +33,14 @@ describe Toccatore::UsageUpdate, vcr: true do
|
|
33
33
|
end
|
34
34
|
end
|
35
35
|
|
36
|
-
context "when there are NOT messages" do
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
end
|
36
|
+
# context "when there are NOT messages" do
|
37
|
+
# it "should return empty" do
|
38
|
+
# sqs.stub_responses(:receive_message, messages: [])
|
39
|
+
# response = sqs.receive_message({queue_url: queue_url})
|
40
|
+
# response = subject.get_data(response)
|
41
|
+
# expect(response.body["errors"]).to eq("Queue is empty")
|
42
|
+
# end
|
43
|
+
# end
|
44
44
|
end
|
45
45
|
|
46
46
|
describe "parse_data" do
|
@@ -121,6 +121,13 @@ describe Toccatore::UsageUpdate, vcr: true do
|
|
121
121
|
expect(subject.push_data(result, options)).to eq(4)
|
122
122
|
end
|
123
123
|
|
124
|
+
it "should fail if format of the event is empty" do
|
125
|
+
body = File.read(fixture_path + 'events_empty.json')
|
126
|
+
result = JSON.parse(body)
|
127
|
+
options = { push_url: ENV['LAGOTTINO_URL'], access_token: ENV['ACCESS_TOKEN'], jsonapi: true }
|
128
|
+
expect(subject.push_data(result, options)).to eq(1)
|
129
|
+
end
|
130
|
+
|
124
131
|
# it "should work with DataCite Event Data 2" do
|
125
132
|
# dd = events.map {|event| event.to_h.stringify_keys}
|
126
133
|
# all_events = dd.map {|item| item.map{ |k, v| [k.dasherize, v] }.to_h}
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: toccatore
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Martin Fenner
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-05-
|
11
|
+
date: 2018-05-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: maremma
|
@@ -341,6 +341,7 @@ files:
|
|
341
341
|
- spec/fixtures/datacite_related_nil.json
|
342
342
|
- spec/fixtures/event_data_resp_1
|
343
343
|
- spec/fixtures/event_data_resp_2
|
344
|
+
- spec/fixtures/events_empty.json
|
344
345
|
- spec/fixtures/orcid_update.json
|
345
346
|
- spec/fixtures/orcid_update_is_identical.json
|
346
347
|
- spec/fixtures/orcid_update_is_part.json
|
@@ -396,6 +397,7 @@ files:
|
|
396
397
|
- spec/fixtures/vcr_cassettes/Toccatore_UsageUpdate/get_message/should_return_no_meessage_when_the_queue_is_empty.yml
|
397
398
|
- spec/fixtures/vcr_cassettes/Toccatore_UsageUpdate/get_message/should_return_one_message_when_there_are_multiple_messages.yml
|
398
399
|
- spec/fixtures/vcr_cassettes/Toccatore_UsageUpdate/get_total/when_is_working_with_AWS.yml
|
400
|
+
- spec/fixtures/vcr_cassettes/Toccatore_UsageUpdate/push_data/should_fail_if_format_of_the_event_is_empty.yml
|
399
401
|
- spec/fixtures/vcr_cassettes/Toccatore_UsageUpdate/push_data/should_fail_if_format_of_the_event_is_wrong.yml
|
400
402
|
- spec/fixtures/vcr_cassettes/Toccatore_UsageUpdate/push_data/should_work_with_a_single_item.yml
|
401
403
|
- spec/fixtures/vcr_cassettes/Toccatore_UsageUpdate/queue_url/should_return_always_correct_queue_url.yml
|