gds-api-adapters 36.4.1 → 37.0.0

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.
@@ -72,10 +72,12 @@ EOS
72
72
  assert_nil api.details_for_licence(nil)
73
73
  end
74
74
 
75
- def test_should_return_nil_if_licence_is_unrecognised
75
+ def test_should_raise_if_licence_is_unrecognised
76
76
  licence_does_not_exist('bloop')
77
77
 
78
- assert_nil api.details_for_licence("bloop")
78
+ assert_raises(GdsApi::HTTPNotFound) do
79
+ api.details_for_licence("bloop")
80
+ end
79
81
  end
80
82
 
81
83
  def test_should_provide_full_licence_details_for_canonical_id
@@ -90,16 +92,20 @@ EOS
90
92
  assert_equal expected, api.details_for_licence("590001").to_hash
91
93
  end
92
94
 
93
- def test_should_return_nil_for_bad_snac_code_entry
95
+ def test_should_raise_for_bad_snac_code_entry
94
96
  licence_does_not_exist('590001/bleep')
95
97
 
96
- assert_nil api.details_for_licence("590001", "bleep")
98
+ assert_raises(GdsApi::HTTPNotFound) do
99
+ api.details_for_licence("590001", "bleep")
100
+ end
97
101
  end
98
102
 
99
- def test_should_return_nil_for_bad_licence_id_and_snac_code
103
+ def test_should_raise_for_bad_licence_id_and_snac_code
100
104
  licence_does_not_exist('bloop/bleep')
101
105
 
102
- assert_nil api.details_for_licence("bloop", "bleep")
106
+ assert_raises(GdsApi::HTTPNotFound) do
107
+ api.details_for_licence("bloop", "bleep")
108
+ end
103
109
  end
104
110
 
105
111
  def test_should_return_error_message_to_pick_a_relevant_snac_code_for_the_provided_licence_id
@@ -108,7 +114,9 @@ EOS
108
114
  to_return(status: 404,
109
115
  body: "{\"error\": \"No authorities found for the licence 590001 and for the snacCode sw10\"}")
110
116
 
111
- assert_nil api.details_for_licence("590001", "sw10")
117
+ assert_raises(GdsApi::HTTPNotFound) do
118
+ api.details_for_licence("590001", "sw10")
119
+ end
112
120
  end
113
121
 
114
122
  def test_should_return_full_licence_details_with_location_specific_information
@@ -80,12 +80,27 @@ describe GdsApi::ListResponse do
80
80
  ]
81
81
  }
82
82
  }
83
- @p1_response = stub(:body => page_1.to_json, :status => 200,
84
- :headers => {:link => '<http://www.example.com/1>; rel="self", <http://www.example.com/2>; rel="next"'})
85
- @p2_response = stub(:body => page_2.to_json, :status => 200,
86
- :headers => {:link => '<http://www.example.com/2>; rel="self", <http://www.example.com/3>; rel="next", <http://www.example.com/1>; rel="previous"'})
87
- @p3_response = stub(:body => page_3.to_json, :status => 200,
88
- :headers => {:link => '<http://www.example.com/3>; rel="self", <http://www.example.com/1>; rel="previous"'})
83
+ @p1_response = stub(
84
+ body: page_1.to_json,
85
+ status: 200,
86
+ headers: {
87
+ link: '<http://www.example.com/1>; rel="self", <http://www.example.com/2>; rel="next"'
88
+ }
89
+ )
90
+ @p2_response = stub(
91
+ body: page_2.to_json,
92
+ status: 200,
93
+ headers: {
94
+ link: '<http://www.example.com/2>; rel="self", <http://www.example.com/3>; rel="next", <http://www.example.com/1>; rel="previous"'
95
+ }
96
+ )
97
+ @p3_response = stub(
98
+ body: page_3.to_json,
99
+ status: 200,
100
+ headers: {
101
+ link: '<http://www.example.com/3>; rel="self", <http://www.example.com/1>; rel="previous"'
102
+ }
103
+ )
89
104
 
90
105
  @client = stub()
91
106
  @client.stubs(:get_list!).with("http://www.example.com/1").returns(GdsApi::ListResponse.new(@p1_response, @client))
@@ -97,7 +112,7 @@ describe GdsApi::ListResponse do
97
112
  it "should allow accessing the next page" do
