gds-api-adapters 10.0.0 → 10.1.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.
@@ -0,0 +1,7 @@
1
+ require_relative 'base'
2
+
3
+ class GdsApi::ExternalLinkTracker < GdsApi::Base
4
+ def add_external_link(url)
5
+ put_json!("#{endpoint}/url?url=#{CGI.escape(url)}", {})
6
+ end
7
+ end
@@ -1,3 +1,3 @@
1
1
  module GdsApi
2
- VERSION = '10.0.0'
2
+ VERSION = '10.1.0'
3
3
  end
@@ -0,0 +1,40 @@
1
+ require 'test_helper'
2
+ require 'gds_api/external_link_tracker'
3
+
4
+ describe GdsApi::ExternalLinkTracker do
5
+
6
+ before do
7
+ @base_api_url = "http://link-tracker-api.example.com"
8
+ @api = GdsApi::ExternalLinkTracker.new(@base_api_url)
9
+ end
10
+
11
+ describe "managing links" do
12
+ it "should allow creating an external link" do
13
+ req = WebMock.stub_request(:put, "#{@base_api_url}/url?url=http%3A%2F%2Ffoo.example.com%2F").
14
+ to_return(:status => 201,
15
+ :headers => {"Content-type" => "application/json"})
16
+
17
+ response = @api.add_external_link("http://foo.example.com/")
18
+ assert_equal 201, response.code
19
+
20
+ assert_requested(req)
21
+ end
22
+
23
+ it "should raise an error if creating an external link fails" do
24
+ req = WebMock.stub_request(:put, "#{@base_api_url}/url?url=invalid").
25
+ to_return(:status => 400, :headers => {"Content-type" => "application/json"})
26
+
27
+ e = nil
28
+ begin
29
+ @api.add_external_link("invalid")
30
+ rescue GdsApi::HTTPErrorResponse => ex
31
+ e = ex
32
+ end
33
+
34
+ refute_nil e
35
+ assert_equal 400, e.code
36
+
37
+ assert_requested(req)
38
+ end
39
+ end
40
+ 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.0.0
4
+ version: 10.1.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-03-05 00:00:00.000000000 Z
12
+ date: 2014-03-12 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: plek
@@ -325,6 +325,7 @@ files:
325
325
  - lib/gds_api/publisher.rb
326
326
  - lib/gds_api/router.rb
327
327
  - lib/gds_api/business_support_api.rb
328
+ - lib/gds_api/external_link_tracker.rb
328
329
  - lib/gds_api/content_api.rb
329
330
  - README.md
330
331
  - Rakefile
@@ -350,6 +351,7 @@ files:
350
351
  - test/fixtures/world_organisations_australia.json
351
352
  - test/router_test.rb
352
353
  - test/list_response_test.rb
354
+ - test/external_link_tracker_test.rb
353
355
  - test/gds_api_base_test.rb
354
356
  - test/worldwide_api_test.rb
355
357
  - test/test_helper.rb
@@ -368,7 +370,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
368
370
  version: '0'
369
371
  segments:
370
372
  - 0
371
- hash: 21857638136048876
373
+ hash: 1572270055243404070
372
374
  required_rubygems_version: !ruby/object:Gem::Requirement
373
375
  none: false
374
376
  requirements:
@@ -377,7 +379,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
377
379
  version: '0'
378
380
  segments:
379
381
  - 0
380
- hash: 21857638136048876
382
+ hash: 1572270055243404070
381
383
  requirements: []
382
384
  rubyforge_project:
383
385
  rubygems_version: 1.8.23
@@ -407,6 +409,7 @@ test_files:
407
409
  - test/fixtures/world_organisations_australia.json
408
410
  - test/router_test.rb
409
411
  - test/list_response_test.rb
412
+ - test/external_link_tracker_test.rb
410
413
  - test/gds_api_base_test.rb
411
414
  - test/worldwide_api_test.rb
412
415
  - test/test_helper.rb