spotlight-dor-resources 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (25) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +17 -2
  3. data/.rubocop_todo.yml +1 -186
  4. data/app/models/spotlight/resources/dor_resource.rb +1 -0
  5. data/app/models/spotlight/resources/purl.rb +4 -4
  6. data/app/models/spotlight/resources/searchworks.rb +4 -5
  7. data/lib/spotlight/dor/indexer.rb +187 -125
  8. data/lib/spotlight/dor/resources.rb +19 -7
  9. data/lib/spotlight/dor/resources/engine.rb +3 -2
  10. data/lib/spotlight/dor/resources/version.rb +2 -1
  11. data/spec/integration/gdor_integration_spec.rb +9 -9
  12. data/spec/{unit → lib}/spotlight/dor/indexer_spec.rb +209 -10
  13. data/spec/models/spotlight/resources/purl_spec.rb +45 -39
  14. data/spec/models/spotlight/resources/searchworks_spec.rb +47 -44
  15. data/spec/vcr_cassettes/gdor_indexing_integration_test/{should_have_a_doc_id.yml → has_a_doc_id.yml} +60 -40
  16. data/spec/vcr_cassettes/gdor_indexing_integration_test/{should_have_spotlight_data.yml → has_exhibit-specific_indexing.yml} +48 -32
  17. data/spec/vcr_cassettes/gdor_indexing_integration_test/{should_have_the_gdor_data.yml → has_spotlight_data.yml} +48 -32
  18. data/spec/vcr_cassettes/gdor_indexing_integration_test/{should_have_exhibit-specific_indexing.yml → has_the_gdor_data.yml} +48 -32
  19. data/spotlight-dor-resources.gemspec +22 -22
  20. metadata +11 -21
  21. data/spec/integration/indexer_integration_spec.rb +0 -28
  22. data/spec/vcr_cassettes/indexer_integration_tests/donor_tags/no_donor_tags_ssim_field_in_solr_doc_when_note_displayLabel_Donor_tags_not_in_MODS.yml +0 -1382
  23. data/spec/vcr_cassettes/indexer_integration_tests/donor_tags/solr_doc_has_donor_tags_ssim_field_when_note_displayLabel_Donor_tags_is_in_MODS.yml +0 -1602
  24. data/spec/vcr_cassettes/indexer_integration_tests/genre/no_genre_ssim_field_when_genre_not_in_MODS.yml +0 -6822
  25. data/spec/vcr_cassettes/indexer_integration_tests/genre/solr_doc_has_genre_ssim_field_when_genre_in_MODS.yml +0 -1390
@@ -1,91 +1,94 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Spotlight::Resources::Searchworks do
4
-
5
4
  let :exhibit do
6
- double(solr_data: { }, blacklight_config: Blacklight::Configuration.new)
5
+ double(solr_data: {}, blacklight_config: Blacklight::Configuration.new)
7
6
  end
8
7
 
9
- subject { Spotlight::Resources::Searchworks.new url: "http://searchworks.stanford.edu/view/xf680rd3068" }
8
+ subject { described_class.new url: 'http://searchworks.stanford.edu/view/xf680rd3068' }
10
9
 
11
10
  before do
12
11
  allow(subject).to receive(:exhibit).and_return(exhibit)
13
12
  allow(subject).to receive(:to_global_id).and_return('x')
14
13
  end
15
14
 
16
- describe ".can_provide?" do
17
- subject { Spotlight::Resources::Searchworks }
18
- it "should be able to provide any searchworks URL" do
19
- expect(subject.can_provide?(double(url: "https://searchworks.stanford.edu/xyz"))).to eq true
20
- expect(subject.can_provide?(double(url: "http://searchworks.stanford.edu/xyz"))).to eq true
15
+ describe '.can_provide?' do
16
+ subject { described_class }
17
+ it 'is true for a searchworks URL' do
18
+ expect(subject.can_provide?(double(url: 'https://searchworks.stanford.edu/xyz'))).to eq true
19
+ expect(subject.can_provide?(double(url: 'http://searchworks.stanford.edu/xyz'))).to eq true
21
20
  end