98
113
  resp = GdsApi::ListResponse.new(@p1_response, @client)
99
114
  assert resp.has_next_page?
100
- assert_equal %w(foo2 bar2), resp.next_page.results
115
+ assert_equal %w(foo2 bar2), resp.next_page['results']
101
116
  end
102
117
 
103
118
  it "should return nil with no next page" do
@@ -121,7 +136,7 @@ describe GdsApi::ListResponse do
121
136
  it "should allow accessing the previous page" do
122
137
  resp = GdsApi::ListResponse.new(@p2_response, @client)
123
138
  assert resp.has_previous_page?
124
- assert_equal %w(foo1 bar1), resp.previous_page.results
139
+ assert_equal %w(foo1 bar1), resp.previous_page['results']
125
140
  end
126
141
 
127
142
  it "should return nil with no previous page" do
@@ -145,25 +145,28 @@ describe GdsApi::LocalLinksManager do
145
145
  end
146
146
 
147
147
  describe "when making request with invalid required parameters" do
148
- it "returns nil when authority_slug is invalid" do
148
+ it "raises when authority_slug is invalid" do
149
149
  local_links_manager_does_not_have_required_objects("hogwarts", 2)
150
150
 
151
- response = @api.local_link("hogwarts", 2)
152
- assert_equal nil, response
151
+ assert_raises(GdsApi::HTTPNotFound) do
152
+ @api.local_link("hogwarts", 2)
153
+ end
153
154
  end
154
155
 
155
- it "returns nil when LGSL is invalid" do
156
+ it "raises when LGSL is invalid" do
156
157
  local_links_manager_does_not_have_required_objects("blackburn", 999)
157
158
 
158
- response = @api.local_link("blackburn", 999)
159
- assert_equal nil, response
159
+ assert_raises(GdsApi::HTTPNotFound) do
160
+ @api.local_link("blackburn", 999)
161
+ end
160
162
  end
161
163
 
162
- it "returns nil when the LGSL and LGIL combination is invalid" do
164
+ it "raises when the LGSL and LGIL combination is invalid" do
163
165
  local_links_manager_does_not_have_required_objects("blackburn", 2, 9)
164
166
 
165
- response = @api.local_link("blackburn", 2, 9)
166
- assert_equal nil, response
167
+ assert_raises(GdsApi::HTTPNotFound) do
168
+ @api.local_link("blackburn", 2, 9)
169
+ end
167
170
  end
168
171
  end
169
172
  end
@@ -223,11 +226,10 @@ describe GdsApi::LocalLinksManager do
223
226
  end
224
227
 
225
228
  describe 'when making a request with invalid required parameters' do
226
- it "returns nil when authority_slug is invalid" do
229
+ it "raises when authority_slug is invalid" do
227
230
  local_links_manager_does_not_have_an_authority("hogwarts")
228
231
 
229
- response = @api.local_authority("hogwarts")
230
- assert_equal nil, response
232
+ assert_raises(GdsApi::HTTPNotFound) { @api.local_authority("hogwarts") }
231
233
  end
232
234
  end
233
235
  end
data/test/mapit_test.rb CHANGED
@@ -45,10 +45,12 @@ describe GdsApi::Mapit do
45
45
  assert_equal "30UN", response.areas.last.codes['ons']
46
46
  end
47
47
 
48
- it "should return nil if a postcode doesn't exist" do
48
+ it "should raise if a postcode doesn't exist" do
49
49
  mapit_does_not_have_a_postcode("SW1A 1AA")
50
50
 
51
- assert_nil @api.location_for_postcode("SW1A 1AA")
51
+ assert_raises(GdsApi::HTTPNotFound) do
52
+ @api.location_for_postcode("SW1A 1AA")
53
+ end
52
54
  end
53
55
 
54
56
  it "should return 400 for an invalid postcode" do
@@ -83,7 +85,7 @@ describe GdsApi::Mapit do
83
85
  it "should return and empty result for an unknown area type" do
84
86
  response = @api.areas_for_type('FOO')
85
87
 
86
- assert_empty response
88
+ assert_empty response.parsed_content
87
89
  end
88
90
  end
89
91
 
@@ -109,7 +111,9 @@ describe GdsApi::Mapit do
109
111
  end
110
112
 
111
113
  it "should return 404 for a missing area of a certain code type" do
