govuk_content_item_loader 1.2.0 → 1.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d9f2c50ebc136f3c6f3303d1bff102d8f8cb603a2df8fa0d4fa23710ed4c0b6d
4
- data.tar.gz: 5d86e91dded77543c5b30d6310245d230ed60cca32a3367406147952427640c4
3
+ metadata.gz: 2706641da9c4079e8da612e4bf3cb35a18a1d3957995022e54a8051ecce635ec
4
+ data.tar.gz: b9fb4b83c2cd9a0927f9b998156f3cca9bc390b4a486d7af5d5b96395e567c78
5
5
  SHA512:
6
- metadata.gz: be560a01f12d317253875eeb418a1c3f4962bd31d3c0a63ca2cacb8e74505a3860a1c64080d48374fe8ecf70e66eeb514c88613a3bc1c3cf23921677d8be0188
7
- data.tar.gz: 9173b6bf38e6eb65341ec4b7b77c96c65be812d4548a8795822a015ae6cae24bcd2be1656ce4ccabc1e9a82ddfbdf182318dc00e46c5f276b3d51b4c86941528
6
+ metadata.gz: 6ac3b1f7f1d5bad18afe1b0716bc238d2bc7abe3e2c976208cbb0dc9178ecb2dab8549780d4565d1d9e94940ecde2d0af3098f0a04dee32d6de30f1e3985be4a
7
+ data.tar.gz: da3e422b44b8c86f5bfda89d3f43a2b43992bc2cdf50786477923e338cf29d9daf5a54d7f84cfdb18a354ce572a3fc929af68c8b7e59aece6b94d5d82a6abf9d
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.2.1
4
+
5
+ * Stub the requests in test helpers and add Plek as dependency
6
+
3
7
  ## 1.2.0
4
8
 
5
9
  * Add test helpers which provide stubs
@@ -20,6 +20,7 @@ Gem::Specification.new do |spec|
20
20
  spec.require_paths = %w[lib]
21
21
 
22
22
  spec.add_dependency "gds-api-adapters", ">= 99.3"
23
+ spec.add_dependency "plek", ">= 1.9.0"
23
24
  spec.add_dependency "railties", ">= 7.2"
24
25
 
25
26
  spec.add_development_dependency "climate_control"
@@ -1,11 +1,8 @@
1
1
  require "json"
2
2
 
3
3
  module GovukConditionalContentItemLoaderTestHelpers
4
- Response = Struct.new(:status, :body, :headers) do
5
- def to_h
6
- JSON.parse(body)
7
- end
8
- end
4
+ CONTENT_STORE_ENDPOINT = Plek.find("content-store")
5
+ PUBLISHING_API_ENDPOINT = Plek.find("publishing-api")
9
6
 
10
7
  # Stubs the loader returns a content item
11
8
  # The following options can be passed in:
@@ -14,22 +11,25 @@ module GovukConditionalContentItemLoaderTestHelpers
14
11
  # :private if true, the Cache-Control header will include the "private" directive. By default it
15
12
  # will include "public"
16
13
  def stub_conditional_loader_returns_content_item(body, options = {})
17
- body.to_json unless body.is_a?(String)
14
+ body = body.is_a?(String) ? body : body.to_json
18
15
  max_age = options.fetch(:max_age, 900)
19
16
  visibility = options[:private] ? "private" : "public"
20
17
 
21
- response = Response.new(200, body, {
22
- cache_control: "#{visibility}, max-age=#{max_age}",
23
- date: Time.now.httpdate,
24
- })
18
+ [CONTENT_STORE_ENDPOINT, PUBLISHING_API_ENDPOINT].each do |endpoint|
19
+ stub_request(:get, %r{#{Regexp.escape(endpoint)}}).to_return(
20
+ status: 200,
21
+ body: body,
22
+ headers: {
23
+ "Cache-Control" => "#{visibility}, max-age=#{max_age}",
24
+ "Date" => Time.now.httpdate,
25
+ },
26
+ )
27
+ end
25
28
 
26
- loader = instance_double(GovukConditionalContentItemLoader, load: response)
29
+ loader = instance_double(GovukConditionalContentItemLoader, load: JSON.parse(body))
27
30
 
28
31
  allow(GovukConditionalContentItemLoader).to receive(:new).with(request: anything)
29
32
  .and_return(loader)
30
- allow(loader).to receive(:load).and_return(body)
31
-
32
- response
33
33
  end
34
34
 
35
35
  # Stubs the loader returns a error response
@@ -1,3 +1,3 @@
1
1
  module GovukContentItemLoader
2
- VERSION = "1.2.0".freeze
2
+ VERSION = "1.2.1".freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: govuk_content_item_loader
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - GOV.UK Dev
@@ -23,6 +23,20 @@ dependencies:
23
23
  - - ">="
24
24
  - !ruby/object:Gem::Version
25
25
  version: '99.3'
26
+ - !ruby/object:Gem::Dependency
27
+ name: plek
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 1.9.0
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: 1.9.0
26
40
  - !ruby/object:Gem::Dependency
27
41
  name: railties
28
42
  requirement: !ruby/object:Gem::Requirement