22
- it "should also work with searchworks-test URLs" do
23
- expect(subject.can_provide?(double(url: "https://searchworks-test.stanford.edu/xyz"))).to eq true
24
- expect(subject.can_provide?(double(url: "http://searchworks-test.stanford.edu/xyz"))).to eq true
21
+ it 'is true for a searchworks-test URLs' do
22
+ expect(subject.can_provide?(double(url: 'https://searchworks-test.stanford.edu/xyz'))).to eq true
23
+ expect(subject.can_provide?(double(url: 'http://searchworks-test.stanford.edu/xyz'))).to eq true
24
+ end
25
+
26
+ it 'is false for a other URLs' do
27
+ expect(subject.can_provide?(double(url: 'https://example.comu/xyz'))).to eq false
25
28
  end
26
29
  end
27
-
28
- describe "#doc_id" do
29
- it "should be able to extract DRUIDs from a searchworks url" do
30
- subject.url = "http://searchworks.stanford.edu/view/xyz"
31
- expect(subject.doc_id).to eq "xyz"
30
+
31
+ describe '#doc_id' do
32
+ it 'extracts DRUIDs from a searchworks url' do
33
+ subject.url = 'http://searchworks.stanford.edu/view/xf680rd3068'
34
+ expect(subject.doc_id).to eq 'xf680rd3068'
32
35
  end
33
-
34
- it "should be able to extract DRUIDs from a searchworks format url" do
35
- subject.url = "http://searchworks.stanford.edu/view/xf680rd3068.xml"
36
- expect(subject.doc_id).to eq "xf680rd3068"
36
+
37
+ it 'extracts DRUIDs from a searchworks, format-specific url' do
38
+ subject.url = 'http://searchworks.stanford.edu/view/xf680rd3068.xml'
39
+ expect(subject.doc_id).to eq 'xf680rd3068'
37
40
  end
38
41
  end
39
-
40
- describe "#resource" do
41
- it "should be a Harvestdor::Indexer resource" do
42
+
43
+ describe '#resource' do
44
+ it 'is a Harvestdor::Indexer resource' do
42
45
  expect(subject.resource).to be_a_kind_of Harvestdor::Indexer::Resource
43
46
  end
44
-
45
- it "should have the correct druid" do
46
- expect(subject.resource.druid).to eq "xf680rd3068"
47
+
48
+ it 'has the correct druid' do
49
+ expect(subject.resource.druid).to eq 'xf680rd3068'
47
50
  end
48
-
49
- it "should have the correct indexer" do
51
+
52
+ it 'has the correct indexer' do
50
53
  expect(subject.resource.indexer).to eq Spotlight::Dor::Resources.indexer.harvestdor
51
54
  end
52
55
  end
53
-
54
- describe "#to_solr" do
56
+
57
+ describe '#to_solr' do
55
58
  before do
56
59
  allow(Spotlight::Dor::Resources.indexer).to receive(:solr_document)
57
60
  end
58
- context "with a collection" do
61
+ context 'with a collection' do
59
62
  before do
60
63
  allow(subject.resource).to receive(:collection?).and_return(true)
61
64
  end
62
-
63
- it "should provide a solr document for the collection" do
65
+
66
+ it 'provides a solr document for the collection' do
64
67
  allow(subject.resource).to receive(:items).and_return([])
65
- expect(Spotlight::Dor::Resources.indexer).to receive(:solr_document).with(subject.resource).and_return({upstream: true})
68
+ expect(Spotlight::Dor::Resources.indexer).to receive(:solr_document).with(subject.resource).and_return(upstream: true)
66
69
  expect(subject.to_solr.first).to include :upstream, :spotlight_resource_id_ssim, :spotlight_resource_type_ssim
67
70
  end
68
-
69
- it "should provide a solr document for the items too" do
71
+
72
+ it 'provides a solr document for the items too' do
70
73
  item = double
71
74
  allow(subject.resource).to receive(:items).and_return([item])
72
- expect(Spotlight::Dor::Resources.indexer).to receive(:solr_document).with(subject.resource).and_return({collection: true})
73
- expect(Spotlight::Dor::Resources.indexer).to receive(:solr_document).with(item).and_return({item: true})
75
+ expect(Spotlight::Dor::Resources.indexer).to receive(:solr_document).with(subject.resource).and_return(collection: true)
76
+ expect(Spotlight::Dor::Resources.indexer).to receive(:solr_document).with(item).and_return(item: true)
74
77
  solr_doc = subject.to_solr.to_a