112
- assert_nil @api.area_for_code('govuk_slug', 'neverland')
114
+ assert_raises(GdsApi::HTTPNotFound) do
115
+ @api.area_for_code('govuk_slug', 'neverland')
116
+ end
113
117
  end
114
118
  end
115
119
  end
@@ -38,24 +38,24 @@ describe GdsApi::NeedApi do
38
38
  needs = @api.needs_by_id(1,2,3)
39
39
 
40
40
  assert_equal 3, needs.count
41
- assert_equal %w(1 2 3), needs.map(&:id)
42
- assert_equal "apply for a primary school place", needs.results[0].goal
43
- assert_equal "find out about becoming a British citizen", needs.results[1].goal
44
- assert_equal "find out about unemployment benefits", needs.results[2].goal
41
+ assert_equal %w(1 2 3), needs.map { |need| need['id'] }
42
+ assert_equal "apply for a primary school place", needs['results'][0]['goal']
43
+ assert_equal "find out about becoming a British citizen", needs['results'][1]['goal']
44
+ assert_equal "find out about unemployment benefits", needs['results'][2]['goal']
45
45
  end
46
46
 
47
47
  it "makes the same request regardless of the order of the IDs" do
48
48
  needs = @api.needs_by_id(2,1,3)
49
49
 
50
50
  assert_equal 3, needs.count
51
- assert_equal %w(1 2 3), needs.map(&:id)
51
+ assert_equal %w(1 2 3), needs.map { |need| need['id'] }
52
52
  end
53
53
 
54
54
  it "correctly sorts IDs requested as strings" do
55
55
  needs = @api.needs_by_id(%w(02 3 1))
56
56
 
57
57
  assert_equal 3, needs.count
58
- assert_equal %w(1 2 3), needs.map(&:id)
58
+ assert_equal %w(1 2 3), needs.map { |need| need['id'] }
59
59
  end
60
60
  end
61
61
 
@@ -109,12 +109,30 @@ describe GdsApi::NeedApi do
109
109
  assert_requested(req)
110
110
  assert_equal 2, needs.count
111
111
 
112
- assert_equal ["parent", "user"], needs.map(&:role)
113
- assert_equal ["apply for a primary school place", "find out about becoming a British citizen"], needs.map(&:goal)
114
- assert_equal ["my child can start school", "i can take the correct steps to apply for citizenship"], needs.map(&:benefit)
112
+ assert_equal %w(parent user), needs.map { |need| need['role'] }
113
+ assert_equal(
114
+ [
115
+ "apply for a primary school place",
116
+ "find out about becoming a British citizen"
117
+ ],
118
+ needs.map { |need| need['goal'] }
119
+ )
120
+ assert_equal(
121
+ [
122
+ "my child can start school",
123
+ "i can take the correct steps to apply for citizenship"
124
+ ],
125
+ needs.map { |need| need['benefit'] }
126
+ )
115
127
 
116
- assert_equal "department-for-education", needs.first.organisations.first.id
117
- assert_equal "Department for Education", needs.first.organisations.first.name
128
+ assert_equal(
129
+ "department-for-education",
130
+ needs.first['organisations'].first['id']
131
+ )
132
+ assert_equal(
133
+ "Department for Education",
134
+ needs.first['organisations'].first['name']
135
+ )
118
136
  end
119
137
  end
120
138
 
@@ -189,12 +207,15 @@ describe GdsApi::NeedApi do
189
207
  need_api_has_need(need)
190
208
 
191
209
  need_response = @api.need(100500)
192
- assert_equal "good things", need_response.benefit
210
+ assert_equal "good things", need_response['benefit']
193
211
  end
194
212
 
195
- it "should return nil for a missing need" do
213
+ it "should raise for a missing need" do
196
214
  need_api_has_no_need(100600)
197
- assert_nil @api.need(100600)
215
+
216
+ assert_raises(GdsApi::HTTPNotFound) do
217
+ @api.need(100600)
218
+ end
198
219
  end
199
220
  end
200
221
 
@@ -16,8 +16,8 @@ describe GdsApi::Organisations do
16
16
  organisations_api_has_organisations(organisation_slugs)
17
17
 
18
18
  response = @api.organisations
