gds-api-adapters 69.2.0 → 71.2.0

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.
@@ -4,7 +4,7 @@ module GdsApi
4
4
  def calendars_endpoint(in_division: nil)
5
5
  endpoint = "#{Plek.new.website_root}/bank-holidays"
6
6
  endpoint += "/#{in_division}" unless in_division.nil?
7
- endpoint + ".json"
7
+ "#{endpoint}.json"
8
8
  end
9
9
 
10
10
  def stub_calendars_has_no_bank_holidays(in_division: nil)
@@ -7,7 +7,7 @@ module GdsApi
7
7
  module ContentStore
8
8
  include ContentItemHelpers
9
9
 
10
- def content_store_endpoint(draft = false)
10
+ def content_store_endpoint(draft: false)
11
11
  draft ? Plek.current.find("draft-content-store") : Plek.current.find("content-store")
12
12
  end
13
13
 
@@ -21,10 +21,10 @@ module GdsApi
21
21
  def stub_content_store_has_item(base_path, body = content_item_for_base_path(base_path), options = {})
22
22
  max_age = options.fetch(:max_age, 900)
23
23
  visibility = options[:private] ? "private" : "public"
24
- url = content_store_endpoint(options[:draft]) + "/content" + base_path
25
24
  body = body.to_json unless body.is_a?(String)
26
25
 
27
- stub_request(:get, url).to_return(
26
+ endpoint = content_store_endpoint(draft: options[:draft])
27
+ stub_request(:get, "#{endpoint}/content#{base_path}").to_return(
28
28
  status: 200,
29
29
  body: body,
30
30
  headers: {
@@ -35,11 +35,9 @@ module GdsApi
35
35
  end
36
36
 
37
37
  def stub_content_store_does_not_have_item(base_path, options = {})
38
- url = content_store_endpoint(options[:draft]) + "/content" + base_path
39
- stub_request(:get, url).to_return(status: 404, headers: {})
40
-
41
- url = content_store_endpoint(options[:draft]) + "/incoming-links" + base_path
42
- stub_request(:get, url).to_return(status: 404, headers: {})
38
+ endpoint = content_store_endpoint(draft: options[:draft])
39
+ stub_request(:get, "#{endpoint}/content#{base_path}").to_return(status: 404, headers: {})
40
+ stub_request(:get, "#{endpoint}/incoming-links#{base_path}").to_return(status: 404, headers: {})
43
41
  end
44
42
 
45
43
  # Content store has gone item
@@ -67,10 +65,9 @@ module GdsApi
67
65
  # "details" => {}
68
66
  # }
69
67
  def stub_content_store_has_gone_item(base_path, body = gone_content_item_for_base_path(base_path), options = {})
70
- url = content_store_endpoint(options[:draft]) + "/content" + base_path
71
68
  body = body.to_json unless body.is_a?(String)
72
-
73
- stub_request(:get, url).to_return(
69
+ endpoint = content_store_endpoint(draft: options[:draft])
70
+ stub_request(:get, "#{endpoint}/content#{base_path}").to_return(
74
71
  status: 410,
75
72
  body: body,
76
73
  headers: {},
@@ -86,7 +83,7 @@ module GdsApi
86
83
  end
87
84
 
88
85
  def stub_content_store_has_incoming_links(base_path, links)
89
- url = content_store_endpoint + "/incoming-links" + base_path
86
+ url = "#{content_store_endpoint}/incoming-links#{base_path}"
90
87
  body = links.to_json
91
88
 
92
89
  stub_request(:get, url).to_return(body: body)
@@ -72,23 +72,6 @@ module GdsApi
72
72
  headers: { "Content-Type" => "application/json" },
73
73
  )
74
74
  end
75
-
76
- def stub_link_checker_api_upsert_resource_monitor(app:, reference:, links:)
77
- response_body = { id: 1 }.to_json
78
-
79
- request_body = {
80
- links: links,
81
- app: app,
82
- reference: reference,
83
- }.to_json
84
-
85
- stub_request(:post, "#{LINK_CHECKER_API_ENDPOINT}/monitor")
86
- .with(body: request_body)
87
- .to_return(
88
- body: response_body,
89
- headers: { "Content-Type" => "application/json" },
90
- )
91
- end
92
75
  end
93
76
  end
94
77
  end
@@ -5,7 +5,7 @@ module GdsApi
5
5
  module LocalLinksManager
6
6
  LOCAL_LINKS_MANAGER_ENDPOINT = Plek.current.find("local-links-manager")
7
7
 
8
- def stub_local_links_manager_has_a_link(authority_slug:, lgsl:, lgil:, url:, country_name: "England")
8
+ def stub_local_links_manager_has_a_link(authority_slug:, lgsl:, lgil:, url:, country_name: "England", status: "ok")
9
9
  response = {
10
10
  "local_authority" => {
11
11
  "name" => authority_slug.capitalize,
@@ -18,6 +18,7 @@ module GdsApi
18
18
  "lgsl_code" => lgsl,
19
19
  "lgil_code" => lgil,
20
20
  "url" => url,
21
+ "status" => status,
21
22
  },
22
23
  }
23
24
 
@@ -10,9 +10,9 @@ module GdsApi
10
10
  "postcode" => postcode,
11
11
  }
12
12
 
13
- stub_request(:get, "#{MAPIT_ENDPOINT}/postcode/" + postcode.tr(" ", "+") + ".json")
13
+ stub_request(:get, "#{MAPIT_ENDPOINT}/postcode/#{postcode.tr(' ', '+')}.json")
14
14
  .to_return(body: response.to_json, status: 200)
15
- stub_request(:get, "#{MAPIT_ENDPOINT}/postcode/partial/" + postcode.split(" ").first + ".json")
15
+ stub_request(:get, "#{MAPIT_ENDPOINT}/postcode/partial/#{postcode.split(' ').first}.json")
16
16
  .to_return(body: response.to_json, status: 200)
17
17
  end
18
18
 
@@ -37,9 +37,9 @@ module GdsApi
37
37
  }]
38
38
  end]
