borrow_direct 1.1.0 → 1.2.0.pre1

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.
Files changed (91) hide show
  1. checksums.yaml +5 -13
  2. data/.travis.yml +6 -0
  3. data/Gemfile +2 -0
  4. data/README.md +19 -6
  5. data/bd_metrics/finditem_measure.rb +8 -1
  6. data/borrow_direct.gemspec +1 -1
  7. data/lib/borrow_direct/authentication.rb +16 -8
  8. data/lib/borrow_direct/defaults.rb +4 -1
  9. data/lib/borrow_direct/encryption.rb +34 -0
  10. data/lib/borrow_direct/error.rb +17 -0
  11. data/lib/borrow_direct/find_item.rb +32 -18
  12. data/lib/borrow_direct/pickup_location.rb +32 -0
  13. data/lib/borrow_direct/request.rb +30 -8
  14. data/lib/borrow_direct/request_item.rb +15 -7
  15. data/lib/borrow_direct/request_query.rb +18 -4
  16. data/lib/borrow_direct/version.rb +1 -1
  17. data/test/authentication_test.rb +40 -12
  18. data/test/encryption_test.rb +58 -0
  19. data/test/find_item_test.rb +66 -11
  20. data/test/request_item_test.rb +65 -8
  21. data/test/request_query_test.rb +23 -27
  22. data/test/request_test.rb +40 -27
  23. data/test/test_helper.rb +10 -1
  24. data/test/vcr_cassettes/Authentication/Makes_a_request_succesfully.yml +11 -23
  25. data/test/vcr_cassettes/Authentication/Raises_for_bad_library_symbol.yml +12 -23
  26. data/test/vcr_cassettes/Authentication/Raises_for_bad_patron_barcode.yml +12 -24
  27. data/test/vcr_cassettes/Authentication/get_auth_id/Raises_for_bad_api_key.yml +41 -0
  28. data/test/vcr_cassettes/Authentication/get_auth_id/raises_for_a_bad_library_symbol.yml +12 -23
  29. data/test/vcr_cassettes/Authentication/get_auth_id/raises_for_a_bad_patron_barcode.yml +12 -24
  30. data/test/vcr_cassettes/Authentication/get_auth_id/returns_an_auth_id_for_a_good_request.yml +11 -23
  31. data/test/vcr_cassettes/Authentication/get_auth_id/returns_auth_id_with_API_key_from_defaults.yml +40 -0
  32. data/test/vcr_cassettes/Authentication/raw_request_to_verify_HTTP_api/works.yml +11 -23
  33. data/test/vcr_cassettes/FindItem/_find_item_request/Raises_with_bad_api_key.yml +41 -0
  34. data/test/vcr_cassettes/FindItem/_find_item_request/finds_a_locally_available_item.yml +47 -18
  35. data/test/vcr_cassettes/FindItem/_find_item_request/finds_a_requestable_item.yml +66 -18
  36. data/test/vcr_cassettes/FindItem/_find_item_request/finds_an_item_that_does_not_exist_in_BD.yml +66 -19
  37. data/test/vcr_cassettes/FindItem/_find_item_request/raises_proper_error_on_bad_AID.yml +40 -0
  38. data/test/vcr_cassettes/FindItem/_find_item_request/uses_manually_set_auth_id.yml +97 -0
  39. data/test/vcr_cassettes/FindItem/_find_item_request/with_expected_error_PUBFI002/returns_result.yml +46 -9
  40. data/test/vcr_cassettes/FindItem/_find_item_request/works_with_multiple_values.yml +66 -18
  41. data/test/vcr_cassettes/FindItem/find_with_Response/_pickup_location_data/returns_array_of_PickupLocations.yml +97 -0
  42. data/test/vcr_cassettes/FindItem/find_with_Response/has_an_auth_id.yml +66 -18
  43. data/test/vcr_cassettes/FindItem/find_with_Response/has_nil_pickup_locations_when_BD_doesn_t_want_to_give_us_them.yml +46 -9
  44. data/test/vcr_cassettes/FindItem/find_with_Response/has_pickup_locations.yml +66 -18
  45. data/test/vcr_cassettes/FindItem/find_with_Response/knows_locally_available_.yml +47 -18
  46. data/test/vcr_cassettes/FindItem/find_with_Response/not_requestable_for_item_that_BD_returns_PUBFI002.yml +46 -9
  47. data/test/vcr_cassettes/FindItem/find_with_Response/not_requestable_for_item_that_does_not_exist_in_BD.yml +46 -19
  48. data/test/vcr_cassettes/FindItem/find_with_Response/not_requestable_for_item_that_no_libraries_will_lend.yml +275 -18
  49. data/test/vcr_cassettes/FindItem/find_with_Response/not_requestable_for_locally_available_item.yml +47 -18
  50. data/test/vcr_cassettes/FindItem/find_with_Response/requestable_for_requestable_item.yml +66 -18
  51. data/test/vcr_cassettes/FindItem/find_with_Response/requestable_with_multiple_items_if_at_least_one_is_requestable.yml +66 -18
  52. data/test/vcr_cassettes/Request/authentication_id/automatically_fetches_one_when_needed.yml +47 -22
  53. data/test/vcr_cassettes/Request/authentication_id/can_refetch_when_instructed.yml +47 -22
  54. data/test/vcr_cassettes/Request/authentication_id/manually_set_one_will_be_used_without_fetch.yml +40 -0
  55. data/test/vcr_cassettes/Request/authentication_id/starts_out_nil.yml +40 -0
  56. data/test/vcr_cassettes/Request/authentication_id/takes_with_auth_id.yml +40 -0
  57. data/test/vcr_cassettes/Request/can_make_a_succesful_request_with_AID.yml +97 -0
  58. data/test/vcr_cassettes/Request/gets_BD_error_info.yml +49 -12
  59. data/test/vcr_cassettes/Request/gets_BD_error_info_from_a_bad_AID.yml +77 -0
  60. data/test/vcr_cassettes/Request/raises_exception_on_timeout_live.yml +40 -0
  61. data/test/vcr_cassettes/Request/raises_on_bad_path.yml +61 -24
  62. data/test/vcr_cassettes/Request/raises_on_bad_request_hash.yml +50 -35
  63. data/test/vcr_cassettes/Request/uses_timeout_for_HttpClient.yml +40 -0
  64. data/test/vcr_cassettes/Request/with_expected_errors/still_returns_result.yml +47 -10
  65. data/test/vcr_cassettes/RequestItem/make_request/make_request_for_a_locally_available_item.yml +21 -33
  66. data/test/vcr_cassettes/RequestItem/make_request/make_request_for_a_requestable_item.yml +20 -32
  67. data/test/vcr_cassettes/RequestItem/make_request/make_request_for_an_unrequestable_item.yml +21 -33
  68. data/test/vcr_cassettes/RequestItem/make_request/says_no_for_item_that_BD_returns_PUBRI003.yml +77 -0
  69. data/test/vcr_cassettes/RequestItem/make_request/sets_an_auth_id.yml +77 -0
  70. data/test/vcr_cassettes/RequestItem/make_request_/raises_for_unrequestable.yml +21 -33
  71. data/test/vcr_cassettes/RequestItem/make_request_/returns_number_for_succesful_request.yml +20 -32
  72. data/test/vcr_cassettes/RequestItem/raises_proper_error_on_bad_AID.yml +40 -0
  73. data/test/vcr_cassettes/RequestItem/raw_RequestItem_sanity_check.yml +134 -0
  74. data/test/vcr_cassettes/RequestItem/raw_requests_an_unrequestable_item.yml +21 -33
  75. data/test/vcr_cassettes/RequestItem/uses_manually_set_auth_id.yml +20 -32
  76. data/test/vcr_cassettes/RequestItem/with_pickup_location_and_requestable_item/works_with_String_pickup_location.yml +78 -0
  77. data/test/vcr_cassettes/RequestItem/with_pickup_location_and_requestable_item/works_with_structured_PickupLocation.yml +77 -0
  78. data/test/vcr_cassettes/RequestQuery/raises_proper_error_on_bad_AID.yml +40 -0
  79. data/test/vcr_cassettes/RequestQuery/raw_request_query_request/returns_results.yml +117 -325
  80. data/test/vcr_cassettes/RequestQuery/raw_request_to_verify_the_BD_HTTP_API.yml +30 -325
  81. data/test/vcr_cassettes/RequestQuery/requests/fetches_default_records.yml +117 -328
  82. data/test/vcr_cassettes/RequestQuery/requests/fetches_full_records.yml +148 -425
  83. metadata +67 -38
  84. data/test/vcr_cassettes/Authentication/raw_request_to_verify_HTTP_api/.yml +0 -52
  85. data/test/vcr_cassettes/FindItem/find_with_Response/has_nil_auth_id_when_BD_doesn_t_want_to_give_us_one.yml +0 -40
  86. data/test/vcr_cassettes/Request/can_make_a_succesful_request.yml +0 -49
  87. data/test/vcr_cassettes/RequestItem/make_request/raises_for_unrequestable.yml +0 -91
  88. data/test/vcr_cassettes/RequestItem/make_request/returns_number_for_succesful_request.yml +0 -89
  89. data/test/vcr_cassettes/RequestItem/make_request/says_no_for_item_that_BD_returns_PUBRI004.yml +0 -89
  90. data/test/vcr_cassettes/RequestItem/with_pickup_location_and_requestable_item/still_works.yml +0 -90
  91. data/test/vcr_cassettes/top_level_describe/an_inner_describe/.yml +0 -76