19
- assert_equal organisation_slugs, response.map {|r| r.details.slug }
20
- assert_equal "Tea Agency", response.results[1].title
19
+ assert_equal organisation_slugs, response.map { |r| r['details']['slug'] }
20
+ assert_equal "Tea Agency", response['results'][1]['title']
21
21
  end
22
22
 
23
23
  it "should handle the pagination" do
@@ -25,7 +25,10 @@ describe GdsApi::Organisations do
25
25
  organisations_api_has_organisations(organisation_slugs)
26
26
 
27
27
  response = @api.organisations
28
- assert_equal organisation_slugs, response.with_subsequent_pages.map {|r| r.details.slug }
28
+ assert_equal(
29
+ organisation_slugs,
30
+ response.with_subsequent_pages.map { |r| r['details']['slug'] }
31
+ )
29
32
  end
30
33
 
31
34
  it "should raise error if endpoint 404s" do
@@ -41,13 +44,15 @@ describe GdsApi::Organisations do
41
44
  organisations_api_has_organisation('ministry-of-fun')
42
45
 
43
46
  response = @api.organisation('ministry-of-fun')
44
- assert_equal 'Ministry Of Fun', response.title
47
+ assert_equal 'Ministry Of Fun', response['title']
45
48
  end
46
49
 
47
- it "should return nil for a non-existent organisation" do
50
+ it "should raise for a non-existent organisation" do
48
51
  organisations_api_does_not_have_organisation('non-existent')
49
52
 
50
- assert_nil @api.organisation('non-existent')
53
+ assert_raises(GdsApi::HTTPNotFound) do
54
+ @api.organisation('non-existent')
55
+ end
51
56
  end
52
57
  end
53
58
  end
@@ -39,7 +39,7 @@ describe GdsApi::Panopticon do
39
39
  panopticon_has_metadata(basic_artefact)
40
40
 
41
41
  artefact = api.artefact_for_slug(basic_artefact[:slug])
42
- assert_equal 'An artefact', artefact.name
42
+ assert_equal 'An artefact', artefact['name']
43
43
  end
44
44
 
45
45
  it 'fetches an artefact as a hash given a slug' do
@@ -55,11 +55,13 @@ describe GdsApi::Panopticon do
55
55
  assert_equal 1, api.get_json(url)['a']
56
56
  end
57
57
 
58
- it 'returns nil if the endpoint returns 404' do
58
+ it 'raises if the endpoint returns 404' do
59
59
  url = "#{base_api_endpoint}/some.json"
60
60
  stub_request(:get, url).to_return(status: Rack::Utils.status_code(:not_found))
61
61
 
62
- assert_nil api.get_json(url)
62
+ assert_raises(GdsApi::HTTPNotFound) do
63
+ api.get_json(url)
64
+ end
63
65
  end
64
66
 
65
67
  it 'constructs the correct URL for a slug' do
@@ -70,8 +72,14 @@ describe GdsApi::Panopticon do
70
72
  panopticon_has_metadata(artefact_with_contact)
71
73
 
72
74
  artefact = api.artefact_for_slug(artefact_with_contact[:slug])
73
- assert_equal 'Department for Environment, Food and Rural Affairs (Defra)', artefact.contact.name
74
- assert_equal 'helpline@defra.gsi.gov.uk', artefact.contact.email_address
75
+ assert_equal(
76
+ 'Department for Environment, Food and Rural Affairs (Defra)',
77
+ artefact['contact']['name']
78
+ )
79
+ assert_equal(
80
+ 'helpline@defra.gsi.gov.uk',
81
+ artefact['contact']['email_address']
82
+ )
75
83
  end
76
84
 
77
85
  it 'creates a new artefact' do
@@ -59,7 +59,7 @@ describe GdsApi::Publisher do
59
59
  publication_exists(basic_answer)
60
60
  pub = api.publication_for_slug(basic_answer['slug'])
61
61
 
62
- assert_equal "Something", pub.body
62
+ assert_equal "Something", pub['body']
63
63
  end
64
64
 
65
65
  it "should optionally accept an edition id" do
@@ -84,8 +84,8 @@ describe GdsApi::Publisher do
84
84
  it "should deserialise parts into whole objects" do
85
85
  publication_exists(publication_with_parts)
86
86
  pub = api.publication_for_slug(publication_with_parts['slug'])
87
- assert_equal 3, pub.parts.size
88
- assert_equal "introduction", pub.parts.first.slug
87
+ assert_equal 3, pub['parts'].size
88
+ assert_equal "introduction", pub['parts'].first['slug']
89
89
  end
