gds-api-adapters 27.2.0 → 27.2.1
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_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
|