gds-api-adapters 97.0.0 → 97.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/gds_api/publishing_api.rb +18 -6
- data/lib/gds_api/test_helpers/publishing_api.rb +17 -2
- data/lib/gds_api/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 28d51629867498d4a82ac5e2ea9a1062a016144545e905060d4dadf6a8116b1a
|
4
|
+
data.tar.gz: 5c376df981bae6c3197e3c3a98e45375d168256a3d5b6bd3700704e64ca4ee39
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fb03d3158c4e924abd93cbef80c524e65b2efd190056d0fa63a296ba7a58ea5af80e98bf53d45ebef59903d02121bc1d826901c2cedc8028521ed5ede199a605
|
7
|
+
data.tar.gz: '0334915fa9576323f28f07d4bc9aa5d904ad3573078a63b9b62f6dd5fb3c63bd96f2e6f22ffab5981639bac730231719959686034f91614d111ac4de4d3e0d4a'
|
@@ -339,18 +339,21 @@ class GdsApi::PublishingApi < GdsApi::Base
|
|
339
339
|
|
340
340
|
# Get content items which embed a reusable content_id
|
341
341
|
#
|
342
|
-
#
|
343
|
-
#
|
344
|
-
# @example
|
342
|
+
# @param content_id [UUID]
|
343
|
+
# @param params [Hash]
|
345
344
|
#
|
346
|
-
# publishing_api.get_content_by_embedded_document(
|
345
|
+
# publishing_api.get_content_by_embedded_document(
|
346
|
+
# "4b148ebc-b2bb-40db-8e48-dd8cff363ff7",
|
347
|
+
# { page: 1, order: '-last_edited_at' }
|
348
|
+
# )
|
347
349
|
#
|
348
350
|
# @return [GdsApi::Response] A response containing a summarised list of the content items which embed the target.
|
349
351
|
# The content items returned will be in either the draft of published state.
|
350
352
|
#
|
351
353
|
# @see https://github.com/alphagov/publishing-api/blob/main/docs/api.md#get-v2contentcontent_idembedded
|
352
|
-
def get_content_by_embedded_document(content_id)
|
353
|
-
|
354
|
+
def get_content_by_embedded_document(content_id, params = {})
|
355
|
+
query = query_string(params)
|
356
|
+
get_json("#{endpoint}/v2/content/#{content_id}/embedded#{query}")
|
354
357
|
end
|
355
358
|
|
356
359
|
# Returns an Enumerator of content items for the provided
|
@@ -550,6 +553,15 @@ class GdsApi::PublishingApi < GdsApi::Base
|
|
550
553
|
get_json("#{endpoint}/v2/schemas/#{schema_name}").to_hash
|
551
554
|
end
|
552
555
|
|
556
|
+
# Make a GraphQL query
|
557
|
+
#
|
558
|
+
# @param query [String]
|
559
|
+
#
|
560
|
+
# @return [Hash] A response with the result of the GraphQL query.
|
561
|
+
def graphql_query(query)
|
562
|
+
post_json("#{endpoint}/graphql", query:).to_hash
|
563
|
+
end
|
564
|
+
|
553
565
|
private
|
554
566
|
|
555
567
|
def content_url(content_id, params = {})
|
@@ -188,6 +188,19 @@ module GdsApi
|
|
188
188
|
stub_request(:any, /#{PUBLISHING_API_ENDPOINT}\/.*/).to_return(status: 503)
|
189
189
|
end
|
190
190
|
|
191
|
+
# Stub a POST /graphql request
|
192
|
+
#
|
193
|
+
# @param query [String]
|
194
|
+
def stub_publishing_api_graphql_query(query, response_hash = {})
|
195
|
+
url = "#{PUBLISHING_API_ENDPOINT}/graphql"
|
196
|
+
response = {
|
197
|
+
status: 200,
|
198
|
+
body: response_hash.to_json,
|
199
|
+
headers: { "Content-Type" => "application/json; charset=utf-8" },
|
200
|
+
}
|
201
|
+
stub_request(:post, url).with(body: { query: }).to_return(response)
|
202
|
+
end
|
203
|
+
|
191
204
|
# Assert that a draft was saved and published, and links were updated.
|
192
205
|
# - PUT /v2/content/:content_id
|
193
206
|
# - POST /v2/content/:content_id/publish
|
@@ -361,8 +374,9 @@ module GdsApi
|
|
361
374
|
# )
|
362
375
|
# @param content_id [UUID, Mocha::ParameterMatchers::Anything]
|
363
376
|
# @param total Integer
|
364
|
-
# @param
|
365
|
-
|
377
|
+
# @param total_pages Integer
|
378
|
+
# @param results [Hash]
|
379
|
+
def stub_publishing_api_has_embedded_content(content_id:, total: 0, total_pages: 0, results: [])
|
366
380
|
url = if content_id.is_a?(Mocha::ParameterMatchers::Anything)
|
367
381
|
%r{\A#{PUBLISHING_API_V2_ENDPOINT}/content/[0-9a-fA-F-]{36}/embedded}
|
368
382
|
else
|
@@ -373,6 +387,7 @@ module GdsApi
|
|
373
387
|
.to_return(body: {
|
374
388
|
"content_id" => content_id,
|
375
389
|
"total" => total,
|
390
|
+
"total_pages" => total_pages,
|
376
391
|
"results" => results,
|
377
392
|
}.to_json)
|
378
393
|
end
|
data/lib/gds_api/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gds-api-adapters
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 97.
|
4
|
+
version: 97.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- GOV.UK Dev
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-11-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: addressable
|
@@ -402,7 +402,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
402
402
|
- !ruby/object:Gem::Version
|
403
403
|
version: '0'
|
404
404
|
requirements: []
|
405
|
-
rubygems_version: 3.5.
|
405
|
+
rubygems_version: 3.5.23
|
406
406
|
signing_key:
|
407
407
|
specification_version: 4
|
408
408
|
summary: Adapters to work with GDS APIs
|