39
39
 
40
- stub_request(:get, "#{MAPIT_ENDPOINT}/postcode/" + postcode.tr(" ", "+") + ".json")
40
+ stub_request(:get, "#{MAPIT_ENDPOINT}/postcode/#{postcode.tr(' ', '+')}.json")
41
41
  .to_return(body: response.merge("areas" => area_response).to_json, status: 200)
42
- stub_request(:get, "#{MAPIT_ENDPOINT}/postcode/partial/" + postcode.split(" ").first + ".json")
42
+ stub_request(:get, "#{MAPIT_ENDPOINT}/postcode/partial/#{postcode.split(' ').first}.json")
43
43
  .to_return(body: response.to_json, status: 200)
44
44
  end
45
45
 
@@ -51,29 +51,29 @@ module GdsApi
51
51
  "country_name" => country_name,
52
52
  }
53
53
 
54
- stub_request(:get, "#{MAPIT_ENDPOINT}/postcode/" + postcode.tr(" ", "+") + ".json")
54
+ stub_request(:get, "#{MAPIT_ENDPOINT}/postcode/#{postcode.tr(' ', '+')}.json")
55
55
  .to_return(body: response.to_json, status: 200)
56
- stub_request(:get, "#{MAPIT_ENDPOINT}/postcode/partial/" + postcode.split(" ").first + ".json")
56
+ stub_request(:get, "#{MAPIT_ENDPOINT}/postcode/partial/#{postcode.split(' ').first}.json")
57
57
  .to_return(body: response.to_json, status: 200)
58
58
  end
59
59
 
60
60
  def stub_mapit_does_not_have_a_postcode(postcode)
61
- stub_request(:get, "#{MAPIT_ENDPOINT}/postcode/" + postcode.tr(" ", "+") + ".json")
61
+ stub_request(:get, "#{MAPIT_ENDPOINT}/postcode/#{postcode.tr(' ', '+')}.json")
62
62
  .to_return(body: { "code" => 404, "error" => "No Postcode matches the given query." }.to_json, status: 404)
63
63
  end
64
64
 