90
90
 
91
91
  it "should have part specific methods for a publication with parts" do
@@ -97,7 +97,7 @@ describe GdsApi::Publisher do
97
97
  it "should deserialise updated at as a time" do
98
98
  publication_exists(publication_with_parts)
99
99
  pub = api.publication_for_slug(publication_with_parts['slug'])
100
- assert_equal Time, pub.updated_at.class
100
+ assert_equal Time, pub['updated_at'].class
101
101
  end
102
102
 
103
103
  it "should be able to retrieve local transaction details" do
@@ -77,9 +77,9 @@ describe GdsApi::PublishingApiV2 do
77
77
  status: 404
78
78
  )
79
79
 
80
- response = @api_client.get_expanded_links(@content_id)
81
-
82
- assert_nil response
80
+ assert_raises(GdsApi::HTTPNotFound) do
81
+ @api_client.get_expanded_links(@content_id)
82
+ end
83
83
  end
84
84
  end
85
85
  end
@@ -33,7 +33,10 @@ describe GdsApi::PublishingApiV2 do
33
33
  it "responds with the links" do
34
34
  response = @api_client.get_links(@content_id)
35
35
  assert_equal 200, response.code
36
- assert_equal ["20583132-1619-4c68-af24-77583172c070"], response.links.organisations
36
+ assert_equal(
37
+ ["20583132-1619-4c68-af24-77583172c070"],
38
+ response['links']['organisations']
39
+ )
37
40
  end
38
41
  end
39
42
 
@@ -58,7 +61,7 @@ describe GdsApi::PublishingApiV2 do
58
61
  it "responds with the empty link set" do
59
62
  response = @api_client.get_links(@content_id)
60
63
  assert_equal 200, response.code
61
- assert_equal OpenStruct.new({}), response.links
64
+ assert_equal({}, response['links'])
62
65
  end
63
66
  end
64
67
 
@@ -77,8 +80,9 @@ describe GdsApi::PublishingApiV2 do
77
80
  end
78
81
 
79
82
  it "responds with 404" do
80
- response = @api_client.get_links(@content_id)
81
- assert_nil response
83
+ assert_raises(GdsApi::HTTPNotFound) do
84
+ @api_client.get_links(@content_id)
85
+ end
82
86
  end
83
87
  end
84
88
  end
@@ -493,7 +493,9 @@ describe GdsApi::PublishingApiV2 do
493
493
  end
494
494
 
495
495
  it "responds with 404" do
496
- assert_nil @api_client.get_content(@content_id)
496
+ assert_raises(GdsApi::HTTPNotFound) do
497
+ @api_client.get_content(@content_id)
498
+ end
497
499
  end
498
500
  end
499
501
  end
@@ -951,7 +953,10 @@ describe GdsApi::PublishingApiV2 do
951
953
  organisations: ["591436ab-c2ae-416f-a3c5-1901d633fbfb"],
952
954
  })
953
955
  assert_equal 200, response.code
954
- assert_equal ["591436ab-c2ae-416f-a3c5-1901d633fbfb"], response.links.organisations
956
+ assert_equal(
957
+ ["591436ab-c2ae-416f-a3c5-1901d633fbfb"],
958
+ response['links']['organisations']
959
+ )
955
960
  end
956
961
  end
957
962
 
@@ -989,10 +994,13 @@ describe GdsApi::PublishingApiV2 do
989
994
  })
990
995
 
991
996
  assert_equal 200, response.code
992
- assert_equal(OpenStruct.new(
993
- topics: ["225df4a8-2945-4e9b-8799-df7424a90b69"],
994
- organisations: ["20583132-1619-4c68-af24-77583172c070"],
995
- ), response.links)
997
+ assert_equal(
998
+ {
999
+ 'topics' => ["225df4a8-2945-4e9b-8799-df7424a90b69"],
1000
+ 'organisations' => ["20583132-1619-4c68-af24-77583172c070"],
1001
+ },
1002
+ response['links']
1003
+ )
996
1004
  end
997
1005
  end
998
1006
 
@@ -1027,7 +1035,7 @@ describe GdsApi::PublishingApiV2 do
1027
1035
  })
1028
1036
 
1029
1037
  assert_equal 200, response.code
