gds-api-adapters 27.2.0 → 27.2.1
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.
- checksums.yaml +4 -4
- data/lib/gds_api/publishing_api_v2.rb +9 -0
- data/lib/gds_api/version.rb +1 -1
- data/test/publishing_api_v2_test.rb +50 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e2f279aa3d9a7e19735b40e8bc8c35f6cccbe038
|
4
|
+
data.tar.gz: f3f11d44a629ec3c0b00be1c96a8ce177ddff29c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8189ca648010ca2a59cb275201bd26ec5638e93593fa89213e49d8bd2af60d883834a24d2c3b49a2cbbb4f19dcd482f1f5f7ba9ae73939a55cc19b7f34bbac36
|
7
|
+
data.tar.gz: 303c315106e8e21598118b975f5defbb5fdd0d0051b7437b316c1a8558cf1bbbeda9a54979b2e22fa3329c71b9b17015f8dfd18cbe6e11f2db14c49e1576b992
|
@@ -59,25 +59,30 @@ class GdsApi::PublishingApiV2 < GdsApi::Base
|
|
59
59
|
|
60
60
|
def get_linked_items(content_id, params = {})
|
61
61
|
query = query_string(params)
|
62
|
+
validate_content_id(content_id)
|
62
63
|
get_json("#{endpoint}/v2/linked/#{content_id}#{query}")
|
63
64
|
end
|
64
65
|
|
65
66
|
private
|
66
67
|
|
67
68
|
def content_url(content_id, params = {})
|
69
|
+
validate_content_id(content_id)
|
68
70
|
query = query_string(params)
|
69
71
|
"#{endpoint}/v2/content/#{content_id}#{query}"
|
70
72
|
end
|
71
73
|
|
72
74
|
def links_url(content_id)
|
75
|
+
validate_content_id(content_id)
|
73
76
|
"#{endpoint}/v2/links/#{content_id}"
|
74
77
|
end
|
75
78
|
|
76
79
|
def publish_url(content_id)
|
80
|
+
validate_content_id(content_id)
|
77
81
|
"#{endpoint}/v2/content/#{content_id}/publish"
|
78
82
|
end
|
79
83
|
|
80
84
|
def discard_url(content_id)
|
85
|
+
validate_content_id(content_id)
|
81
86
|
"#{endpoint}/v2/content/#{content_id}/discard-draft"
|
82
87
|
end
|
83
88
|
|
@@ -86,4 +91,8 @@ private
|
|
86
91
|
hash.merge!(optional_key => options[optional_key]) if options[optional_key]
|
87
92
|
end
|
88
93
|
end
|
94
|
+
|
95
|
+
def validate_content_id(content_id)
|
96
|
+
raise ArgumentError, "content_id cannot be nil" unless content_id
|
97
|
+
end
|
89
98
|
end
|
data/lib/gds_api/version.rb
CHANGED
@@ -1021,6 +1021,36 @@ describe GdsApi::PublishingApiV2 do
|
|
1021
1021
|
{ 'content_id' => @content_id, 'locale' => 'ar' },
|
1022
1022
|
], response.to_a
|
1023
1023
|
end
|
1024
|
+
|
1025
|
+
it "returns details hashes" do
|
1026
|
+
publishing_api
|
1027
|
+
.given("a content item exists with content_id: #{@content_id} and it has details")
|
1028
|
+
.upon_receiving("a get entries request with details field")
|
1029
|
+
.with(
|
1030
|
+
method: :get,
|
1031
|
+
path: "/v2/content",
|
1032
|
+
query: "content_format=topic&fields%5B%5D=content_id&fields%5B%5D=details",
|
1033
|
+
headers: {
|
1034
|
+
"Content-Type" => "application/json",
|
1035
|
+
},
|
1036
|
+
)
|
1037
|
+
.will_respond_with(
|
1038
|
+
status: 200,
|
1039
|
+
body: [
|
1040
|
+
{ content_id: @content_id, details: {foo: :bar} },
|
1041
|
+
]
|
1042
|
+
)
|
1043
|
+
|
1044
|
+
response = @api_client.get_content_items(
|
1045
|
+
content_format: 'topic',
|
1046
|
+
fields: [:content_id, :details],
|
1047
|
+
)
|
1048
|
+
|
1049
|
+
assert_equal 200, response.code
|
1050
|
+
assert_equal [
|
1051
|
+
{ 'content_id' => @content_id, 'details' => {"foo"=>"bar"} },
|
1052
|
+
], response.to_a
|
1053
|
+
end
|
1024
1054
|
end
|
1025
1055
|
|
1026
1056
|
describe "#discard_draft(content_id, options = {})" do
|
@@ -1202,4 +1232,24 @@ describe GdsApi::PublishingApiV2 do
|
|
1202
1232
|
end
|
1203
1233
|
end
|
1204
1234
|
end
|
1235
|
+
|
1236
|
+
describe "content ID validation" do
|
1237
|
+
[:get_content, :get_links, :get_linked_items, :discard_draft].each do |method|
|
1238
|
+
it "happens on #{method}" do
|
1239
|
+
proc { @api_client.send(method, nil) }.must_raise ArgumentError
|
1240
|
+
end
|
1241
|
+
end
|
1242
|
+
|
1243
|
+
it "happens on publish" do
|
1244
|
+
proc { @api_client.publish(nil, "major") }.must_raise ArgumentError
|
1245
|
+
end
|
1246
|
+
|
1247
|
+
it "happens on put_content" do
|
1248
|
+
proc { @api_client.put_content(nil, {}) }.must_raise ArgumentError
|
1249
|
+
end
|
1250
|
+
|
1251
|
+
it "happens on put_links" do
|
1252
|
+
proc { @api_client.put_links(nil, links: {}) }.must_raise ArgumentError
|
1253
|
+
end
|
1254
|
+
end
|
1205
1255
|
end
|
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: 27.2.
|
4
|
+
version: 27.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Stewart
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-02-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: plek
|