65
65
  def stub_mapit_does_not_have_a_bad_postcode(postcode)
66
- stub_request(:get, "#{MAPIT_ENDPOINT}/postcode/" + postcode.tr(" ", "+") + ".json")
66
+ stub_request(:get, "#{MAPIT_ENDPOINT}/postcode/#{postcode.tr(' ', '+')}.json")
67
67
  .to_return(body: { "code" => 400, "error" => "Postcode '#{postcode}' is not valid." }.to_json, status: 400)
68
68
  end
69
69
 
70
70
  def stub_mapit_has_areas(area_type, areas)
71
- stub_request(:get, "#{MAPIT_ENDPOINT}/areas/" + area_type + ".json")
71
+ stub_request(:get, "#{MAPIT_ENDPOINT}/areas/#{area_type}.json")
72
72
  .to_return(body: areas.to_json, status: 200)
73
73
  end
74
74
 
75
75
  def stub_mapit_does_not_have_areas(area_type)
76
- stub_request(:get, "#{MAPIT_ENDPOINT}/areas/" + area_type + ".json")
76
+ stub_request(:get, "#{MAPIT_ENDPOINT}/areas/#{area_type}.json")
77
77
  .to_return(body: [].to_json, status: 200)
78
78
  end
79
79
 
@@ -8,7 +8,7 @@ module GdsApi
8
8
  module PublishingApi
9
9
  include ContentItemHelpers
10
10
 
11
- PUBLISHING_API_V2_ENDPOINT = Plek.current.find("publishing-api") + "/v2"
11
+ PUBLISHING_API_V2_ENDPOINT = "#{Plek.current.find('publishing-api')}/v2".freeze
12
12
  PUBLISHING_API_ENDPOINT = Plek.current.find("publishing-api")
13
13
 
14
14
  # Stub a PUT /v2/content/:content_id request with the given content id and request body.
@@ -213,7 +213,7 @@ module GdsApi
213
213
  # @param attributes_or_matcher [Object]
214
214
  # @param times [Integer]
215
215
  def assert_publishing_api_put_content(content_id, attributes_or_matcher = nil, times = 1)
216
- url = PUBLISHING_API_V2_ENDPOINT + "/content/" + content_id
216
+ url = "#{PUBLISHING_API_V2_ENDPOINT}/content/#{content_id}"
217
217
  assert_publishing_api(:put, url, attributes_or_matcher, times)
218
218
  end
219
219
 
@@ -243,7 +243,7 @@ module GdsApi
243
243
  # @param attributes_or_matcher [Object]
244
244
  # @param times [Integer]
245
245
  def assert_publishing_api_patch_links(content_id, attributes_or_matcher = nil, times = 1)
246
- url = PUBLISHING_API_V2_ENDPOINT + "/links/" + content_id
246
+ url = "#{PUBLISHING_API_V2_ENDPOINT}/links/#{content_id}"
247
247
  assert_publishing_api(:patch, url, attributes_or_matcher, times)
248
248
  end
249
249
 
@@ -308,7 +308,7 @@ module GdsApi
308
308
  # @param items [Array]
309
309
  # @param params [Hash]
310
310
  def stub_publishing_api_has_content(items, params = {})
311
- url = PUBLISHING_API_V2_ENDPOINT + "/content"
311
+ url = "#{PUBLISHING_API_V2_ENDPOINT}/content"
312
312
 
313
313
  if params.respond_to? :fetch
314
314
  per_page = params.fetch(:per_page, 50)
@@ -369,7 +369,7 @@ module GdsApi
369
369
  # @param item [Hash]
370
370
  def stub_publishing_api_has_item(item, params = {})
371
371
  item = deep_transform_keys(item, &:to_sym)
372
- url = PUBLISHING_API_V2_ENDPOINT + "/content/" + item[:content_id]
372
+ url = "#{PUBLISHING_API_V2_ENDPOINT}/content/#{item[:content_id]}"
373
373
  stub_request(:get, url)
374
374
  .with(query: hash_including(params))
375
375
  .to_return(status: 200, body: item.to_json, headers: {})