1030
- assert_equal OpenStruct.new({}), response.links
1038
+ assert_equal({}, response['links'])
1031
1039
  end
1032
1040
  end
1033
1041
 
@@ -1064,9 +1072,12 @@ describe GdsApi::PublishingApiV2 do
1064
1072
  })
1065
1073
 
1066
1074
  assert_equal 200, response.code
1067
- assert_equal(OpenStruct.new(
1068
- organisations: ["591436ab-c2ae-416f-a3c5-1901d633fbfb"],
1069
- ), response.links)
1075
+ assert_equal(
1076
+ {
1077
+ 'organisations' => ["591436ab-c2ae-416f-a3c5-1901d633fbfb"],
1078
+ },
1079
+ response['links']
1080
+ )
1070
1081
  end
1071
1082
  end
1072
1083
 
@@ -1214,7 +1225,7 @@ describe GdsApi::PublishingApiV2 do
1214
1225
  .with(
1215
1226
  method: :get,
1216
1227
  path: "/v2/content",
1217
- query: "content_format=topic&fields%5B%5D=title&fields%5B%5D=base_path",
1228
+ query: "document_type=topic&fields%5B%5D=title&fields%5B%5D=base_path",
1218
1229
  headers: GdsApi::JsonClient.default_request_headers.merge(
1219
1230
  "Authorization" => "Bearer #{@bearer_token}"
1220
1231
  ),
@@ -1226,7 +1237,7 @@ describe GdsApi::PublishingApiV2 do
1226
1237
  pages: 1,
1227
1238
  current_page: 1,
1228
1239
  links: [{
1229
- href: "http://example.org/v2/content?content_format=topic&fields[]=title&fields[]=base_path&page=1",
1240
+ href: "http://example.org/v2/content?document_type=topic&fields[]=title&fields[]=base_path&page=1",
1230
1241
  rel: "self"
1231
1242
  }],
1232
1243
  results: [
@@ -1237,7 +1248,7 @@ describe GdsApi::PublishingApiV2 do
1237
1248
  )
1238
1249
 
1239
1250
  response = @api_client.get_content_items(
1240
- content_format: 'topic',
1251
+ document_type: 'topic',
1241
1252
  fields: [:title, :base_path],
1242
1253
  )
1243
1254
 
@@ -1247,7 +1258,7 @@ describe GdsApi::PublishingApiV2 do
1247
1258
  ["total", 2],
1248
1259
  ["pages", 1],
1249
1260
  ["current_page", 1],
1250
- ["links", [{"href"=>"http://example.org/v2/content?content_format=topic&fields[]=title&fields[]=base_path&page=1", "rel"=>"self"}]],
1261
+ ["links", [{"href"=>"http://example.org/v2/content?document_type=topic&fields[]=title&fields[]=base_path&page=1", "rel"=>"self"}]],
1251
1262
  ["results", [{"title"=>"Content Item A", "base_path"=>"/a-base-path"}, {"title"=>"Content Item B", "base_path"=>"/another-base-path"}]]
1252
1263
  ], response.to_a
1253
1264
 
@@ -1260,7 +1271,7 @@ describe GdsApi::PublishingApiV2 do
1260
1271
  .with(
1261
1272
  method: :get,
1262
1273
  path: "/v2/content",
1263
- query: "content_format=topic&fields%5B%5D=content_id&fields%5B%5D=locale",
1274
+ query: "document_type=topic&fields%5B%5D=content_id&fields%5B%5D=locale",
1264
1275
  headers: GdsApi::JsonClient.default_request_headers.merge(
1265
1276
  "Authorization" => "Bearer #{@bearer_token}"
1266
1277
  ),
@@ -1272,7 +1283,7 @@ describe GdsApi::PublishingApiV2 do
1272
1283
  pages: 1,
1273
1284
  current_page: 1,
1274
1285
  links: [{
1275
- href: "http://example.org/v2/content?content_format=topic&fields[]=content_id&fields[]=locale&page=1",
1286
+ href: "http://example.org/v2/content?document_type=topic&fields[]=content_id&fields[]=locale&page=1",
1276
1287
  rel: "self"
1277
1288
  }],
1278
1289
  results: [
@@ -1282,7 +1293,7 @@ describe GdsApi::PublishingApiV2 do
1282
1293
  )
1283
1294
 
1284
1295
  response = @api_client.get_content_items(
1285
- content_format: 'topic',
1296
+ document_type: 'topic',
1286
1297
  fields: [:content_id, :locale],
1287
1298
  )
1288
1299
 
@@ -1292,7 +1303,7 @@ describe GdsApi::PublishingApiV2 do
1292
1303
  ["total", 1],
1293
1304
  ["pages", 1],
1294
1305
  ["current_page", 1],
1295
- ["links", [{"href"=>"http://example.org/v2/content?content_format=topic&fields[]=content_id&fields[]=locale&page=1", "rel"=>"self"}]],
1306
+ ["links", [{"href"=>"http://example.org/v2/content?document_type=topic&fields[]=content_id&fields[]=locale&page=1", "rel"=>"self"}]],
1296
1307
  ["results", [{"content_id"=>"bed722e6-db68-43e5-9079-063f623335a7", "locale"=>"en"}]]
1297
1308
  ], response.to_a