@@ -2,17 +2,17 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: post
5
- uri: https://bdtest.relais-host.com/portal-service/user/authentication/patron
5
+ uri: https://rc.relais-host.com/portal-service/user/authentication
6
6
  body:
7
7
  encoding: UTF-8
8
- string: ! '{"AuthenticationInformation":{"LibrarySymbol":"DUMMY_BD_LIBRARY_SYMBOL","PatronId":"DUMMY_BD_PATRON"}}'
8
+ string: '{"ApiKey":"DUMMY_BD_API_KEY","PartnershipId":"BD","UserGroup":"patron","LibrarySymbol":"DUMMY_BD_LIBRARY_SYMBOL","PatronId":"DUMMY_BD_PATRON"}'
9
9
  headers:
10
10
  User-Agent:
11
- - ruby borrow_direct gem 0.0.1 (HTTPClient 2.5.1) https://github.com/jrochkind/borrow_direct
11
+ - ruby borrow_direct gem 1.2.0 (HTTPClient 2.6.0.1) https://github.com/jrochkind/borrow_direct
12
12
  Accept:
13
- - ! '*/*'
13
+ - "*/*"
14
14
  Date:
15
- - Tue, 21 Oct 2014 17:05:22 GMT
15
+ - Thu, 15 Oct 2015 15:16:21 GMT
16
16
  Content-Type:
17
17
  - application/json