75
78
  expect(solr_doc.first).to include :collection
76
79
  expect(solr_doc.last).to include :item
77
80
  end
78
81
  end
79
-
80
- context "with a single item" do
82
+
83
+ context 'with a single item' do
81
84
  before do
82
85
  allow(subject.resource).to receive(:collection?).and_return(false)
83
86
  end
84
-
85
- it "should provide a solr document for the resource" do
86
- expect(Spotlight::Dor::Resources.indexer).to receive(:solr_document).with(subject.resource).and_return({upstream: true})
87
+
88
+ it 'provides a solr document for the resource' do
89
+ expect(Spotlight::Dor::Resources.indexer).to receive(:solr_document).with(subject.resource).and_return(upstream: true)
87
90
  expect(subject.to_solr.first).to include :upstream, :spotlight_resource_id_ssim, :spotlight_resource_type_ssim
88
91
  end
89
92
  end
90
93
  end
91
- end
94
+ end
@@ -19,7 +19,7 @@ http_interactions:
19
19
  message: OK
20
20
  headers:
21
21
  Date:
22
- - Thu, 22 Oct 2015 23:20:47 GMT
22
+ - Fri, 30 Oct 2015 14:05:58 GMT
23
23
  Server:
24
24
  - Apache/2.2.15 (CentOS)
25
25
  Cache-Control:
@@ -33,11 +33,13 @@ http_interactions:
33
33
  X-Content-Type-Options:
34
34
  - nosniff
35
35
  X-Runtime:
36
- - '0.008189'
36
+ - '0.009352'
37
37
  X-Request-Id:
38
- - 3886ebbf-a159-4ad1-a7a8-edf8b548de9e
38
+ - 85356f50-b67e-4b69-8b5f-6eafa322f5fd
39
39
  X-Powered-By:
40
40
  - Phusion Passenger 5.0.16
41
+ Strict-Transport-Security:
42
+ - max-age=31536000; includeSubDomains
41
43
  Last-Modified:
42
44
  - Fri, 24 Apr 2015 18:45:21 GMT
43
45
  Status:
@@ -127,7 +129,7 @@ http_interactions:
127
129
  <ReleaseData/>
128
130
  </publicObject>
129
131
  http_version:
130
- recorded_at: Thu, 22 Oct 2015 23:20:47 GMT
132
+ recorded_at: Fri, 30 Oct 2015 14:05:58 GMT
131
133
  - request:
132
134
  method: get
133
135
  uri: https://purl.stanford.edu/xf680rd3068.xml
@@ -147,7 +149,7 @@ http_interactions:
147
149
  message: OK
148
150
  headers:
149
151
  Date:
150
- - Thu, 22 Oct 2015 23:20:47 GMT
152
+ - Fri, 30 Oct 2015 14:05:58 GMT
151
153
  Server:
152
154
  - Apache/2.2.15 (CentOS)
153
155
  Cache-Control:
@@ -161,11 +163,13 @@ http_interactions:
161
163
  X-Content-Type-Options:
162
164
  - nosniff
163
165
  X-Runtime:
164
- - '0.005457'
166
+ - '0.003438'
165
167
  X-Request-Id:
166
- - ed77fbb6-ef18-474a-893b-045bc43591e9
168
+ - de993014-8374-4a85-a6bf-659e4c66996a
167
169
  X-Powered-By:
168
170
  - Phusion Passenger 5.0.16
171
+ Strict-Transport-Security:
172
+ - max-age=31536000; includeSubDomains
169
173
  Last-Modified:
170
174
  - Fri, 24 Apr 2015 18:45:21 GMT
171
175
  Status:
@@ -255,7 +259,7 @@ http_interactions:
255
259
  <ReleaseData/>
256
260
  </publicObject>
257
261
  http_version:
258
- recorded_at: Thu, 22 Oct 2015 23:20:47 GMT
262
+ recorded_at: Fri, 30 Oct 2015 14:05:58 GMT
259
263
  - request:
260
264
  method: get
261
265
  uri: https://purl.stanford.edu/xf680rd3068.xml
@@ -275,7 +279,7 @@ http_interactions:
275
279
  message: OK
276
280
  headers:
277
281
  Date:
278
- - Thu, 22 Oct 2015 23:20:47 GMT
282
+ - Fri, 30 Oct 2015 14:05:58 GMT
279
283
  Server:
280
284
  - Apache/2.2.15 (CentOS)
281
285
  Cache-Control:
@@ -289,11 +293,13 @@ http_interactions:
289
293
  X-Content-Type-Options:
290
294
  - nosniff
291
295
  X-Runtime:
292
- - '0.005407'
296
+ - '0.024469'
293
297
  X-Request-Id:
294
- - bc44490a-101c-4247-876f-b80df53fb5d7
298
+ - 55587aa0-8808-4d88-8401-5a23f146ab8b
295
299
  X-Powered-By:
296
300
  - Phusion Passenger 5.0.16
301
+ Strict-Transport-Security:
302
+ - max-age=31536000; includeSubDomains
297
303
  Last-Modified:
298
304
  - Fri, 24 Apr 2015 18:45:21 GMT
299
305
  Status:
@@ -383,7 +389,7 @@ http_interactions:
383
389
  <ReleaseData/>
384
390
  </publicObject>
385
391
  http_version:
386
- recorded_at: Thu, 22 Oct 2015 23:20:47 GMT
392
+ recorded_at: Fri, 30 Oct 2015 14:05:59 GMT
387
393
  - request:
388
394
  method: get
389
395
  uri: https://purl.stanford.edu/xf680rd3068.xml
@@ -403,7 +409,7 @@ http_interactions:
403
409
  message: OK
404
410
  headers:
405
411
  Date:
406
- - Thu, 22 Oct 2015 23:20:47 GMT
412
+ - Fri, 30 Oct 2015 14:05:59 GMT
407
413
  Server:
408
414
  - Apache/2.2.15 (CentOS)
409
415
  Cache-Control:
@@ -417,11 +423,13 @@ http_interactions:
417
423
  X-Content-Type-Options:
418
424
  - nosniff
419
425
  X-Runtime:
420
- - '0.008518'
426
+ - '0.007237'
421
427
  X-Request-Id:
422
- - 95c37214-324b-49c0-b8e7-d109a7435b33
428
+ - 39e44cd3-2775-4625-854e-20f5ff392066
423
429
  X-Powered-By:
424
430
  - Phusion Passenger 5.0.16
431
+ Strict-Transport-Security:
432
+ - max-age=31536000; includeSubDomains
425
433
  Last-Modified:
426
434
  - Fri, 24 Apr 2015 18:45:21 GMT
427
435
  Status:
@@ -511,7 +519,7 @@ http_interactions:
511
519
  <ReleaseData/>
512
520
  </publicObject>
513
521
  http_version:
514
- recorded_at: Thu, 22 Oct 2015 23:20:48 GMT
522
+ recorded_at: Fri, 30 Oct 2015 14:05:59 GMT
515
523
  - request:
516
524
  method: get
517
525
  uri: https://purl.stanford.edu/xf680rd3068.xml
@@ -531,7 +539,7 @@ http_interactions:
531
539
  message: OK
532
540
  headers:
533
541
  Date:
534
- - Thu, 22 Oct 2015 23:20:48 GMT
542
+ - Fri, 30 Oct 2015 14:05:59 GMT
535
543
  Server:
536
544
  - Apache/2.2.15 (CentOS)
537
545
  Cache-Control:
@@ -545,11 +553,13 @@ http_interactions:
545
553
  X-Content-Type-Options:
546
554
  - nosniff
547
555
  X-Runtime:
548
- - '0.012228'
556
+ - '0.003560'
549
557
  X-Request-Id:
550
- - f4b1f4ba-fca5-4ea5-b29d-81193bca64f3
558
+ - e88b1ad9-b3fe-48a2-9cde-4acabf72a28a
551
559
  X-Powered-By:
552
560
  - Phusion Passenger 5.0.16
561
+ Strict-Transport-Security:
562
+ - max-age=31536000; includeSubDomains
553
563
  Last-Modified:
554
564
  - Fri, 24 Apr 2015 18:45:21 GMT
555
565
  Status:
@@ -639,7 +649,7 @@ http_interactions:
639
649
  <ReleaseData/>
640
650
  </publicObject>
641
651
  http_version:
642
- recorded_at: Thu, 22 Oct 2015 23:20:48 GMT
652
+ recorded_at: Fri, 30 Oct 2015 14:05:59 GMT
643
653
  - request:
644
654
  method: get
645
655
  uri: https://purl.stanford.edu/xf680rd3068.xml
@@ -659,7 +669,7 @@ http_interactions:
659
669
  message: OK
660
670
  headers:
661
671
  Date:
662
- - Thu, 22 Oct 2015 23:20:48 GMT
672
+ - Fri, 30 Oct 2015 14:05:59 GMT
663
673
  Server:
664
674
  - Apache/2.2.15 (CentOS)
665
675
  Cache-Control:
@@ -673,11 +683,13 @@ http_interactions:
673
683
  X-Content-Type-Options:
674
684
  - nosniff
675
685
  X-Runtime:
676
- - '0.008612'
686
+ - '0.009015'
677
687
  X-Request-Id:
678
- - bb99b643-39c7-4130-a2e9-d116d55ccb36
688
+ - d68d239f-6660-49e5-a019-0e06dc70cde4
679
689
  X-Powered-By:
680
690
  - Phusion Passenger 5.0.16
691
+ Strict-Transport-Security:
692
+ - max-age=31536000; includeSubDomains
681
693
  Last-Modified:
682
694
  - Fri, 24 Apr 2015 18:45:21 GMT
683
695
  Status:
@@ -767,7 +779,7 @@ http_interactions:
767
779
  <ReleaseData/>
768
780
  </publicObject>
769
781
  http_version:
770
- recorded_at: Thu, 22 Oct 2015 23:20:48 GMT
782
+ recorded_at: Fri, 30 Oct 2015 14:05:59 GMT
771
783
  - request:
772
784
  method: get
773
785
  uri: https://purl.stanford.edu/xf680rd3068.mods
@@ -787,7 +799,7 @@ http_interactions:
787
799
  message: OK
788
800
  headers:
789
801
  Date:
790
- - Thu, 22 Oct 2015 23:20:48 GMT
802
+ - Fri, 30 Oct 2015 14:05:59 GMT
791
803
  Server:
792
804
  - Apache/2.2.15 (CentOS)
793
805
  Cache-Control:
@@ -801,11 +813,13 @@ http_interactions:
801
813
  X-Content-Type-Options:
802
814
  - nosniff
803
815
  X-Runtime:
804
- - '0.013649'
816
+ - '0.021499'
805
817
  X-Request-Id:
806
- - 4f90d1f9-0736-49a5-8cb5-a12dafe045c4
818
+ - 3a61c05b-7d28-411e-94bf-c7a493d2bb15
807
819
  X-Powered-By:
808
820
  - Phusion Passenger 5.0.16
821
+ Strict-Transport-Security:
822
+ - max-age=31536000; includeSubDomains
809
823
  Last-Modified:
810
824
  - Fri, 24 Apr 2015 18:45:21 GMT
811
825
  Status:
@@ -871,7 +885,7 @@ http_interactions:
871
885
  <accessCondition type="useAndReproduction">Property rights reside with the repository. Literary rights reside with the creators of the documents or their heirs. To obtain permission to publish or reproduce, please contact the Special Collections Public Services Librarian at speccollref@stanford.edu.</accessCondition>
872
886
  </mods>
873
887
  http_version:
874
- recorded_at: Thu, 22 Oct 2015 23:20:48 GMT
888
+ recorded_at: Fri, 30 Oct 2015 14:06:00 GMT
875
889
  - request:
876
890
  method: get
877
891
  uri: https://purl.stanford.edu/xf680rd3068.xml
@@ -891,7 +905,7 @@ http_interactions:
891
905
  message: OK
892
906
  headers:
893
907
  Date:
894
- - Thu, 22 Oct 2015 23:20:48 GMT
908
+ - Fri, 30 Oct 2015 14:06:00 GMT
895
909
  Server:
896
910
  - Apache/2.2.15 (CentOS)
897
911
  Cache-Control:
@@ -905,11 +919,13 @@ http_interactions:
905
919
  X-Content-Type-Options:
906
920
  - nosniff
907
921
  X-Runtime:
908
- - '0.007393'
922
+ - '0.013537'
909
923
  X-Request-Id:
910
- - e47efe44-0b4c-4809-bc60-6812a52cba2d
924
+ - da760230-9983-4cfa-ba90-59e3b85f715e
911
925
  X-Powered-By:
912
926
  - Phusion Passenger 5.0.16
927
+ Strict-Transport-Security:
928
+ - max-age=31536000; includeSubDomains
913
929
  Last-Modified:
914
930
  - Fri, 24 Apr 2015 18:45:21 GMT
915
931
  Status:
@@ -999,7 +1015,7 @@ http_interactions:
999
1015
  <ReleaseData/>
1000
1016
  </publicObject>
1001
1017
  http_version:
1002
- recorded_at: Thu, 22 Oct 2015 23:20:48 GMT
1018
+ recorded_at: Fri, 30 Oct 2015 14:06:00 GMT
1003
1019
  - request:
1004
1020
  method: get
1005
1021
  uri: https://purl.stanford.edu/sk373nx0013.xml
@@ -1019,7 +1035,7 @@ http_interactions:
1019
1035
  message: OK
1020
1036
  headers:
1021
1037
  Date:
1022
- - Thu, 22 Oct 2015 23:20:48 GMT
1038
+ - Fri, 30 Oct 2015 14:06:00 GMT
1023
1039
  Server:
1024
1040
  - Apache/2.2.15 (CentOS)
1025
1041
  Cache-Control:
@@ -1033,11 +1049,13 @@ http_interactions:
1033
1049
  X-Content-Type-Options:
1034
1050
  - nosniff
1035
1051
  X-Runtime:
1036
- - '0.022511'
1052
+ - '0.007240'
1037
1053
  X-Request-Id:
1038
- - 8730beb0-103b-4677-99ab-12f0fc2dbb82
1054
+ - 6e1be167-0868-48a2-8128-fb908e2a74f0
1039
1055
  X-Powered-By:
1040
1056
  - Phusion Passenger 5.0.16
1057
+ Strict-Transport-Security:
1058
+ - max-age=31536000; includeSubDomains
1041
1059
  Last-Modified:
1042
1060
  - Fri, 24 Apr 2015 18:41:27 GMT
1043
1061
  Status:
@@ -1098,7 +1116,7 @@ http_interactions:
1098
1116
  <ReleaseData/>
1099
1117
  </publicObject>
1100
1118
  http_version:
1101
- recorded_at: Thu, 22 Oct 2015 23:20:48 GMT
1119
+ recorded_at: Fri, 30 Oct 2015 14:06:00 GMT
1102
1120
  - request:
1103
1121
  method: get
1104
1122
  uri: https://purl.stanford.edu/sk373nx0013.xml
@@ -1118,7 +1136,7 @@ http_interactions:
1118
1136
  message: OK
1119
1137
  headers:
1120
1138
  Date:
1121
- - Thu, 22 Oct 2015 23:20:48 GMT
1139
+ - Fri, 30 Oct 2015 14:06:00 GMT
1122
1140
  Server:
1123
1141
  - Apache/2.2.15 (CentOS)
1124
1142
  Cache-Control:
@@ -1132,11 +1150,13 @@ http_interactions:
1132
1150
  X-Content-Type-Options:
1133
1151
  - nosniff
1134
1152
  X-Runtime:
1135
- - '0.009746'
1153
+ - '0.005477'
1136
1154
  X-Request-Id:
1137
- - 46031b73-4e51-4b3e-b9b2-a92e98b3b2ba
1155
+ - ebc9a403-3191-46c9-8c5f-cf545dd29e79
1138
1156
  X-Powered-By:
1139
1157
  - Phusion Passenger 5.0.16
1158
+ Strict-Transport-Security:
1159
+ - max-age=31536000; includeSubDomains
1140
1160
  Last-Modified:
1141
1161
  - Fri, 24 Apr 2015 18:41:27 GMT
1142
1162
  Status:
@@ -1197,5 +1217,5 @@ http_interactions:
1197
1217
  <ReleaseData/>
1198
1218
  </publicObject>
1199
1219
  http_version:
1200
- recorded_at: Thu, 22 Oct 2015 23:20:48 GMT
1220
+ recorded_at: Fri, 30 Oct 2015 14:06:00 GMT
1201
1221
  recorded_with: VCR 2.9.3