gds-api-adapters 26.3.1 → 26.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 28d2b20efe3657e43b513e3c43dc9533a2ef5413
4
- data.tar.gz: 6c031a36be576bf3101d65cf4ed62b3667ebba2f
3
+ metadata.gz: c0855c236df08760a5bb3c690fe3edea108d3448
4
+ data.tar.gz: c5c1ef0acb097c7a29899a8051ba2f7c5f3fab30
5
5
  SHA512:
6
- metadata.gz: dc7a2c55870b748f631a943998af7ea6d588f03ea30a3c29dd575e74b7fc1314b2453cfa9f015bd29294dd7963983a418293b3e296360ee979b2bd7811627619
7
- data.tar.gz: c71c2e06c2f7a6e63242b629f34e96d20f30f65d7cd5af7333898f6f814898bf665a20b1017aab61ab3607ef3f2a24af138a6fcca70e0191a3b0d421287b9074
6
+ metadata.gz: da29b92b57fb706bfc91914383e6720d6d72002a7eea5bb1b10bbbbfe845a26e91cef7a03aabce3b26b6912e5f816cb98c6435297d24575de3d734b3d47370e8
7
+ data.tar.gz: 6aa6907363f65a729e003747033ced7faf5a8c294b1abd9832b273d8f44b8c9852aed0d19d3366bd0fd61da17aab4faeaf4b0e048d8f391e83f53a16f84e6e70
@@ -13,6 +13,12 @@ class GdsApi::ContentStore < GdsApi::Base
13
13
  get_json(content_item_url(base_path))
14
14
  end
15
15
 
16
+ def incoming_links!(base_path)
17
+ get_json!(incoming_links_url(base_path))
18
+ rescue GdsApi::HTTPNotFound => e
19
+ raise ItemNotFound.build_from(e)
20
+ end
21
+
16
22
  def content_item!(base_path)
17
23
  get_json!(content_item_url(base_path))
18
24
  rescue GdsApi::HTTPNotFound => e
@@ -24,4 +30,8 @@ class GdsApi::ContentStore < GdsApi::Base
24
30
  def content_item_url(base_path)
25
31
  "#{endpoint}/content#{base_path}"
26
32
  end
33
+
34
+ def incoming_links_url(base_path)
35
+ "#{endpoint}/incoming-links#{base_path}"
36
+ end
27
37
  end
@@ -34,6 +34,9 @@ module GdsApi
34
34
  def content_store_does_not_have_item(base_path)
35
35
  url = CONTENT_STORE_ENDPOINT + "/content" + base_path
36
36
  stub_request(:get, url).to_return(status: 404, headers: {})
37
+
38
+ url = CONTENT_STORE_ENDPOINT + "/incoming-links" + base_path
39
+ stub_request(:get, url).to_return(status: 404, headers: {})
37
40
  end
38
41
 
39
42
  def content_store_isnt_available
@@ -43,6 +46,13 @@ module GdsApi
43
46
  def content_item_for_base_path(base_path)
44
47
  super.merge({ "base_path" => base_path })
45
48
  end
49
+
50
+ def content_store_has_incoming_links(base_path, links)
51
+ url = CONTENT_STORE_ENDPOINT + "/incoming-links" + base_path
52
+ body = links.to_json
53
+
54
+ stub_request(:get, url).to_return(body: body)
55
+ end
46
56
  end
47
57
  end
48
58
  end
@@ -35,6 +35,10 @@ module GdsApi
35
35
  def stub_pp_isnt_available
36
36
  stub_request(:post, /#{PP_DATA_IN_ENDPOINT}\/.*/).to_return(:status => 503)
37
37
  end
38
+
39
+ def stub_pp_dataset_unavailable
40
+ stub_request(:any, /#{PP_DATA_IN_ENDPOINT}/).to_return(:status => 404)
41
+ end
38
42
  end
39
43
  end
40
44
  end
@@ -1,3 +1,3 @@
1
1
  module GdsApi
2
- VERSION = '26.3.1'
2
+ VERSION = '26.4.0'
3
3
  end
@@ -10,35 +10,63 @@ describe GdsApi::ContentStore do
10
10
  @api = GdsApi::ContentStore.new(@base_api_url)
11
11
  end
12
12
 
13
- describe "content_item" do
14
- it "should return the item" do
13
+ describe "#content_item" do
14
+ it "returns the item" do
15
15
  base_path = "/test-from-content-store"
16
16
  content_store_has_item(base_path)
17
+
17
18
  response = @api.content_item(base_path)
19
+
18
20
  assert_equal base_path, response["base_path"]
19
21
  end
20
22
 
21
- it "should return nil if the item doesn't exist" do
23
+ it "returns nil if the item doesn't exist" do
22
24
  content_store_does_not_have_item("/non-existent")
25
+
23
26
  assert_nil @api.content_item("/non-existent")
24
27
  end
25
28
  end
26
29
 
27
- describe "content_item!" do
28
- it "should return the item" do
30
+ describe "#content_item!" do
31
+ it "returns the item" do
29
32
  base_path = "/test-from-content-store"
30
33
  content_store_has_item(base_path)
34
+
31
35
  response = @api.content_item!(base_path)
36
+
32
37
  assert_equal base_path, response["base_path"]
33
38
  end
34
39
 
35
- it "should raise if the item doesn't exist" do
40
+ it "raises if the item doesn't exist" do
36
41
  content_store_does_not_have_item("/non-existent")
42
+
37
43
  e = assert_raises GdsApi::ContentStore::ItemNotFound do
38
44
  @api.content_item!("/non-existent")
39
45
  end
46
+
40
47
  assert_equal 404, e.code
41
48
  assert_equal "url: #{@base_api_url}/content/non-existent", e.message.strip
42
49
  end
43
50
  end
51
+
52
+ describe "#incoming_links!" do
53
+ it "returns the item" do
54
+ base_path = "/test-from-content-store"
55
+ content_store_has_incoming_links(base_path, [ { title: "Yolo" }])
56
+
57
+ response = @api.incoming_links!(base_path)
58
+
59
+ assert_equal [ { "title" => "Yolo" } ], response.to_hash
60
+ end
61
+
62
+ it "raises if the item doesn't exist" do
63
+ content_store_does_not_have_item("/non-existent")
64
+
65
+ e = assert_raises GdsApi::ContentStore::ItemNotFound do
66
+ response = @api.incoming_links!("/non-existent")
67
+ end
68
+
69
+ assert_equal 404, e.code
70
+ end
71
+ end
44
72
  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: 26.3.1
4
+ version: 26.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Stewart
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-12-02 00:00:00.000000000 Z
11
+ date: 2015-12-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: plek