@@ -380,7 +380,7 @@ module GdsApi
380
380
  # @param items [Array]
381
381
  def stub_publishing_api_has_item_in_sequence(content_id, items)
382
382
  items = items.each { |item| deep_transform_keys(item, &:to_sym) }
383
- url = PUBLISHING_API_V2_ENDPOINT + "/content/" + content_id
383
+ url = "#{PUBLISHING_API_V2_ENDPOINT}/content/#{content_id}"
384
384
  calls = -1
385
385
 
386
386
  stub_request(:get, url).to_return do |_request|
@@ -395,7 +395,7 @@ module GdsApi
395
395
  #
396
396
  # @param content_id [UUID]
397
397
  def stub_publishing_api_does_not_have_item(content_id, params = {})
398
- url = PUBLISHING_API_V2_ENDPOINT + "/content/" + content_id
398
+ url = "#{PUBLISHING_API_V2_ENDPOINT}/content/#{content_id}"
399
399
  stub_request(:get, url)
400
400
  .with(query: hash_including(params))
401
401
  .to_return(status: 404, body: resource_not_found(content_id, "content item").to_json, headers: {})
@@ -433,7 +433,7 @@ module GdsApi
433
433
  # }
434
434
  def stub_publishing_api_has_links(links)
435
435
  links = deep_transform_keys(links, &:to_sym)
436
- url = PUBLISHING_API_V2_ENDPOINT + "/links/" + links[:content_id]
436
+ url = "#{PUBLISHING_API_V2_ENDPOINT}/links/#{links[:content_id]}"
437
437
  stub_request(:get, url).to_return(status: 200, body: links.to_json, headers: {})
438
438
  end
439
439
 
@@ -497,7 +497,7 @@ module GdsApi
497
497
  request_params["with_drafts"] = false unless with_drafts
498
498
  request_params["generate"] = true if generate
499
499
 
500
- url = PUBLISHING_API_V2_ENDPOINT + "/expanded-links/" + links[:content_id]
500
+ url = "#{PUBLISHING_API_V2_ENDPOINT}/expanded-links/#{links[:content_id]}"
501
501
  stub_request(:get, url)
502
502
  .with(query: request_params)
503
503
  .to_return(status: 200, body: links.to_json, headers: {})
@@ -528,7 +528,7 @@ module GdsApi
528
528
  # }
529
529
  # }
530
530
  def stub_publishing_api_has_links_for_content_ids(links)
531
- url = PUBLISHING_API_V2_ENDPOINT + "/links/by-content-id"
531
+ url = "#{PUBLISHING_API_V2_ENDPOINT}/links/by-content-id"
532
532
  stub_request(:post, url).with(body: { content_ids: links.keys }).to_return(status: 200, body: links.to_json, headers: {})
533
533
  end
534
534
 
@@ -536,7 +536,7 @@ module GdsApi
536
536
  #
537
537
  # @param content_id [UUID]
538
538
  def stub_publishing_api_does_not_have_links(content_id)
539
- url = PUBLISHING_API_V2_ENDPOINT + "/links/" + content_id
539
+ url = "#{PUBLISHING_API_V2_ENDPOINT}/links/#{content_id}"
540
540
  stub_request(:get, url).to_return(status: 404, body: resource_not_found(content_id, "link set").to_json, headers: {})
541
541
  end
542
542
 
@@ -552,7 +552,7 @@ module GdsApi
552
552
  # })
553
553
  #
554
554
  def stub_publishing_api_has_lookups(lookup_hash)
555
- url = PUBLISHING_API_ENDPOINT + "/lookup-by-base-path"
555
+ url = "#{PUBLISHING_API_ENDPOINT}/lookup-by-base-path"
556
556
  stub_request(:post, url).to_return(body: lookup_hash.to_json)
557
557
  end
558
558
 
@@ -605,7 +605,7 @@ module GdsApi
605
605
  # @param items [Array]
606
606
  # @param params [Hash]
607
607
  def stub_publishing_api_get_editions(editions, params = {})
608
- url = PUBLISHING_API_V2_ENDPOINT + "/editions"
608
+ url = "#{PUBLISHING_API_V2_ENDPOINT}/editions"
609
609
 
