borrow_direct 1.1.0 → 1.2.0.pre1

Sign up to get free protection for your applications and to get access to all the features.
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