1298
1309
  end
@@ -1304,7 +1315,7 @@ describe GdsApi::PublishingApiV2 do
1304
1315
  .with(
1305
1316
  method: :get,
1306
1317
  path: "/v2/content",
1307
- query: "content_format=topic&fields%5B%5D=content_id&fields%5B%5D=locale&locale=fr",
1318
+ query: "document_type=topic&fields%5B%5D=content_id&fields%5B%5D=locale&locale=fr",
1308
1319
  headers: GdsApi::JsonClient.default_request_headers.merge(
1309
1320
  "Authorization" => "Bearer #{@bearer_token}"
1310
1321
  ),
@@ -1316,7 +1327,7 @@ describe GdsApi::PublishingApiV2 do
1316
1327
  pages: 1,
1317
1328
  current_page: 1,
1318
1329
  links: [{
1319
- href: "http://example.org/v2/content?content_format=topic&fields[]=content_id&fields[]=locale&locale=fr&page=1",
1330
+ href: "http://example.org/v2/content?document_type=topic&fields[]=content_id&fields[]=locale&locale=fr&page=1",
1320
1331
  rel: "self"
1321
1332
  }],
1322
1333
  results: [
@@ -1326,7 +1337,7 @@ describe GdsApi::PublishingApiV2 do
1326
1337
  )
1327
1338
 
1328
1339
  response = @api_client.get_content_items(
1329
- content_format: 'topic',
1340
+ document_type: 'topic',
1330
1341
  fields: [:content_id, :locale],
1331
1342
  locale: 'fr',
1332
1343
  )
@@ -1336,7 +1347,7 @@ describe GdsApi::PublishingApiV2 do
1336
1347
  ["total", 1],
1337
1348
  ["pages", 1],
1338
1349
  ["current_page", 1],
1339
- ["links", [{"href"=>"http://example.org/v2/content?content_format=topic&fields[]=content_id&fields[]=locale&locale=fr&page=1", "rel"=>"self"}]],
1350
+ ["links", [{"href"=>"http://example.org/v2/content?document_type=topic&fields[]=content_id&fields[]=locale&locale=fr&page=1", "rel"=>"self"}]],
1340
1351
  ["results", [{"content_id"=>"bed722e6-db68-43e5-9079-063f623335a7", "locale"=>"fr"}]]
1341
1352
  ], response.to_a
1342
1353
  end
