europeana-api 0.3.2 → 0.3.3

Sign up to get free protection for your applications and to get access to all the features.
data/LICENSE.pdf DELETED
Binary file
@@ -1,13 +0,0 @@
1
- require 'spec_helper'
2
-
3
- module Europeana
4
- describe "Errors" do
5
- describe "MissingAPIKeyError" do
6
- subject { Europeana::Errors::MissingAPIKeyError.new }
7
-
8
- it "has an informative message" do
9
- expect(subject.message).to match("Missing API key.")
10
- end
11
- end
12
- end
13
- end
@@ -1,132 +0,0 @@
1
- require 'spec_helper'
2
-
3
- module Europeana
4
- describe Record do
5
- before(:each) do
6
- @api_key = "xyz"
7
- Europeana.api_key = @api_key
8
- @record_id = "/abc/1234"
9
- @params = { :callback => "doSomething();" }
10
- end
11
-
12
- describe "#new" do
13
- context "without record ID" do
14
- it "raises error" do
15
- expect { subject }.to raise_error(ArgumentError)
16
- end
17
- end
18
-
19
- context "with record ID" do
20
- context "without params" do
21
- subject { Europeana::Record.new(@record_id) }
22
-
23
- it "should not raise error" do
24
- expect { subject }.to_not raise_error
25
- end
26
-
27
- it "sets id attribute" do
28
- expect(subject.instance_variable_get(:@id)).to eq(@record_id)
29
- end
30
- end
31
-
32
- context "with params" do
33
- subject { Europeana::Record.new(@record_id, @params) }
34
-
35
- it "should not raise error" do
36
- expect { subject }.to_not raise_error
37
- end
38
-
39
- it "sets params attribute" do
40
- expect(subject.instance_variable_get(:@params)).to eq(@params)
41
- end
42
- end
43
- end
44
- end
45
-
46
- describe "#id" do
47
- subject { Europeana::Record.new(@record_id) }
48
- it "gets id attribute" do
49
- expect(subject.id).to eq(subject.instance_variable_get(:@id))
50
- end
51
- end
52
-
53
- describe "#id=" do
54
- subject { Europeana::Record.new(@record_id) }
55
-
56
- context "with valid ID" do
57
- it "sets id attribute" do
58
- subject.id = "/xyz/5678"
59
- expect(subject.instance_variable_get(:@id)).to eq("/xyz/5678")
60
- end
61
- end
62
-
63
- context "invalid ID" do
64
- it "raises error" do
65
- expect { subject.id = "invalid" }.to raise_error("Invalid Europeana record ID.")
66
-
67
- end
68
- end
69
-
70
- end
71
-
72
- describe "#params" do
73
- subject { Europeana::Record.new(@record_id, @params) }
74
- it "gets params attribute" do
75
- expect(subject.params).to eq(subject.instance_variable_get(:@params))
76
- end
77
- end
78
-
79
- describe "#params=" do
80
- subject { Europeana::Record.new(@record_id, {}) }
81
-
82
- context "valid params" do
83
- it "sets params attribute" do
84
- subject.params = @params
85
- expect(subject.instance_variable_get(:@params)).to eq(@params)
86
- end
87
- end
88
-
89
- it "validates param names" do
90
- expect { subject.params = { :invalid => "parameter" } }.to raise_error(/Unknown key: :?invalid/)
91
- end
92
- end
93
-
94
- describe "#params_with_authentication" do
95
- subject { Europeana::Record.new(@record_id, @params) }
96
-
97
- context "with API key" do
98
- it "adds API key to params" do
99
- expect(subject.params_with_authentication).to eq(@params.merge(:wskey => @api_key))
100
- end
101
- end
102
-
103
- context "without API key" do
104
- it "raises an error" do
105
- Europeana.api_key = nil
106
- expect { subject.params_with_authentication }.to raise_error(Europeana::Errors::MissingAPIKeyError)
107
- end
108
- end
109
- end
110
-
111
- describe "#request_uri" do
112
- subject { Europeana::Record.new(@record_id, @params) }
113
-
114
- it "returns a URI" do
115
- expect(subject.request_uri).to be_a(URI)
116
- end
117
-
118
- it "includes the record ID" do
119
- expect(subject.request_uri.to_s).to include(@record_id)
120
- end
121
-
122
- it "includes the query params" do
123
- expect(subject.request_uri.to_s).to include(@params.to_query)
124
- end
125
- end
126
-
127
- describe "#get" do
128
- subject { Europeana::Record.new(@record_id, @params).get }
129
- it_behaves_like "record request"
130
- end
131
- end
132
- end
@@ -1,92 +0,0 @@
1
- require 'spec_helper'
2
-
3
- module Europeana
4
- describe Search do
5
- before(:all) do
6
- @params = { :query => "test", :profile => "standard", :qf => "where:London", :rows => 100, :start => 1, :callback => "" }
7
- @api_key = "xyz"
8
- end
9
-
10
- before(:each) do
11
- Europeana.api_key = @api_key
12
- end
13
-
14
- describe "#new" do
15
- context "with no API request params" do
16
- subject { lambda { Europeana::Search.new } }
17
- it { should_not raise_error }
18
- end
19
-
20
- context "with API request params" do
21
- subject { Europeana::Search.new(@params) }
22
- it "should not raise error" do
23
- expect { subject }.not_to raise_error
24
- end
25
- it "stores the request params" do
26
- expect(subject.instance_variable_get(:@params)).to eq(@params)
27
- end
28
- end
29
- end
30
-
31
- describe "#params" do
32
- subject { Europeana::Search.new(@params) }
33
- it "gets params attribute" do
34
- expect(subject.params).to eq(@params)
35
- end
36
- end
37
-
38
- describe "#params=" do
39
- subject { Europeana::Search.new }
40
-
41
- context "valid params" do
42
- it "sets params attribute" do
43
- subject.params = @params
44
- expect(subject.instance_variable_get(:@params)).to eq(@params)
45
- end
46
- end
47
-
48
- it "validates param names" do
49
- expect { subject.params = { :invalid => "parameter" } }.to raise_error(/Unknown key: :?invalid/)
50
- end
51
- end
52
-
53
- describe "#request_uri" do
54
- it "returns a URI" do
55
- expect(subject.request_uri).to be_a(URI)
56
- end
57
-
58
- it "includes request params" do
59
- expect(subject.request_uri.to_s).to eq("http://www.europeana.eu/api/v2/search.json?query=&wskey=#{@api_key}")
60
- end
61
-
62
- it "handles Hash of qf params" do
63
- subject.params[:qf] = { :where => [ "London", "Paris" ], :what => "Photograph" }
64
- expect(subject.request_uri.to_s).to eq("http://www.europeana.eu/api/v2/search.json?query=&wskey=#{@api_key}&qf=where:London&qf=where:Paris&qf=what:Photograph")
65
- end
66
- end
67
-
68
- describe "#params_with_authentication" do
69
- subject { Europeana::Search.new }
70
-
71
- context "with API key" do
72
- it "adds API key to params" do
73
- subject.params = @params
74
- expect(subject.params_with_authentication).to eq(@params.merge(:wskey => @api_key))
75
- end
76
- end
77
-
78
- context "without API key" do
79
- it "raises an error" do
80
- subject.params = @params
81
- Europeana.api_key = nil
82
- expect { subject.params_with_authentication }.to raise_error(Europeana::Errors::MissingAPIKeyError)
83
- end
84
- end
85
- end
86
-
87
- describe "#execute" do
88
- subject { Europeana::Search.new(@params).execute }
89
- it_behaves_like "search request"
90
- end
91
- end
92
- end
@@ -1,81 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Europeana do
4
- before(:each) do
5
- Europeana.defaults!
6
- end
7
-
8
- describe "::URL" do
9
- it "returns 'http://www.europeana.eu/api/v2'" do
10
- expect(Europeana::URL).to eq("http://www.europeana.eu/api/v2")
11
- end
12
- end
13
-
14
- describe ".api_key=" do
15
- before(:all) do
16
- @api_key = "xyz"
17
- end
18
- it "sets the API key" do
19
- Europeana.api_key = @api_key
20
- expect(Europeana.instance_variable_get(:@api_key)).to eq(@api_key)
21
- end
22
- end
23
-
24
- describe ".api_key" do
25
- before(:all) do
26
- @api_key = "xyz"
27
- end
28
- it "gets the API key" do
29
- Europeana.instance_variable_set(:@api_key, @api_key)
30
- expect(Europeana.api_key).to eq(@api_key)
31
- end
32
- end
33
-
34
- describe ".max_retries" do
35
- it "defaults to 5" do
36
- expect(Europeana.max_retries).to eq(5)
37
- end
38
- end
39
-
40
- describe ".max_retries=" do
41
- it "sets the maximum number of retries" do
42
- Europeana.max_retries = 2
43
- expect(Europeana.max_retries).to eq(2)
44
- end
45
- end
46
-
47
- describe ".retry_delay" do
48
- it "defaults to 10" do
49
- expect(Europeana.retry_delay).to eq(10)
50
- end
51
- end
52
-
53
- describe ".retry_delay=" do
54
- it "sets the retry delay" do
55
- Europeana.retry_delay = 3
56
- expect(Europeana.retry_delay).to eq(3)
57
- end
58
- end
59
-
60
- describe ".defaults!" do
61
- it "sets retry delay to its default" do
62
- Europeana.retry_delay = 3
63
- expect { Europeana.defaults! }.to change { Europeana.retry_delay }.from(3).to(10)
64
- end
65
-
66
- it "sets max retries to its default" do
67
- Europeana.max_retries = 3
68
- expect { Europeana.defaults! }.to change { Europeana.max_retries }.from(3).to(5)
69
- end
70
- end
71
-
72
- describe ".search" do
73
- subject { Europeana.search(@params) }
74
- it_behaves_like "search request"
75
- end
76
-
77
- describe ".record" do
78
- subject { Europeana.record(@record_id, @params) }
79
- it_behaves_like "record request"
80
- end
81
- end