18
18
  Accept-Language:
@@ -25,43 +25,31 @@ http_interactions:
25
25
  Server:
26
26
  - nginx/1.4.1
27
27
  Date:
28
- - Tue, 21 Oct 2014 17:05:23 GMT
28
+ - Thu, 15 Oct 2015 15:16:22 GMT
29
29
  Content-Type:
30
30
  - application/json;charset=UTF-8
31
- Transfer-Encoding:
32
- - chunked
31
+ Content-Length:
32
+ - '269'
33
33
  Connection:
34
34
  - keep-alive
35
- Set-Cookie:
36
- - visited=yes
37
- Expires:
38
- - Thu, 01 Jan 1970 00:00:00 GMT
39
- - Thu, 01 Jan 1970 00:00:00 GMT
40
- Content-Language:
41
- - en
42
- Pragma:
43
- - no-cache
44
- Cache-Control:
45
- - no-cache, no-store, max-age=0
46
35
  body:
47
- encoding: US-ASCII
48
- string: ! '{"Authentication":{"AuthnUserInfo":{"AId":"nNQr6AMAFcDSMvvt95QKf7Cxvns","LibrarySymbol":"DUMMY_BD_LIBRARY_SYMBOL","Iso639_2_LangCode":"ENG","UserLogin":"DUMMY_BD_PATRON","FirstName":"Jonathan","LastName":"Rochkind","AllowLoanAddRequest":true,"AllowCopyAddRequest":false,"AllowSelDelivLoanChange":true,"AllowSelDelivCopyChange":false,"ILSProfile":{"EmailAddress":"jonathan@dnil.net","Telephone":"4105168886","AddressInformation":{"Address1":"Library
49
- Systems","Address2":"MSE Library\r\nHomewood Campus"}}}}}'
36
+ encoding: UTF-8
37
+ string: '{"AuthorizationId":"fOY7MeqFNVnY5KwQuiXVKDsJ4zM","LibrarySymbol":"DUMMY_BD_LIBRARY_SYMBOL","Iso639_2_LangCode":"ENG","FirstName":"Jonathan","LastName":"Rochkind","AllowLoanAddRequest":true,"AllowCopyAddRequest":false,"AllowSelDelivLoanChange":true,"AllowSelDelivCopyChange":false}'
50
38
  http_version:
51
- recorded_at: Tue, 21 Oct 2014 17:05:23 GMT
39
+ recorded_at: Thu, 15 Oct 2015 15:16:22 GMT
52
40
  - request:
53
41
  method: post
54
- uri: https://bdtest.relais-host.com/dws/item/add
42
+ uri: https://rc.relais-host.com/dws/item/add?aid=fOY7MeqFNVnY5KwQuiXVKDsJ4zM
55
43
  body:
56
44
  encoding: UTF-8
57
- string: ! '{"PartnershipId":"BD","AuthorizationId":"nNQr6AMAFcDSMvvt95QKf7Cxvns","PickupLocation":null,"ExactSearch":[{"Type":"ISBN","Value":"9797994864"}]}'
45
+ string: '{"PartnershipId":"BD","ExactSearch":[{"Type":"ISBN","Value":"9797994864"}]}'
58
46
  headers:
59
47
  User-Agent:
60
- - ruby borrow_direct gem 0.0.1 (HTTPClient 2.5.1) https://github.com/jrochkind/borrow_direct
48
+ - ruby borrow_direct gem 1.2.0 (HTTPClient 2.6.0.1) https://github.com/jrochkind/borrow_direct
61
49
  Accept:
62
- - ! '*/*'
50
+ - "*/*"
63
51
  Date:
64
- - Tue, 21 Oct 2014 17:05:23 GMT
52
+ - Thu, 15 Oct 2015 15:16:22 GMT
65
53
  Content-Type:
66
54
  - application/json
67
55
  Accept-Language:
@@ -74,7 +62,7 @@ http_interactions:
74
62
  Server:
75
63
  - nginx/1.4.1
76
64
  Date:
77
- - Tue, 21 Oct 2014 17:05:27 GMT
65
+ - Thu, 15 Oct 2015 15:16:27 GMT
78
66
  Content-Type:
79
67
  - application/json;charset=UTF-8
80
68
  Transfer-Encoding:
@@ -82,8 +70,8 @@ http_interactions:
82
70
  Connection:
83
71
  - keep-alive
84
72
  body:
85
- encoding: US-ASCII
86
- string: ! '{"Request":{"RequestNumber":"JHU-99000778"}}'
73
+ encoding: UTF-8
74
+ string: '{"RequestNumber":"JHU-99003185"}'
87
75
  http_version:
88
- recorded_at: Tue, 21 Oct 2014 17:05:27 GMT
76
+ recorded_at: Thu, 15 Oct 2015 15:16:27 GMT
89
77
  recorded_with: VCR 2.9.3
@@ -2,17 +2,17 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: post
5
- uri: https://bdtest.relais-host.com/portal-service/user/authentication/patron
5
+ uri: https://rc.relais-host.com/portal-service/user/authentication
6
6
  body:
7
7
  encoding: UTF-8
8
- string: ! '{"AuthenticationInformation":{"LibrarySymbol":"DUMMY_BD_LIBRARY_SYMBOL","PatronId":"DUMMY_BD_PATRON"}}'
8
+ string: '{"ApiKey":"DUMMY_BD_API_KEY","PartnershipId":"BD","UserGroup":"patron","LibrarySymbol":"DUMMY_BD_LIBRARY_SYMBOL","PatronId":"DUMMY_BD_PATRON"}'
9
9
  headers:
10
10
  User-Agent:
11
- - ruby borrow_direct gem 0.0.1 (HTTPClient 2.5.1) https://github.com/jrochkind/borrow_direct
11
+ - ruby borrow_direct gem 1.2.0 (HTTPClient 2.6.0.1) https://github.com/jrochkind/borrow_direct
12
12
  Accept:
13
- - ! '*/*'
13
+ - "*/*"
14
14
  Date:
15
- - Tue, 21 Oct 2014 17:05:18 GMT
15
+ - Thu, 15 Oct 2015 15:16:12 GMT
16
16
  Content-Type:
17
17
  - application/json
18
18
  Accept-Language:
@@ -25,43 +25,31 @@ http_interactions:
25
25
  Server:
26
26
  - nginx/1.4.1
27
27
  Date:
28
- - Tue, 21 Oct 2014 17:05:19 GMT
28
+ - Thu, 15 Oct 2015 15:16:13 GMT
29
29
  Content-Type:
30
30
  - application/json;charset=UTF-8
31
- Transfer-Encoding:
32
- - chunked
31
+ Content-Length:
32
+ - '269'
33
33
  Connection:
34
34
  - keep-alive
35
- Set-Cookie:
36
- - visited=yes
37
- Expires:
38
- - Thu, 01 Jan 1970 00:00:00 GMT
39
- - Thu, 01 Jan 1970 00:00:00 GMT
40
- Content-Language:
41
- - en
42
- Pragma:
43
- - no-cache
44
- Cache-Control:
45
- - no-cache, no-store, max-age=0
46
35
  body:
47
- encoding: US-ASCII
48
- string: ! '{"Authentication":{"AuthnUserInfo":{"AId":"Auq_bjv08rLoRua0xY7GvulZOD0","LibrarySymbol":"DUMMY_BD_LIBRARY_SYMBOL","Iso639_2_LangCode":"ENG","UserLogin":"DUMMY_BD_PATRON","FirstName":"Jonathan","LastName":"Rochkind","AllowLoanAddRequest":true,"AllowCopyAddRequest":false,"AllowSelDelivLoanChange":true,"AllowSelDelivCopyChange":false,"ILSProfile":{"EmailAddress":"jonathan@dnil.net","Telephone":"4105168886","AddressInformation":{"Address1":"Library
49
- Systems","Address2":"MSE Library\r\nHomewood Campus"}}}}}'
36
+ encoding: UTF-8
37
+ string: '{"AuthorizationId":"7n_XS-Lv_DYz9dXQr6uQX6Smdqc","LibrarySymbol":"DUMMY_BD_LIBRARY_SYMBOL","Iso639_2_LangCode":"ENG","FirstName":"Jonathan","LastName":"Rochkind","AllowLoanAddRequest":true,"AllowCopyAddRequest":false,"AllowSelDelivLoanChange":true,"AllowSelDelivCopyChange":false}'
50
38
  http_version:
51
- recorded_at: Tue, 21 Oct 2014 17:05:19 GMT
39
+ recorded_at: Thu, 15 Oct 2015 15:16:13 GMT
52
40
  - request:
53
41
  method: post
54
- uri: https://bdtest.relais-host.com/dws/item/add
42
+ uri: https://rc.relais-host.com/dws/item/add?aid=7n_XS-Lv_DYz9dXQr6uQX6Smdqc
55
43
  body:
56
44
  encoding: UTF-8
57
- string: ! '{"PartnershipId":"BD","AuthorizationId":"Auq_bjv08rLoRua0xY7GvulZOD0","PickupLocation":null,"ExactSearch":[{"Type":"ISBN","Value":"1441190090"}]}'
45
+ string: '{"PartnershipId":"BD","ExactSearch":[{"Type":"ISBN","Value":"1441190090"}]}'
58
46
  headers:
59
47
  User-Agent:
60
- - ruby borrow_direct gem 0.0.1 (HTTPClient 2.5.1) https://github.com/jrochkind/borrow_direct
48
+ - ruby borrow_direct gem 1.2.0 (HTTPClient 2.6.0.1) https://github.com/jrochkind/borrow_direct
61
49
  Accept:
62
- - ! '*/*'
50
+ - "*/*"
63
51
  Date:
64
- - Tue, 21 Oct 2014 17:05:19 GMT
52
+ - Thu, 15 Oct 2015 15:16:13 GMT
65
53
  Content-Type:
66
54
  - application/json
67
55
  Accept-Language:
@@ -74,7 +62,7 @@ http_interactions:
74
62
  Server:
75
63
  - nginx/1.4.1
76
64
  Date:
77
- - Tue, 21 Oct 2014 17:05:22 GMT
65
+ - Thu, 15 Oct 2015 15:16:16 GMT
78
66
  Content-Type:
79
67
  - application/json;charset=UTF-8
80
68
  Transfer-Encoding:
@@ -82,10 +70,10 @@ http_interactions:
82
70
  Connection:
83
71
  - keep-alive
84
72
  body:
85
- encoding: US-ASCII
86
- string: ! '{"Request":{"RequestLink":{"ButtonLabel":"Request","ButtonLink":"http://findit.library.jhu.edu/resolve?genre=book","RequestMessage":"Borrow
73
+ encoding: UTF-8
74
+ string: '{"RequestLink":{"ButtonLabel":"Request","ButtonLink":"http://findit.library.jhu.edu/resolve?genre=Book&sid=BD&HeldLocally=N&rft.title=Chomsky&rft.aufirst=John&rft.aulast=Collins&rft.date=%C2%A92008&rft.isbn=9781441190093%20%28electronic%20bk.%29\n&rft.isbn=1441190090%20%28electronic%20bk.%29&rft.dat=741691631&rft.pub=Continuum&rft.place=London%20%3B","RequestMessage":"Borrow
87
75
  Direct cannot fill this request at this time. Please request through Interlibrary
88
- Loan."}}}'
76
+ Loan."}}'
89
77
  http_version:
90
- recorded_at: Tue, 21 Oct 2014 17:05:22 GMT
78
+ recorded_at: Thu, 15 Oct 2015 15:16:16 GMT
91
79
  recorded_with: VCR 2.9.3
@@ -0,0 +1,77 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://rc.relais-host.com/portal-service/user/authentication
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"ApiKey":"DUMMY_BD_API_KEY","PartnershipId":"BD","UserGroup":"patron","LibrarySymbol":"DUMMY_BD_LIBRARY_SYMBOL","PatronId":"DUMMY_BD_PATRON"}'
9
+ headers:
10
+ User-Agent:
11
+ - ruby borrow_direct gem 1.2.0 (HTTPClient 2.6.0.1) https://github.com/jrochkind/borrow_direct
12
+ Accept:
13
+ - "*/*"
14
+ Date:
15
+ - Thu, 15 Oct 2015 15:16:34 GMT
16
+ Content-Type:
17
+ - application/json
18
+ Accept-Language:
19
+ - en
20
+ response:
21
+ status:
22
+ code: 200
23
+ message: OK
24
+ headers:
25
+ Server:
26
+ - nginx/1.4.1
27
+ Date:
28
+ - Thu, 15 Oct 2015 15:16:35 GMT
29
+ Content-Type:
30
+ - application/json;charset=UTF-8
31
+ Content-Length:
32
+ - '269'
33
+ Connection:
34
+ - keep-alive
35
+ body:
36
+ encoding: UTF-8
37
+ string: '{"AuthorizationId":"6XO78eM9JWcfszzWPMiI33j2lBk","LibrarySymbol":"DUMMY_BD_LIBRARY_SYMBOL","Iso639_2_LangCode":"ENG","FirstName":"Jonathan","LastName":"Rochkind","AllowLoanAddRequest":true,"AllowCopyAddRequest":false,"AllowSelDelivLoanChange":true,"AllowSelDelivCopyChange":false}'
38
+ http_version:
39
+ recorded_at: Thu, 15 Oct 2015 15:16:35 GMT
40
+ - request:
41
+ method: post
42
+ uri: https://rc.relais-host.com/dws/item/add?aid=6XO78eM9JWcfszzWPMiI33j2lBk
43
+ body:
44
+ encoding: UTF-8
45
+ string: '{"PartnershipId":"BD","ExactSearch":[{"Type":"ISBN","Value":"0109836413"}]}'
46
+ headers:
47
+ User-Agent:
48
+ - ruby borrow_direct gem 1.2.0 (HTTPClient 2.6.0.1) https://github.com/jrochkind/borrow_direct
49
+ Accept:
50
+ - "*/*"
51
+ Date:
52
+ - Thu, 15 Oct 2015 15:16:35 GMT
53
+ Content-Type:
54
+ - application/json
55
+ Accept-Language:
56
+ - en
57
+ response:
58
+ status:
59
+ code: 404
60
+ message: Not Found
61
+ headers:
62
+ Server:
63
+ - nginx/1.4.1
64
+ Date:
65
+ - Thu, 15 Oct 2015 15:16:40 GMT
66
+ Content-Type:
67
+ - application/json;charset=UTF-8
68
+ Transfer-Encoding:
69
+ - chunked
70
+ Connection:
71
+ - keep-alive
72
+ body:
73
+ encoding: UTF-8
74
+ string: '{"Problem":{"ErrorMessage":"No result","ErrorCode":"PUBRI003"}}'
75
+ http_version:
76
+ recorded_at: Thu, 15 Oct 2015 15:16:40 GMT
77
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,77 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://rc.relais-host.com/portal-service/user/authentication
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"ApiKey":"DUMMY_BD_API_KEY","PartnershipId":"BD","UserGroup":"patron","LibrarySymbol":"DUMMY_BD_LIBRARY_SYMBOL","PatronId":"DUMMY_BD_PATRON"}'
9
+ headers:
10
+ User-Agent:
11
+ - ruby borrow_direct gem 1.2.0 (HTTPClient 2.6.0.1) https://github.com/jrochkind/borrow_direct
12
+ Accept:
13
+ - "*/*"
14
+ Date:
15
+ - Thu, 15 Oct 2015 15:16:16 GMT
16
+ Content-Type:
17
+ - application/json
18
+ Accept-Language:
19
+ - en
20
+ response:
21
+ status:
22
+ code: 200
23
+ message: OK
24
+ headers:
25
+ Server:
26
+ - nginx/1.4.1
27
+ Date:
28
+ - Thu, 15 Oct 2015 15:16:17 GMT
29
+ Content-Type:
30
+ - application/json;charset=UTF-8
31
+ Content-Length:
32
+ - '269'
33
+ Connection:
34
+ - keep-alive
35
+ body:
36
+ encoding: UTF-8
37
+ string: '{"AuthorizationId":"trhiuM9qKvHoy6Mrqei1JtG6H3k","LibrarySymbol":"DUMMY_BD_LIBRARY_SYMBOL","Iso639_2_LangCode":"ENG","FirstName":"Jonathan","LastName":"Rochkind","AllowLoanAddRequest":true,"AllowCopyAddRequest":false,"AllowSelDelivLoanChange":true,"AllowSelDelivCopyChange":false}'
38
+ http_version:
39
+ recorded_at: Thu, 15 Oct 2015 15:16:17 GMT
40
+ - request:
41
+ method: post
42
+ uri: https://rc.relais-host.com/dws/item/add?aid=trhiuM9qKvHoy6Mrqei1JtG6H3k
43
+ body:
44
+ encoding: UTF-8
45
+ string: '{"PartnershipId":"BD","ExactSearch":[{"Type":"ISBN","Value":"9797994864"}]}'
46
+ headers:
47
+ User-Agent:
48
+ - ruby borrow_direct gem 1.2.0 (HTTPClient 2.6.0.1) https://github.com/jrochkind/borrow_direct
49
+ Accept:
50
+ - "*/*"
51
+ Date:
52
+ - Thu, 15 Oct 2015 15:16:17 GMT
53
+ Content-Type:
54
+ - application/json
55
+ Accept-Language:
56
+ - en
57
+ response:
58
+ status:
59
+ code: 200
60
+ message: OK
61
+ headers:
62
+ Server:
63
+ - nginx/1.4.1
64
+ Date:
65
+ - Thu, 15 Oct 2015 15:16:21 GMT
66
+ Content-Type:
67
+ - application/json;charset=UTF-8
68
+ Transfer-Encoding:
69
+ - chunked
70
+ Connection:
71
+ - keep-alive
72
+ body:
73
+ encoding: UTF-8
74
+ string: '{"RequestNumber":"JHU-99003184"}'
75
+ http_version:
76
+ recorded_at: Thu, 15 Oct 2015 15:16:21 GMT
77
+ recorded_with: VCR 2.9.3
@@ -2,17 +2,17 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: post
5
- uri: https://bdtest.relais-host.com/portal-service/user/authentication/patron
5
+ uri: https://rc.relais-host.com/portal-service/user/authentication
6
6
  body:
7
7
  encoding: UTF-8
8
- string: ! '{"AuthenticationInformation":{"LibrarySymbol":"DUMMY_BD_LIBRARY_SYMBOL","PatronId":"DUMMY_BD_PATRON"}}'
8
+ string: '{"ApiKey":"DUMMY_BD_API_KEY","PartnershipId":"BD","UserGroup":"patron","LibrarySymbol":"DUMMY_BD_LIBRARY_SYMBOL","PatronId":"DUMMY_BD_PATRON"}'
9
9
  headers:
10
10
  User-Agent:
11
- - ruby borrow_direct gem 0.9.0 (HTTPClient 2.5.3.1) https://github.com/jrochkind/borrow_direct
11
+ - ruby borrow_direct gem 1.2.0 (HTTPClient 2.6.0.1) https://github.com/jrochkind/borrow_direct
12
12
  Accept:
13
- - ! '*/*'
13
+ - "*/*"
14
14
  Date:
15
- - Wed, 05 Nov 2014 16:52:54 GMT
15
+ - Thu, 15 Oct 2015 15:15:33 GMT
16
16
  Content-Type:
17
17
  - application/json
18
18
  Accept-Language:
@@ -25,43 +25,31 @@ http_interactions:
25
25
  Server:
26
26
  - nginx/1.4.1
27
27
  Date:
28
- - Wed, 05 Nov 2014 16:52:55 GMT
28
+ - Thu, 15 Oct 2015 15:15:35 GMT
29
29
  Content-Type:
30
30
  - application/json;charset=UTF-8
31
- Transfer-Encoding:
32
- - chunked
31
+ Content-Length:
32
+ - '269'
33
33
  Connection:
34
34
  - keep-alive
35
- Set-Cookie:
36
- - visited=yes
37
- Expires:
38
- - Thu, 01 Jan 1970 00:00:00 GMT
39
- - Thu, 01 Jan 1970 00:00:00 GMT
40
- Content-Language:
41
- - en
42
- Pragma:
43
- - no-cache
44
- Cache-Control:
45
- - no-cache, no-store, max-age=0
46
35
  body:
47
- encoding: US-ASCII
48
- string: ! '{"Authentication":{"AuthnUserInfo":{"AId":"r6vckYjDR6PfQzuCiT5w2qT1VP0","LibrarySymbol":"DUMMY_BD_LIBRARY_SYMBOL","Iso639_2_LangCode":"ENG","UserLogin":"DUMMY_BD_PATRON","FirstName":"Jonathan","LastName":"Rochkind","AllowLoanAddRequest":true,"AllowCopyAddRequest":false,"AllowSelDelivLoanChange":true,"AllowSelDelivCopyChange":false,"ILSProfile":{"EmailAddress":"jonathan@dnil.net","Telephone":"4105168886","AddressInformation":{"Address1":"Library
49
- Systems","Address2":"MSE Library\r\nHomewood Campus"}}}}}'
36
+ encoding: UTF-8
37
+ string: '{"AuthorizationId":"NxWiwW5_gxKSlW5uo6rzUo2MwFY","LibrarySymbol":"DUMMY_BD_LIBRARY_SYMBOL","Iso639_2_LangCode":"ENG","FirstName":"Jonathan","LastName":"Rochkind","AllowLoanAddRequest":true,"AllowCopyAddRequest":false,"AllowSelDelivLoanChange":true,"AllowSelDelivCopyChange":false}'
50
38
  http_version:
51
- recorded_at: Wed, 05 Nov 2014 16:52:55 GMT
39
+ recorded_at: Thu, 15 Oct 2015 15:15:35 GMT
52
40
  - request:
53
41
  method: post
54
- uri: https://bdtest.relais-host.com/dws/item/add
42
+ uri: https://rc.relais-host.com/dws/item/add?aid=NxWiwW5_gxKSlW5uo6rzUo2MwFY
55
43
  body:
56
44
  encoding: UTF-8
57
- string: ! '{"PartnershipId":"BD","AuthorizationId":"r6vckYjDR6PfQzuCiT5w2qT1VP0","PickupLocation":null,"ExactSearch":[{"Type":"ISBN","Value":"1441190090"}]}'
45
+ string: '{"PartnershipId":"BD","ExactSearch":[{"Type":"ISBN","Value":"1441190090"}]}'
58
46
  headers:
59
47
  User-Agent:
60
- - ruby borrow_direct gem 0.9.0 (HTTPClient 2.5.3.1) https://github.com/jrochkind/borrow_direct
48
+ - ruby borrow_direct gem 1.2.0 (HTTPClient 2.6.0.1) https://github.com/jrochkind/borrow_direct
61
49
  Accept:
62
- - ! '*/*'
50
+ - "*/*"
63
51
  Date:
64
- - Wed, 05 Nov 2014 16:52:55 GMT
52
+ - Thu, 15 Oct 2015 15:15:35 GMT
65
53
  Content-Type:
66
54
  - application/json
67
55
  Accept-Language:
@@ -74,7 +62,7 @@ http_interactions:
74
62
  Server:
75
63
  - nginx/1.4.1
76
64
  Date:
77
- - Wed, 05 Nov 2014 16:52:58 GMT
65
+ - Thu, 15 Oct 2015 15:15:38 GMT
78
66
  Content-Type:
79
67
  - application/json;charset=UTF-8
80
68
  Transfer-Encoding:
@@ -82,10 +70,10 @@ http_interactions:
82
70
  Connection:
83
71
  - keep-alive
84
72
  body:
85
- encoding: US-ASCII
86
- string: ! '{"Request":{"RequestLink":{"ButtonLabel":"Request","ButtonLink":"http://findit.library.jhu.edu/resolve?genre=book","RequestMessage":"Borrow
73
+ encoding: UTF-8
74
+ string: '{"RequestLink":{"ButtonLabel":"Request","ButtonLink":"http://findit.library.jhu.edu/resolve?genre=Book&sid=BD&HeldLocally=N&rft.title=Chomsky&rft.aufirst=John&rft.aulast=Collins&rft.date=%C2%A92008&rft.isbn=9781441190093%20%28electronic%20bk.%29\n&rft.isbn=1441190090%20%28electronic%20bk.%29&rft.dat=741691631&rft.pub=Continuum&rft.place=London%20%3B","RequestMessage":"Borrow
87
75
  Direct cannot fill this request at this time. Please request through Interlibrary
88
- Loan."}}}'
76
+ Loan."}}'
89
77
  http_version:
90
- recorded_at: Wed, 05 Nov 2014 16:52:58 GMT
78
+ recorded_at: Thu, 15 Oct 2015 15:15:38 GMT
91
79
  recorded_with: VCR 2.9.3
@@ -2,17 +2,17 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: post
5
- uri: https://bdtest.relais-host.com/portal-service/user/authentication/patron
5
+ uri: https://rc.relais-host.com/portal-service/user/authentication
6
6
  body:
7
7
  encoding: UTF-8
8
- string: ! '{"AuthenticationInformation":{"LibrarySymbol":"DUMMY_BD_LIBRARY_SYMBOL","PatronId":"DUMMY_BD_PATRON"}}'
8
+ string: '{"ApiKey":"DUMMY_BD_API_KEY","PartnershipId":"BD","UserGroup":"patron","LibrarySymbol":"DUMMY_BD_LIBRARY_SYMBOL","PatronId":"DUMMY_BD_PATRON"}'
9
9
  headers:
10
10
  User-Agent:
11
- - ruby borrow_direct gem 0.9.0 (HTTPClient 2.5.3.1) https://github.com/jrochkind/borrow_direct
11
+ - ruby borrow_direct gem 1.2.0 (HTTPClient 2.6.0.1) https://github.com/jrochkind/borrow_direct
12
12
  Accept:
13
- - ! '*/*'
13
+ - "*/*"
14
14
  Date:
15
- - Wed, 05 Nov 2014 16:52:58 GMT
15
+ - Thu, 15 Oct 2015 15:15:38 GMT
16
16
  Content-Type:
17
17
  - application/json
18
18
  Accept-Language:
@@ -25,43 +25,31 @@ http_interactions:
25
25
  Server:
26
26
  - nginx/1.4.1
27
27
  Date:
28
- - Wed, 05 Nov 2014 16:52:59 GMT
28
+ - Thu, 15 Oct 2015 15:15:39 GMT
29
29
  Content-Type:
30
30
  - application/json;charset=UTF-8
31
- Transfer-Encoding:
32
- - chunked
31
+ Content-Length:
32
+ - '269'
33
33
  Connection:
34
34
  - keep-alive
35
- Set-Cookie:
36
- - visited=yes
37
- Expires:
38
- - Thu, 01 Jan 1970 00:00:00 GMT
39
- - Thu, 01 Jan 1970 00:00:00 GMT
40
- Content-Language:
41
- - en
42
- Pragma:
43
- - no-cache
44
- Cache-Control:
45
- - no-cache, no-store, max-age=0
46
35
  body:
47
- encoding: US-ASCII
48
- string: ! '{"Authentication":{"AuthnUserInfo":{"AId":"fe7zSp7Et_Nw5d5YYmIbR28sBTg","LibrarySymbol":"DUMMY_BD_LIBRARY_SYMBOL","Iso639_2_LangCode":"ENG","UserLogin":"DUMMY_BD_PATRON","FirstName":"Jonathan","LastName":"Rochkind","AllowLoanAddRequest":true,"AllowCopyAddRequest":false,"AllowSelDelivLoanChange":true,"AllowSelDelivCopyChange":false,"ILSProfile":{"EmailAddress":"jonathan@dnil.net","Telephone":"4105168886","AddressInformation":{"Address1":"Library
49
- Systems","Address2":"MSE Library\r\nHomewood Campus"}}}}}'
36
+ encoding: UTF-8
37
+ string: '{"AuthorizationId":"4tLsUw7AgOu1UPRGhvhcnXeCDhc","LibrarySymbol":"DUMMY_BD_LIBRARY_SYMBOL","Iso639_2_LangCode":"ENG","FirstName":"Jonathan","LastName":"Rochkind","AllowLoanAddRequest":true,"AllowCopyAddRequest":false,"AllowSelDelivLoanChange":true,"AllowSelDelivCopyChange":false}'
50
38
  http_version:
51
- recorded_at: Wed, 05 Nov 2014 16:52:59 GMT
39
+ recorded_at: Thu, 15 Oct 2015 15:15:39 GMT
52
40
  - request:
53
41
  method: post
54
- uri: https://bdtest.relais-host.com/dws/item/add
42
+ uri: https://rc.relais-host.com/dws/item/add?aid=4tLsUw7AgOu1UPRGhvhcnXeCDhc
55
43
  body:
56
44
  encoding: UTF-8
57
- string: ! '{"PartnershipId":"BD","AuthorizationId":"fe7zSp7Et_Nw5d5YYmIbR28sBTg","PickupLocation":null,"ExactSearch":[{"Type":"ISBN","Value":"9797994864"}]}'
45
+ string: '{"PartnershipId":"BD","ExactSearch":[{"Type":"ISBN","Value":"9797994864"}]}'
58
46
  headers:
59
47
  User-Agent:
60
- - ruby borrow_direct gem 0.9.0 (HTTPClient 2.5.3.1) https://github.com/jrochkind/borrow_direct
48
+ - ruby borrow_direct gem 1.2.0 (HTTPClient 2.6.0.1) https://github.com/jrochkind/borrow_direct
61
49
  Accept:
62
- - ! '*/*'
50
+ - "*/*"
63
51
  Date:
64
- - Wed, 05 Nov 2014 16:52:59 GMT
52
+ - Thu, 15 Oct 2015 15:15:39 GMT
65
53
  Content-Type:
66
54
  - application/json
67
55
  Accept-Language:
@@ -74,7 +62,7 @@ http_interactions:
74
62
  Server:
75
63
  - nginx/1.4.1
76
64
  Date:
77
- - Wed, 05 Nov 2014 16:53:04 GMT
65
+ - Thu, 15 Oct 2015 15:15:43 GMT
78
66
  Content-Type:
79
67
  - application/json;charset=UTF-8
80
68
  Transfer-Encoding:
@@ -82,8 +70,8 @@ http_interactions:
82
70
  Connection:
83
71
  - keep-alive
84
72
  body:
85
- encoding: US-ASCII
86
- string: ! '{"Request":{"RequestNumber":"JHU-99000794"}}'
73
+ encoding: UTF-8
74
+ string: '{"RequestNumber":"JHU-99003183"}'
87
75
  http_version:
88
- recorded_at: Wed, 05 Nov 2014 16:53:04 GMT
76
+ recorded_at: Thu, 15 Oct 2015 15:15:43 GMT
89
77
  recorded_with: VCR 2.9.3
@@ -0,0 +1,40 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://rc.relais-host.com/dws/item/add?aid=bad_expired_aid
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"PartnershipId":"BD","ExactSearch":[{"Type":"ISBN","Value":"9797994864"}]}'
9
+ headers:
10
+ User-Agent:
11
+ - ruby borrow_direct gem 1.2.0 (HTTPClient 2.6.0.1) https://github.com/jrochkind/borrow_direct
12
+ Accept:
13
+ - "*/*"
14
+ Date:
15
+ - Thu, 15 Oct 2015 15:14:13 GMT
16
+ Content-Type:
17
+ - application/json
18
+ Accept-Language:
19
+ - en
20
+ response:
21
+ status:
22
+ code: 401
23
+ message: Unauthorized
24
+ headers:
25
+ Server:
26
+ - nginx/1.4.1
27
+ Date:
28
+ - Thu, 15 Oct 2015 15:14:13 GMT
29
+ Content-Type:
30
+ - application/json;charset=UTF-8
31
+ Transfer-Encoding:
32
+ - chunked
33
+ Connection:
34
+ - keep-alive
35
+ body:
36
+ encoding: UTF-8
37
+ string: '{"Problem":{"ErrorMessage":"Invalid aid","ErrorCode":"PUBRI002"}}'
38
+ http_version:
39
+ recorded_at: Thu, 15 Oct 2015 15:14:13 GMT
40
+ recorded_with: VCR 2.9.3