orcid_client 0.4.1 → 0.4.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (30) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +37 -23
  3. data/lib/orcid_client/version.rb +1 -1
  4. data/orcid_client.gemspec +2 -2
  5. data/spec/api_spec.rb +46 -46
  6. data/spec/fixtures/vcr_cassettes/OrcidClient/external_identifier/delete/should_delete_external_identifier.yml +15 -7
  7. data/spec/fixtures/vcr_cassettes/OrcidClient/external_identifier/post/should_create_external_identifier.yml +15 -11
  8. data/spec/fixtures/vcr_cassettes/OrcidClient/works/delete/should_delete_work.yml +15 -7
  9. data/spec/fixtures/vcr_cassettes/OrcidClient/works/get/should_get_works.yml +7 -7
  10. data/spec/fixtures/vcr_cassettes/OrcidClient/works/post/should_create_work.yml +96 -20
  11. data/spec/fixtures/vcr_cassettes/OrcidClient/works/put/should_update_work.yml +104 -65
  12. data/spec/fixtures/vcr_cassettes/OrcidClient_Notification/data.yml +91 -15
  13. data/spec/fixtures/vcr_cassettes/OrcidClient_Notification/schema/validates_data.yml +91 -15
  14. data/spec/fixtures/vcr_cassettes/OrcidClient_Notification/schema/validates_item_type_work.yml +66 -26
  15. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/contributors/literal.yml +363 -15
  16. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/contributors/multiple_titles.yml +16 -16
  17. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/contributors/valid.yml +91 -15
  18. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/contributors/with_ORCID_IDs.yml +18 -18
  19. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/data.yml +91 -15
  20. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/publication_date.yml +91 -15
  21. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/schema/validates_ORCID_IDs_for_contributors.yml +18 -18
  22. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/schema/validates_data.yml +91 -15
  23. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/schema/validates_work_from_DataCite_test_system.yml +186 -15
  24. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/schema/validates_work_type_data-set.yml +66 -26
  25. data/spec/fixtures/vcr_cassettes/OrcidClient_Work/user_example/fail/valid.yml +345 -0
  26. data/spec/work_spec.rb +16 -0
  27. metadata +8 -10
  28. data/spec/fixtures/vcr_cassettes/OrcidClient/notifications/delete/should_delete_notification.yml +0 -78
  29. data/spec/fixtures/vcr_cassettes/OrcidClient/notifications/get/should_get_notification.yml +0 -77
  30. data/spec/fixtures/vcr_cassettes/OrcidClient/notifications/post/should_create_notification.yml +0 -160