@@ -1348,7 +1359,7 @@ describe GdsApi::PublishingApiV2 do
1348
1359
  .with(
1349
1360
  method: :get,
1350
1361
  path: "/v2/content",
1351
- query: "content_format=topic&fields%5B%5D=content_id&fields%5B%5D=locale&locale=all",
1362
+ query: "document_type=topic&fields%5B%5D=content_id&fields%5B%5D=locale&locale=all",
1352
1363
  headers: GdsApi::JsonClient.default_request_headers.merge(
1353
1364
  "Authorization" => "Bearer #{@bearer_token}"
1354
1365
  ),
@@ -1360,7 +1371,7 @@ describe GdsApi::PublishingApiV2 do
1360
1371
  pages: 1,
1361
1372
  current_page: 1,
1362
1373
  links: [{
1363
- href: "http://example.org/v2/content?content_format=topic&fields[]=content_id&fields[]=locale&locale=all&page=1",
1374
+ href: "http://example.org/v2/content?document_type=topic&fields[]=content_id&fields[]=locale&locale=all&page=1",
1364
1375
  rel: "self"
1365
1376
  }],
1366
1377
  results: [
@@ -1372,7 +1383,7 @@ describe GdsApi::PublishingApiV2 do
1372
1383
  )
1373
1384
 
1374
1385
  response = @api_client.get_content_items(
1375
- content_format: 'topic',
1386
+ document_type: 'topic',
1376
1387
  fields: [:content_id, :locale],
1377
1388
  locale: 'all',
1378
1389
  )
@@ -1382,7 +1393,7 @@ describe GdsApi::PublishingApiV2 do
1382
1393
  ["total", 3],
1383
1394
  ["pages", 1], ["current_page", 1],
1384
1395
  ["links",
1385
- [{"href"=>"http://example.org/v2/content?content_format=topic&fields[]=content_id&fields[]=locale&locale=all&page=1", "rel"=>"self"}]],
1396
+ [{"href"=>"http://example.org/v2/content?document_type=topic&fields[]=content_id&fields[]=locale&locale=all&page=1", "rel"=>"self"}]],
1386
1397
  ["results",
1387
1398
  [{"content_id"=>"bed722e6-db68-43e5-9079-063f623335a7", "locale"=>"en"},
1388
1399
  {"content_id"=>"bed722e6-db68-43e5-9079-063f623335a7", "locale"=>"fr"},
@@ -1397,7 +1408,7 @@ describe GdsApi::PublishingApiV2 do
1397
1408
  .with(
1398
1409
  method: :get,
1399
1410
  path: "/v2/content",
1400
- query: "content_format=topic&fields%5B%5D=content_id&fields%5B%5D=details",
1411
+ query: "document_type=topic&fields%5B%5D=content_id&fields%5B%5D=details",
1401
1412
  headers: GdsApi::JsonClient.default_request_headers.merge(
1402
1413
  "Authorization" => "Bearer #{@bearer_token}"
1403
1414
  ),
@@ -1409,7 +1420,7 @@ describe GdsApi::PublishingApiV2 do
1409
1420
  pages: 1,
1410
1421
  current_page: 1,
1411
1422
  links: [{
1412
- href: "http://example.org/v2/content?content_format=topic&fields[]=content_id&fields[]=details&page=1",
1423
+ href: "http://example.org/v2/content?document_type=topic&fields[]=content_id&fields[]=details&page=1",
1413
1424
  rel: "self"
1414
1425
  }],
1415
1426
  results: [
@@ -1419,7 +1430,7 @@ describe GdsApi::PublishingApiV2 do
1419
1430
  )
1420
1431
 
1421
1432
  response = @api_client.get_content_items(
1422
- content_format: 'topic',
1433
+ document_type: 'topic',
1423
1434
  fields: [:content_id, :details],
1424
1435
  )
1425
1436
 
@@ -1429,7 +1440,7 @@ describe GdsApi::PublishingApiV2 do
1429
1440
  ["total", 1],
1430
1441
  ["pages", 1],
1431
1442
  ["current_page", 1],
1432
- ["links", [{"href"=>"http://example.org/v2/content?content_format=topic&fields[]=content_id&fields[]=details&page=1", "rel"=>"self"}]],
1443
+ ["links", [{"href"=>"http://example.org/v2/content?document_type=topic&fields[]=content_id&fields[]=details&page=1", "rel"=>"self"}]],
1433
1444
  ["results", [{"content_id"=>"bed722e6-db68-43e5-9079-063f623335a7", "details"=>{"foo"=>"bar"}}]]
1434
1445
  ], response.to_a
1435
1446
  end
@@ -1542,14 +1553,13 @@ describe GdsApi::PublishingApiV2 do
1542
1553
  end
1543
1554
 
1544
1555
  it "404s" do
1545
- response = @api_client.get_linked_items(
1546
- @content_id,
1547
- {
1556
+ assert_raises(GdsApi::HTTPNotFound) do
1557
+ @api_client.get_linked_items(
1558
+ @content_id,
1548
1559
  link_type: "topic",
1549
- fields: ["content_id", "base_path"],
1550
- }
1551
- )
1552
- assert_nil response
1560
+ fields: %w(content_id base_path),
1561
+ )
1562
+ end
1553
1563
  end
1554
1564
  end
1555
1565