610
610
  results = editions.map do |edition|
611
611
  next edition unless params[:fields]
@@ -670,7 +670,7 @@ module GdsApi
670
670
  end
671
671
 
672
672
  def stub_publishing_api_destroy_intent(base_path)
673
- url = PUBLISHING_API_ENDPOINT + "/publish-intent" + base_path
673
+ url = "#{PUBLISHING_API_ENDPOINT}/publish-intent#{base_path}"
674
674
  stub_request(:delete, url).to_return(status: 200, body: "{}", headers: { "Content-Type" => "application/json; charset=utf-8" })
675
675
  end
676
676
 
@@ -679,7 +679,7 @@ module GdsApi
679
679
  end
680
680
 
681
681
  def assert_publishing_api_put_intent(base_path, attributes_or_matcher = {}, times = 1)
682
- url = PUBLISHING_API_ENDPOINT + "/publish-intent" + base_path
682
+ url = "#{PUBLISHING_API_ENDPOINT}/publish-intent#{base_path}"
683
683
  assert_publishing_api_put(url, attributes_or_matcher, times)
684
684
  end
685
685
 
@@ -792,8 +792,7 @@ module GdsApi
792
792
  def stub_publishing_api_returns_path_reservation_validation_error_for(base_path, error_fields = {})
793
793
  error_fields = { "base_path" => ["Computer says no"] } if error_fields.empty?
794
794
 
795
- message = error_fields.keys.first.to_s.capitalize.gsub(/_/, " ") + " " +
796
- error_fields.values.flatten.first
795
+ message = "#{error_fields.keys.first.to_s.capitalize.gsub(/_/, ' ')} #{error_fields.values.flatten.first}"
797
796
 
798
797
  error = { code: 422, message: message, fields: error_fields }
799
798
 
@@ -817,7 +816,7 @@ module GdsApi
817
816
  response_hash = { status: 200, body: "{}", headers: { "Content-Type" => "application/json; charset=utf-8" } }
818
817
  response_hash.merge!(override_response_hash)
819
818
  response_hash[:body] = response_hash[:body].to_json if response_hash[:body].is_a?(Hash)
820
- url = PUBLISHING_API_V2_ENDPOINT + resource_path + "/" + content_id
819
+ url = "#{PUBLISHING_API_V2_ENDPOINT}#{resource_path}/#{content_id}"
821
820
  stub_request(method, url).with(body: body).to_return(response_hash)
822
821
  end
823
822
 
@@ -858,7 +857,7 @@ module GdsApi
858
857
  end
859
858
 
860
859
  def stub_publishing_api_unreserve_path_with_code(base_path, publishing_app, code)
861
- url = PUBLISHING_API_ENDPOINT + "/paths" + base_path
860
+ url = "#{PUBLISHING_API_ENDPOINT}/paths#{base_path}"
862
861
  body = { publishing_app: publishing_app }
863
862
  stub_request(:delete, url).with(body: body).to_return(status: code, body: "{}", headers: { "Content-Type" => "application/json; charset=utf-8" })
864
863
  end
@@ -20,7 +20,7 @@ module GdsApi
20
20
  url = if index
21
21
  SEARCH_ENDPOINT + "/#{index}/documents"
22
22
  else
23
- SEARCH_ENDPOINT + "/documents"
23
+ "#{SEARCH_ENDPOINT}/documents"
24
24
  end
25
25
 
26
26
  assert_requested(:post, url, **options) do |req|
@@ -1,3 +1,3 @@
1
1
  module GdsApi
2
- VERSION = "69.2.0".freeze
2
+ VERSION = "71.2.0".freeze
3
3
  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: 69.2.0
4
+ version: 71.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - GOV.UK Dev
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-01-20 00:00:00.000000000 Z
11
+ date: 2021-05-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: addressable
@@ -266,16 +266,16 @@ dependencies:
266
266
  name: rubocop-govuk
267
267
  requirement: !ruby/object:Gem::Requirement
268
268
  requirements:
269
- - - ">="
269
+ - - '='
270
270
  - !ruby/object:Gem::Version
271
- version: '0'
271
+ version: 4.0.0.pre.1
272
272
  type: :development
273
273
  prerelease: false
274
274
  version_requirements: !ruby/object:Gem::Requirement
275
275
  requirements:
276
- - - ">="
276
+ - - '='
277
277
  - !ruby/object:Gem::Version
278
- version: '0'
278
+ version: 4.0.0.pre.1
279
279
  - !ruby/object:Gem::Dependency
280
280
  name: simplecov
281
281
  requirement: !ruby/object:Gem::Requirement
@@ -371,6 +371,7 @@ files:
371
371
  - Rakefile
372
372
  - lib/gds-api-adapters.rb
373
373
  - lib/gds_api.rb
374
+ - lib/gds_api/account_api.rb
374
375
  - lib/gds_api/asset_manager.rb
375
376
  - lib/gds_api/base.rb
376
377
  - lib/gds_api/calendars.rb
@@ -388,8 +389,6 @@ files:
388
389
  - lib/gds_api/maslow.rb
389
390
  - lib/gds_api/middleware/govuk_header_sniffer.rb
390
391
  - lib/gds_api/organisations.rb
391
- - lib/gds_api/performance_platform/data_in.rb
392
- - lib/gds_api/performance_platform/data_out.rb
393
392
  - lib/gds_api/publishing_api.rb
394
393
  - lib/gds_api/publishing_api/special_route_publisher.rb
395
394
  - lib/gds_api/railtie.rb
@@ -398,6 +397,7 @@ files:
398
397
  - lib/gds_api/search.rb
399
398
  - lib/gds_api/support.rb
400
399
  - lib/gds_api/support_api.rb
400
+ - lib/gds_api/test_helpers/account_api.rb
401
401
  - lib/gds_api/test_helpers/asset_manager.rb
402
402
  - lib/gds_api/test_helpers/calendars.rb
403
403
  - lib/gds_api/test_helpers/common_responses.rb
@@ -411,8 +411,6 @@ files:
411
411
  - lib/gds_api/test_helpers/local_links_manager.rb
412
412
  - lib/gds_api/test_helpers/mapit.rb
413
413
  - lib/gds_api/test_helpers/organisations.rb
414
- - lib/gds_api/test_helpers/performance_platform/data_in.rb
415
- - lib/gds_api/test_helpers/performance_platform/data_out.rb
416
414
  - lib/gds_api/test_helpers/publishing_api.rb
417
415
  - lib/gds_api/test_helpers/router.rb
418
416
  - lib/gds_api/test_helpers/search.rb
@@ -440,7 +438,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
440
438
  requirements:
441
439
  - - ">="
442
440
  - !ruby/object:Gem::Version
443
- version: 2.4.0
441
+ version: 2.6.0
444
442
  required_rubygems_version: !ruby/object:Gem::Requirement
445
443
  requirements:
446
444
  - - ">="
@@ -1,27 +0,0 @@
1
- require_relative "../base"
2
-
3
- module GdsApi
4
- class PerformancePlatformDatasetNotConfigured < BaseError; end
5
-
6
- module PerformancePlatform
7
- class DataIn < GdsApi::Base
8
- def submit_service_feedback_day_aggregate(slug, request_details)
9
- post_json("#{endpoint}/data/#{slug}/customer-satisfaction", request_details)
10
- rescue GdsApi::HTTPNotFound
11
- raise PerformancePlatformDatasetNotConfigured, "Dataset for slug [#{slug}] not set up"
12
- end
13
-
14
- def corporate_content_problem_report_count(entries)
15
- post_json("#{endpoint}/data/gov-uk-content/feedback-count", entries)
16
- end
17
-
18
- def corporate_content_urls_with_the_most_problem_reports(entries)
19
- post_json("#{endpoint}/data/gov-uk-content/top-urls", entries)
20
- end
21
-
22
- def submit_problem_report_daily_totals(entries)
23
- post_json("#{endpoint}/data/govuk-info/page-contacts", entries)
24
- end
25
- end
26
- end
27
- end