@@ -1,160 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: get
5
- uri: https://app.datacite.org/prefixes/10.5281
6
- body:
7
- encoding: US-ASCII
8
- string: ''
9
- headers:
10
- User-Agent:
11
- - Maremma 4.0.5 - https://github.com/datacite/maremma
12
- Accept:
13
- - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
14
- response:
15
- status:
16
- code: 200
17
- message: OK
18
- headers:
19
- Date:
20
- - Wed, 11 Apr 2018 20:53:37 GMT
21
- Content-Type:
22
- - application/vnd.api+json; charset=utf-8
23
- Connection:
24
- - keep-alive
25
- Status:
26
- - 200 OK
27
- X-Anonymous-Consumer:
28
- - 'true'
29
- Cache-Control:
30
- - max-age=0, private, must-revalidate
31
- Vary:
32
- - Accept-Encoding, Origin
33
- X-Request-Id:
34
- - a993096e-4a34-47aa-83f8-2dd75d5f9670
35
- Etag:
36
- - W/"3b41a01c57187b7335cf5546198aa22b"
37
- X-Runtime:
38
- - '0.012706'
39
- X-Powered-By:
40
- - Phusion Passenger 5.2.3
41
- Server:
42
- - nginx/1.12.2 + Phusion Passenger 5.2.3
43
- body:
44
- encoding: ASCII-8BIT
45
- string: !binary |-
46
- eyJkYXRhIjp7ImlkIjoiMTAuNTI4MSIsInR5cGUiOiJwcmVmaXhlcyIsImF0dHJpYnV0ZXMiOnsicmVnaXN0cmF0aW9uLWFnZW5jeSI6IkRhdGFDaXRlIiwiY3JlYXRlZCI6IjIwMTAtMDEtMDFUMDA6MDA6MDAuMDAwWiIsInVwZGF0ZWQiOm51bGx9LCJyZWxhdGlvbnNoaXBzIjp7ImNsaWVudHMiOnsiZGF0YSI6W3siaWQiOiJjZXJuLnplbm9kbyIsInR5cGUiOiJjbGllbnRzIn1dfSwicHJvdmlkZXJzIjp7ImRhdGEiOlt7ImlkIjoiY2VybiIsInR5cGUiOiJwcm92aWRlcnMifV19fX0sImluY2x1ZGVkIjpbeyJpZCI6ImNlcm4uemVub2RvIiwidHlwZSI6ImNsaWVudHMiLCJhdHRyaWJ1dGVzIjp7Im5hbWUiOiJaRU5PRE8gLSBSZXNlYXJjaC4gU2hhcmVkLiIsInN5bWJvbCI6IkNFUk4uWkVOT0RPIiwieWVhciI6MjAxMywiY29udGFjdC1uYW1lIjoiTGFycyBIb2xtIE5pZWxzZW4iLCJjb250YWN0LWVtYWlsIjoibGFycy5ob2xtLm5pZWxzZW5AY2Vybi5jaCIsImRvbWFpbnMiOiJvcGVuYWlyZS5jZXJuLmNoLHplbm9kby5vcmciLCJ1cmwiOm51bGwsImlzLWFjdGl2ZSI6dHJ1ZSwiaGFzLXBhc3N3b3JkIjp0cnVlLCJjcmVhdGVkIjoiMjAxMy0wMS0yOFQxMjowNzo0OFoiLCJ1cGRhdGVkIjoiMjAxOC0wNC0xMVQwMjozMDoxNFoifSwicmVsYXRpb25zaGlwcyI6eyJwcmVmaXhlcyI6eyJtZXRhIjp7fX0sInByb3ZpZGVyIjp7Im1ldGEiOnt9fSwicmVwb3NpdG9yeSI6eyJtZXRhIjp7fX19fSx7ImlkIjoiY2VybiIsInR5cGUiOiJwcm92aWRlcnMiLCJhdHRyaWJ1dGVzIjp7Im5hbWUiOiJDRVJOIC0gRXVyb3BlYW4gT3JnYW5pemF0aW9uIGZvciBOdWNsZWFyIFJlc2VhcmNoIiwic3ltYm9sIjoiQ0VSTiIsIndlYnNpdGUiOiJodHRwOi8vZG9pLndlYi5jZXJuLmNoLyIsImNvbnRhY3QtbmFtZSI6IlPDvG5qZSBEYWxsbWVpZXItVGllc3NlbiIsImNvbnRhY3QtZW1haWwiOiJzdW5qZS5kYWxsbWVpZXItdGllc3NlbkBjZXJuLmNoIiwicGhvbmUiOm51bGwsImRlc2NyaXB0aW9uIjoiQ0VSTiwgdGhlIEV1cm9wZWFuIE9yZ2FuaXphdGlvbiBmb3IgTnVjbGVhciBSZXNlYXJjaCwgaXMgdGhlIHdvcmxkJ3MgbGFyZ2VzdCBwYXJ0aWNsZSBwaHlzaWNzIGxhYm9yYXRvcnkuIEZvdW5kZWQgaW4gMTk1NCBhbmQgYmFzZWQgb24gdGhlIEZyYW5jby1Td2lzcyBib3JkZXIgbmVhciBHZW5ldmEsIGl0IHdhcyBvbmUgb2YgRXVyb3BlJ3MgZmlyc3Qgam9pbnQgdmVudHVyZXMgYW5kIG5vdyBoYXMgMjEgbWVtYmVyIHN0YXRlcyBhbmQgbW9yZSB0aGFuIDUwIGNvb3BlcmF0aW9uIGFncmVlbWVudHMgYW5kIHNjaWVudGlmaWMgY29udGFjdHMgd2l0aCBvdGhlciBjb3VudHJpZXMuXG5cbkF0IENFUk4sIHBoeXNpY2lzdHMgYW5kIGVuZ2luZWVycyBwcm9iZSB0aGUgZnVuZGFtZW50YWwgc3RydWN0dXJlIG9mIHRoZSB1bml2ZXJzZS4gVGhleSB1c2UgdGhlIHdvcmxkJ3MgbGFyZ2VzdCBhbmQgbW9zdCBjb21wbGV4IHNjaWVudGlmaWMgaW5zdHJ1bWVudCwgdGhlIExhcmdlIEhhZHJvbiBDb2xsaWRlciAoTEhDKSwgdG8gc3R1ZHkgdGhlIGJhc2ljIGNvbnN0aXR1ZW50cyBvZiBtYXR0ZXIuIFRoZSByZXN1bHRzIG9mIHRoZWlyIGV4cGVyaW1lbnRhbCBhbmQgdGhlb3JldGljYWwgd29yayBhcmUgcHVibGljbHkgYXZhaWxhYmxlIGZvbGxvd2luZyBDRVJOJ3MgT3BlbiBBY2Nlc3MgUG9saWN5LlxuXG5DRVJOIHNlcnZpY2VzIGltcGxlbWVudGluZyBET0lzIGFyZSBpdHMgaW5zdGl0dXRpb25hbCByZXBvc2l0b3J5IChDRFMsIENFUk4gRG9jdW1lbnQgU2VydmVyKTsgSU5TUElSRS1IRVAsIGEgZGlnaXRhbCBsaWJyYXJ5IGZvciB0aGUgZmllbGQgb2YgSGlnaC1FbmVyZ3kgUGh5c2ljcyBydW4gaW4gY29sbGFib3JhdGlvbiB3aXRoIG90aGVyIGluc3RpdHV0aW9uczsgb3IgdGhlIENFUk4gT3BlbiBEYXRhIFBvcnRhbCwgd2hpY2ggcHJvdmlkZXMgaGlnaCBsZXZlbCBhbmQgYW5hbHl6YWJsZSBkYXRhIGFuZCBzb2Z0d2FyZSBmcm9tIHRoZSBMSEMgZXhwZXJpbWVudHMuXG5cbkZ1cnRoZXJtb3JlLCBDRVJOIGlzIGFsc28gcHJvdmlkaW5nIERPSXMgdG8gWkVOT0RPLCBhIG11bHRpZGlzY2lwbGluYXJ5IGRhdGEgcmVwb3NpdG9yeSBmb3IgdGhlIOKAnGxvbmcgdGFpbOKAnSBvZiByZXNlYXJjaCByZXN1bHRzLiBJdCBhbGxvd3MgcmVzZWFyY2hlcnMgdG8gc2hhcmUgYW5kIHByZXNlcnZlIHRoZWlyIG91dHB1dCBpbmRlcGVuZGVudCBvZiBzaXplLCB0eXBlIG9mIG1hdGVyaWFsIG9yIGRpc2NpcGxpbmUuIiwiY291bnRyeSI6IkNIIiwibG9nby11cmwiOiJodHRwczovL2Fzc2V0cy5kYXRhY2l0ZS5vcmcvaW1hZ2VzL21lbWJlcnMvY2Vybi5wbmciLCJpbnN0aXR1dGlvbi10eXBlIjpudWxsLCJpcy1hY3RpdmUiOnRydWUsImhhcy1wYXNzd29yZCI6dHJ1ZSwiam9pbmVkIjoiMjAxNC0wMy0yNSIsImNyZWF0ZWQiOiIyMDE0LTA0LTEwVDEzOjQxOjQ0LjAwMFoiLCJ1cGRhdGVkIjoiMjAxOC0wNC0xMVQwMjoyNTo1MS4wMDBaIn0sInJlbGF0aW9uc2hpcHMiOnsiY2xpZW50cyI6eyJtZXRhIjp7fX0sInByZWZpeGVzIjp7Im1ldGEiOnt9fX19XX0=
47
- http_version:
48
- recorded_at: Wed, 11 Apr 2018 20:53:37 GMT
49
- - request:
50
- method: get
51
- uri: https://search.datacite.org/api?fl=doi,url,xml,state,allocator_symbol,datacentre_symbol,media,minted,updated&q=doi:10.5281/zenodo.59983&wt=json
52
- body:
53
- encoding: US-ASCII
54
- string: ''
55
- headers:
56
- User-Agent:
57
- - Maremma 4.0.5 - https://github.com/datacite/maremma
58
- Accept:
59
- - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
60
- response:
61
- status:
62
- code: 200
63
- message: OK
64
- headers:
65
- Date:
66
- - Wed, 11 Apr 2018 20:53:37 GMT
67
- Content-Type:
68
- - application/json;charset=UTF-8
69
- Connection:
70
- - keep-alive
71
- Server:
72
- - nginx/1.10.3 (Ubuntu)
73
- Access-Control-Allow-Origin:
74
- - "*"
75
- Access-Control-Allow-Methods:
76
- - GET, POST, PUT, DELETE, OPTIONS
77
- Access-Control-Allow-Headers:
78
- - DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range,Authorization
79
- Access-Control-Expose-Headers:
80
- - DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range,Authorization
81
- body:
82
- encoding: ASCII-8BIT
83
- string: '{"responseHeader":{"status":0,"QTime":0},"response":{"numFound":1,"start":0,"docs":[{"datacentre_symbol":"CERN.ZENODO","xml":"PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0ndXRmLTgnPz4KPHJlc291cmNlIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhtbG5zPSJodHRwOi8vZGF0YWNpdGUub3JnL3NjaGVtYS9rZXJuZWwtMyIgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vZGF0YWNpdGUub3JnL3NjaGVtYS9rZXJuZWwtMyBodHRwOi8vc2NoZW1hLmRhdGFjaXRlLm9yZy9tZXRhL2tlcm5lbC0zL21ldGFkYXRhLnhzZCI+CiAgPGlkZW50aWZpZXIgaWRlbnRpZmllclR5cGU9IkRPSSI+MTAuNTI4MS96ZW5vZG8uNTk5ODM8L2lkZW50aWZpZXI+CiAgPGNyZWF0b3JzPgogICAgPGNyZWF0b3I+CiAgICAgIDxjcmVhdG9yTmFtZT5NYXJ0aW4gRmVubmVyPC9jcmVhdG9yTmFtZT4KICAgICAgPGFmZmlsaWF0aW9uPkRhdGFDaXRlPC9hZmZpbGlhdGlvbj4KICAgIDwvY3JlYXRvcj4KICAgIDxjcmVhdG9yPgogICAgICA8Y3JlYXRvck5hbWU+R3VkbXVuZHVyIEEuIFRob3Jpc3NvbjwvY3JlYXRvck5hbWU+CiAgICA8L2NyZWF0b3I+CiAgICA8Y3JlYXRvcj4KICAgICAgPGNyZWF0b3JOYW1lPkVsZWFub3IgS2llZmVsIEhhZ2dlcnR5PC9jcmVhdG9yTmFtZT4KICAgIDwvY3JlYXRvcj4KICAgIDxjcmVhdG9yPgogICAgICA8Y3JlYXRvck5hbWU+QW51c2hhIFJhbmdhbmF0aGFuPC9jcmVhdG9yTmFtZT4KICAgIDwvY3JlYXRvcj4KICA8L2NyZWF0b3JzPgogIDx0aXRsZXM+CiAgICA8dGl0bGU+T21uaWF1dGgtT3JjaWQ6IFYuMS4xLjU8L3RpdGxlPgogIDwvdGl0bGVzPgogIDxwdWJsaXNoZXI+WmVub2RvPC9wdWJsaXNoZXI+CiAgPHB1YmxpY2F0aW9uWWVhcj4yMDE2PC9wdWJsaWNhdGlvblllYXI+CiAgPGRhdGVzPgogICAgPGRhdGUgZGF0ZVR5cGU9Iklzc3VlZCI+MjAxNi0wOC0xMTwvZGF0ZT4KICA8L2RhdGVzPgogIDxyZXNvdXJjZVR5cGUgcmVzb3VyY2VUeXBlR2VuZXJhbD0iU29mdHdhcmUiLz4KICA8cmVsYXRlZElkZW50aWZpZXJzPgogICAgPHJlbGF0ZWRJZGVudGlmaWVyIHJlbGF0ZWRJZGVudGlmaWVyVHlwZT0iVVJMIiByZWxhdGlvblR5cGU9IklzU3VwcGxlbWVudFRvIj5odHRwczovL2dpdGh1Yi5jb20vZGF0YWNpdGUvb21uaWF1dGgtb3JjaWQvdHJlZS92LjEuMS41PC9yZWxhdGVkSWRlbnRpZmllcj4KICAgIDxyZWxhdGVkSWRlbnRpZmllciByZWxhdGVkSWRlbnRpZmllclR5cGU9IkRPSSIgcmVsYXRpb25UeXBlPSJJc1BhcnRPZiI+MTAuNTI4MS96ZW5vZG8uNTkzNzIyPC9yZWxhdGVkSWRlbnRpZmllcj4KICA8L3JlbGF0ZWRJZGVudGlmaWVycz4KICA8cmlnaHRzTGlzdD4KICAgIDxyaWdodHMgcmlnaHRzVVJJPSJpbmZvOmV1LXJlcG8vc2VtYW50aWNzL29wZW5BY2Nlc3MiPk9wZW4gQWNjZXNzPC9yaWdodHM+CiAgPC9yaWdodHNMaXN0PgogIDxkZXNjcmlwdGlvbnM+CiAgICA8ZGVzY3JpcHRpb24gZGVzY3JpcHRpb25UeXBlPSJBYnN0cmFjdCI+Jmx0O3AmZ3Q7Jmx0O2EgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2RhdGFjaXRlL29tbmlhdXRoLW9yY2lkL3JlbGVhc2VzL3RhZy92LjEuMS41IiZndDtvbm1pYXV0aC1vcmNpZCAxLjEuNSZsdDsvYSZndDsgd2FzIHJlbGVhc2VkIG9uIEF1Z3VzdCAxMSwgMjAxNiB3aXRoIHRoZSBmb2xsb3dpbmcgY2hhbmdlczombHQ7L3AmZ3Q7CgombHQ7dWwmZ3Q7CiZsdDtsaSZndDtjb21wYXRpYmlsaXR5IHdpdGggb21uaWF1dGgtb2F1dGgyIDEuNC4wLiBUaGFua3MgdG8gcHVsbCByZXF1ZXN0ICZsdDthIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9kYXRhY2l0ZS9vbW5pYXV0aC1vcmNpZC9wdWxsLzciJmd0OyM3Jmx0Oy9hJmd0OyBieSAmbHQ7YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vZWxlYW5vcmFraCImZ3Q7ZWxlYW5vcmFraCZsdDsvYSZndDsuJmx0Oy9saSZndDsKJmx0Oy91bCZndDs8L2Rlc2NyaXB0aW9uPgogIDwvZGVzY3JpcHRpb25zPgo8L3Jlc291cmNlPgo=","allocator_symbol":"CERN","minted":"2016-08-11T04:47:51Z","state":"findable","updated":"2017-05-30T02:43:22Z","doi":"10.5281/ZENODO.59983"}]}}
84
-
85
- '
86
- http_version:
87
- recorded_at: Wed, 11 Apr 2018 20:53:37 GMT
88
- - request:
89
- method: post
90
- uri: https://api.sandbox.orcid.org/v2.1/0000-0001-6528-2027/notification-permission
91
- body:
92
- encoding: UTF-8
93
- string: |
94
- <?xml version="1.0" encoding="UTF-8"?>
95
- <notification:notification xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:common="http://www.orcid.org/ns/common" xmlns:notification="http://www.orcid.org/ns/notification" xsi:schemaLocation="http://www.orcid.org/ns/notification ../notification-permission-2.1.xsd">
96
- <notification:notification-type>permission</notification:notification-type>
97
- <notification:authorization-url>
98
- <notification:path>/oauth/authorize?client_id=<ORCID_CLIENT_ID>&amp;response_type=code&amp;scope=/read-limited%20/activities/update%20/person/update&amp;redirect_uri=http://localhost:8080/users/auth/orcid/callback</notification:path>
99
- <notification:host>sandbox.orcid.org</notification:host>
100
- </notification:authorization-url>
101
- <notification:notification-subject>Request to add a work</notification:notification-subject>
102
- <notification:notification-intro>This is an intro</notification:notification-intro>
103
- <notification:items>
104
- <notification:item>
105
- <notification:item-type>work</notification:item-type>
106
- <notification:item-name>Omniauth-Orcid: V.1.1.5</notification:item-name>
107
- <common:external-id>
108
- <common:external-id-type>doi</common:external-id-type>
109
- <common:external-id-value>10.5281/zenodo.59983</common:external-id-value>
110
- <common:external-id-relationship>self</common:external-id-relationship>
111
- </common:external-id>
112
- </notification:item>
113
- </notification:items>
114
- </notification:notification>
115
- headers:
116
- User-Agent:
117
- - Maremma 4.0.5 - https://github.com/datacite/maremma
118
- Content-Type:
119
- - application/vnd.orcid+xml
120
- Accept:
121
- - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
122
- Authorization:
123
- - Bearer <NOTIFICATION_ACCESS_TOKEN>
124
- response:
125
- status:
126
- code: 201
127
- message: Created
128
- headers:
129
- Server:
130
- - nginx/1.10.0
131
- Date:
132
- - Wed, 11 Apr 2018 20:53:37 GMT
133
- Content-Type:
134
- - application/vnd.orcid+xml; qs=5;charset=UTF-8
135
- Content-Length:
136
- - '0'
137
- Connection:
138
- - keep-alive
139
- Access-Control-Allow-Origin:
140
- - "*"
141
- Cache-Control:
142
- - no-cache, no-store, max-age=0, must-revalidate
143
- Pragma:
144
- - no-cache
145
- Expires:
146
- - '0'
147
- X-Xss-Protection:
148
- - 1; mode=block
149
- X-Frame-Options:
150
- - DENY
151
- X-Content-Type-Options:
152
- - nosniff
153
- Location:
154
- - http://api.sandbox.orcid.org:443/orcid-api-web/v2.1/0000-0001-6528-2027/notification-permission/292000
155
- body:
156
- encoding: ASCII-8BIT
157
- string: ''
158
- http_version:
159
- recorded_at: Wed, 11 Apr 2018 20:53:38 GMT
160
- recorded_with: VCR 4.0.0