orcid_client 0.2 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3b8c346014625fd0c0f489d0dccbc251b9564a29
4
- data.tar.gz: 9f8d24234b8728fea8188ac8269093ebb6d42ed9
3
+ metadata.gz: 12b2fc21cb92147d5a8e1de1b1e01477a87249f7
4
+ data.tar.gz: 6ccd0ca2d3ee093c69281dabb61a42c50ac4ff59
5
5
  SHA512:
6
- metadata.gz: 67fedbdd23664f78bbad586218d497d6c724c9af9ffd33cb88cfc963b9b4afd8d2a17d20fab4c7e35898ff995ee8838eab299cd3977340c3ca228a7f5e5423fa
7
- data.tar.gz: e4faa5a081cbcb9766f7fc0b6a220bacb5c85e5dabea44ba6ecfaf7e1a084bfe7b323b0812cc15f57b9e0e61825f4b1174dbaf47f9ced8b29ecf649ba8cf1d1b
6
+ metadata.gz: 9092ec06f1d44f46393a0e34e1137c4217d99c448604f91fb73957728fbd2fb349e1faec163c05c7f6959d87ccc8522660499aff0fefd52c108fe2e8375b0f69
7
+ data.tar.gz: f6012a2d508cbf3b9531247458a71192edc17ed93a0364156728c08ca8b076ea7f9cdc27694b586f66ef00b3b84e1023581655d9c6a7e174fad32f209a63e448
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- orcid_client (0.2)
4
+ orcid_client (0.2.1)
5
5
  activesupport (~> 4.2, >= 4.2.5)
6
6
  builder (~> 3.2, >= 3.2.2)
7
7
  dotenv (~> 2.1, >= 2.1.1)
@@ -60,6 +60,16 @@ module OrcidClient
60
60
  response
61
61
  end
62
62
 
63
+ def delete_external_identifier(options={})
64
+ return OpenStruct.new(body: { "errors" => [{ "title" => "Access token missing" }] }) unless access_token.present?
65
+ return OpenStruct.new(body: { "errors" => [{ "title" => "Put code missing" }] }) unless put_code.present?
66
+
67
+ orcid_api_url = options[:sandbox] ? 'https://api.sandbox.orcid.org' : 'https://api.orcid.org'
68
+
69
+ url = "#{orcid_api_url}/v#{API_VERSION}/#{orcid}/external-identifiers/#{put_code}"
70
+ response = Maremma.delete(url, content_type: 'application/vnd.orcid+xml', bearer: access_token)
71
+ end
72
+
63
73
  def get_notification_access_token(client_id:, client_secret:, **options)
64
74
  orcid_api_url = options[:sandbox] ? 'https://api.sandbox.orcid.org' : 'https://api.orcid.org'
65
75
 
@@ -1,3 +1,3 @@
1
1
  module OrcidClient
2
- VERSION = "0.2"
2
+ VERSION = "0.2.1"
3
3
  end
data/spec/api_spec.rb CHANGED
@@ -74,6 +74,8 @@ describe OrcidClient, vcr: true do
74
74
  end
75
75
 
76
76
  describe "external_identifier", :order => :defined do
77
+ subject { OrcidClient::ExternalIdentifier.new(type: "GitHub", value: "mfenner", url: "https://github.com/mfenner", orcid: orcid, access_token: access_token, put_code: "3316") }
78
+
77
79
  describe 'post' do
78
80
  subject { OrcidClient::ExternalIdentifier.new(type: "GitHub", value: "mfenner", url: "https://github.com/mfenner", orcid: orcid, access_token: access_token) }
79
81
 
@@ -89,6 +91,21 @@ describe OrcidClient, vcr: true do
89
91
  expect(response.body).to eq("errors"=>[{"title"=>"Access token missing"}])
90
92
  end
91
93
  end
94
+
95
+ describe 'delete' do
96
+ it 'should delete external_identifier' do
97
+ response = subject.delete_external_identifier(sandbox: true)
98
+ expect(response.body["data"]).to be_blank
99
+ expect(response.body["errors"]).to be_nil
100
+ expect(response.status).to eq(204)
101
+ end
102
+
103
+ it 'access_token missing' do
104
+ subject = OrcidClient::ExternalIdentifier.new(type: "GitHub", value: "mfenner", url: "https://github.com/mfenner", orcid: orcid, access_token: nil)
105
+ response = subject.delete_external_identifier(sandbox: true)
106
+ expect(response.body).to eq("errors"=>[{"title"=>"Access token missing"}])
107
+ end
108
+ end
92
109
  end
93
110
 
94
111
  describe "notifications", :order => :defined do
@@ -0,0 +1,38 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: delete
5
+ uri: https://api.sandbox.orcid.org/v2.0_rc3/0000-0001-6528-2027/external-identifiers/3316
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Maremma - https://github.com/datacite/maremma
12
+ Content-Type:
13
+ - application/vnd.orcid+xml
14
+ Accept:
15
+ - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
16
+ Authorization:
17
+ - Bearer <ACCESS_TOKEN>
18
+ response:
19
+ status:
20
+ code: 204
21
+ message: ''
22
+ headers:
23
+ Server:
24
+ - nginx/1.4.6 (Ubuntu)
25
+ Date:
26
+ - Sun, 27 Nov 2016 09:57:07 GMT
27
+ Content-Type:
28
+ - application/vnd.orcid+xml; qs=5;charset=UTF-8
29
+ Connection:
30
+ - keep-alive
31
+ Access-Control-Allow-Origin:
32
+ - "*"
33
+ body:
34
+ encoding: UTF-8
35
+ string: ''
36
+ http_version:
37
+ recorded_at: Sun, 27 Nov 2016 09:57:07 GMT
38
+ recorded_with: VCR 3.0.3
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: orcid_client
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.2'
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Martin Fenner
@@ -345,6 +345,7 @@ files:
345
345
  - spec/api_spec.rb
346
346
  - spec/external_identifier_spec.rb
347
347
  - spec/fixtures/external_identifier.xml
348
+ - spec/fixtures/vcr_cassettes/OrcidClient/external_identifier/delete/should_delete_external_identifier.yml
348
349
  - spec/fixtures/vcr_cassettes/OrcidClient/external_identifier/post/should_create_external_identifier.yml
349
350
  - spec/fixtures/vcr_cassettes/OrcidClient/notifications/delete/should_delete_notification.yml
350
351
  - spec/fixtures/vcr_cassettes/OrcidClient/notifications/get/should_get_notification.yml