gds-api-adapters 10.11.2 → 10.12.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,20 @@
1
+ require_relative 'base'
2
+ require_relative 'exceptions'
3
+
4
+ class GdsApi::ContentStore < GdsApi::ContentApi
5
+ include GdsApi::ExceptionHandling
6
+
7
+ def content_item(base_path)
8
+ get_json(content_item_url(base_path))
9
+ end
10
+
11
+ def content_item!(base_path)
12
+ get_json!(content_item_url(base_path))
13
+ end
14
+
15
+ private
16
+
17
+ def content_item_url(base_path)
18
+ "#{endpoint}/content#{base_path}"
19
+ end
20
+ end
@@ -1,6 +1,7 @@
1
1
  require 'gds_api/asset_manager'
2
2
  require 'gds_api/business_support_api'
3
3
  require 'gds_api/content_api'
4
+ require 'gds_api/content_store'
4
5
  require 'gds_api/fact_cave'
5
6
  require 'gds_api/imminence'
6
7
  require 'gds_api/licence_application'
@@ -24,6 +25,10 @@ module GdsApi
24
25
  @content_api ||= GdsApi::ContentApi.new(Plek.current.find("contentapi"), options)
25
26
  end
26
27
 
28
+ def content_store(options = {})
29
+ @content_store ||= GdsApi::ContentStore.new(Plek.current.find("content-store"), options)
30
+ end
31
+
27
32
  def fact_cave_api(options = {})
28
33
  @fact_cave_api ||= GdsApi::FactCave.new(Plek.current.find("fact-cave"), options)
29
34
  end
@@ -0,0 +1,31 @@
1
+ require 'gds_api/test_helpers/json_client_helper'
2
+ require 'gds_api/test_helpers/common_responses'
3
+
4
+ module GdsApi
5
+ module TestHelpers
6
+ module ContentStore
7
+ include CommonResponses
8
+
9
+ CONTENT_STORE_ENDPOINT = Plek.current.find('content-store')
10
+
11
+ def content_store_has_item(base_path, body = item_for_base_path(base_path))
12
+ url = CONTENT_STORE_ENDPOINT + "/content" + base_path
13
+ stub_request(:get, url).to_return(status: 200, body: body.to_json, headers: {})
14
+ end
15
+
16
+ def item_for_base_path(base_path)
17
+ {
18
+ "title" => titleize_slug(base_path),
19
+ "description" => "Description for #{base_path}",
20
+ "format" => "guide",
21
+ "need_ids" => ["100001"],
22
+ "public_updated_at" => "2014-05-06T12:01:00+00:00",
23
+ "base_path" => base_path,
24
+ "details" => {
25
+ "body" => "Some content for #{base_path}",
26
+ }
27
+ }
28
+ end
29
+ end
30
+ end
31
+ end
@@ -1,3 +1,3 @@
1
1
  module GdsApi
2
- VERSION = '10.11.2'
2
+ VERSION = '10.12.0'
3
3
  end
@@ -0,0 +1,21 @@
1
+ require 'test_helper'
2
+ require 'gds_api/content_store'
3
+ require 'gds_api/test_helpers/content_store'
4
+
5
+ describe GdsApi::ContentApi do
6
+ include GdsApi::TestHelpers::ContentStore
7
+
8
+ before do
9
+ @base_api_url = Plek.current.find("content-store")
10
+ @api = GdsApi::ContentStore.new(@base_api_url)
11
+ end
12
+
13
+ describe "item" do
14
+ it "should return the item" do
15
+ base_path = "/test-from-content-store"
16
+ content_store_has_item(base_path)
17
+ response = @api.content_item(base_path)
18
+ assert_equal base_path, response["base_path"]
19
+ end
20
+ end
21
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gds-api-adapters
3
3
  version: !ruby/object:Gem::Version
4
- version: 10.11.2
4
+ version: 10.12.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-05-23 00:00:00.000000000 Z
12
+ date: 2014-05-29 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: plek
@@ -303,6 +303,7 @@ files:
303
303
  - lib/gds_api/test_helpers/mapit.rb
304
304
  - lib/gds_api/test_helpers/panopticon.rb
305
305
  - lib/gds_api/test_helpers/json_client_helper.rb
306
+ - lib/gds_api/test_helpers/content_store.rb
306
307
  - lib/gds_api/test_helpers/asset_manager.rb
307
308
  - lib/gds_api/test_helpers/gov_uk_delivery.rb
308
309
  - lib/gds_api/test_helpers/fact_cave.rb
@@ -322,6 +323,7 @@ files:
322
323
  - lib/gds_api/helpers.rb
323
324
  - lib/gds_api/middleware/govuk_request_id_sniffer.rb
324
325
  - lib/gds_api/panopticon.rb
326
+ - lib/gds_api/content_store.rb
325
327
  - lib/gds_api/asset_manager.rb
326
328
  - lib/gds_api/gov_uk_delivery.rb
327
329
  - lib/gds_api/fact_cave.rb
@@ -354,6 +356,7 @@ files:
354
356
  - test/response_test.rb
355
357
  - test/organisations_api_test.rb
356
358
  - test/imminence_api_test.rb
359
+ - test/content_store_test.rb
357
360
  - test/asset_manager_test.rb
358
361
  - test/fixtures/hello.txt
359
362
  - test/fixtures/world_organisations_australia.json
@@ -379,7 +382,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
379
382
  version: '0'
380
383
  segments:
381
384
  - 0
382
- hash: -3585520880765044712
385
+ hash: 331538465080981317
383
386
  required_rubygems_version: !ruby/object:Gem::Requirement
384
387
  none: false
385
388
  requirements:
@@ -388,7 +391,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
388
391
  version: '0'
389
392
  segments:
390
393
  - 0
391
- hash: -3585520880765044712
394
+ hash: 331538465080981317
392
395
  requirements: []
393
396
  rubyforge_project:
394
397
  rubygems_version: 1.8.23
@@ -416,6 +419,7 @@ test_files:
416
419
  - test/response_test.rb
417
420
  - test/organisations_api_test.rb
418
421
  - test/imminence_api_test.rb
422
+ - test/content_store_test.rb
419
423
  - test/asset_manager_test.rb
420
424
  - test/fixtures/hello.txt
421
425
  - test/fixtures/world_organisations_australia.json