achecker 0.0.8 → 0.0.9

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
  SHA256:
3
- metadata.gz: 81cb83286205d2f7a2422edaf1da303ca3b32f21f1b98fd94f3b316a21248679
4
- data.tar.gz: 822ebb9607a6e5a35e9a48779683bd4d56f243493c93eeff5f2e9a109ce0d576
3
+ metadata.gz: 6d61483eaa32ce5d2657c48a3a9349a1e325918690544993e6ce92ce299c77fa
4
+ data.tar.gz: 7f706edf00a80751a9f3504462df5b907195ea5c992cd0e8b8e5d66cc0cafc16
5
5
  SHA512:
6
- metadata.gz: 8c557df7575c0763bcabeb2453bed0659e7fb84c3bf02c77e483819040853464fe751a4b51d2da6cc7dc62170ed6c2c58878d5e1aab2fb1cc7be13ebc6ba0ca5
7
- data.tar.gz: f817494396fbf8c48b8904c221eff8928d38c254af22a158fdf8589ece7cae4640d0860a0bc50ead3b8f21cfd002936e839cf7abadc54388ece3ac9ad6884c81
6
+ metadata.gz: 6b446d4735926b58e259a97baa245bce17637e7865c797e64d73629ca0894e732be334a13b34cf93e1f6c7a2dce0263254a57fa7fa5d96a1c814967aabc97377
7
+ data.tar.gz: 8e589db1376e92a8d82d419bc69d061fe94511b3e854f3aa1f96899edf06e8b9bad4d65c8631fcde795c96c095947fa12db91e0b470bcbc6b291e481782cdaf3
@@ -6,8 +6,10 @@ module AChecker
6
6
 
7
7
  class Api
8
8
 
9
- def initialize(id)
10
- @url_builder = UrlBuilder.new(id)
9
+ BASE_URL = "https://achecker.ca/checkacc.php"
10
+
11
+ def initialize(id, achecker_url = nil)
12
+ @url_builder = UrlBuilder.new(id, achecker_url || BASE_URL)
11
13
  @result_builder = CheckResultBuilder.new
12
14
  end
13
15
 
@@ -15,7 +17,9 @@ module AChecker
15
17
  url = @url_builder.build(target_url, "rest")
16
18
  response = Net::HTTP.get_response(url)
17
19
 
18
- raise "Error processing \"#{target_url}\". Response status code #{response.code}" unless response.kind_of?(Net::HTTPSuccess)
20
+ unless response.kind_of?(Net::HTTPSuccess) then
21
+ raise "Error processing \"#{target_url}\". Response status code #{response.code} returned when requesting to achecker at #{url}"
22
+ end
19
23
 
20
24
  @result_builder.build(target_url, @url_builder.build(target_url, "html"), response.body)
21
25
  end
@@ -4,14 +4,13 @@ module AChecker
4
4
 
5
5
  class UrlBuilder
6
6
 
7
- BASE_URL = "https://achecker.ca/checkacc.php"
8
-
9
- def initialize(id = nil)
7
+ def initialize(id, achecker_url)
10
8
  @id = id
9
+ @achecker_url = achecker_url
11
10
  end
12
11
 
13
12
  def build(target_url, output)
14
- url = "#{BASE_URL}?uri=#{CGI::escape(target_url)}&output=#{output}"
13
+ url = "#{@achecker_url}?uri=#{CGI::escape(target_url)}&output=#{output}"
15
14
  url = "#{url}&id=#{@id}" if output == "rest"
16
15
  URI(url)
17
16
  end
@@ -1,3 +1,3 @@
1
1
  module AChecker
2
- VERSION = "0.0.8"
2
+ VERSION = "0.0.9"
3
3
  end
@@ -8,10 +8,9 @@ module AChecker
8
8
 
9
9
  describe "#check" do
10
10
 
11
- it "should check url" do
12
- id = "12345678"
13
- url = CGI::escape("http://example.com/some-resource/")
14
- xml = <<-eos
11
+ let(:id) { "12345678" }
12
+ let(:url) { CGI::escape("http://example.com/some-resource/") }
13
+ let(:xml) { <<-eos
15
14
  <?xml version="1.0" encoding="ISO-8859-1"?>
16
15
  <resultset>
17
16
  <summary>
@@ -19,20 +18,37 @@ module AChecker
19
18
  </summary>
20
19
  </resultset>
21
20
  eos
21
+ }
22
+
23
+ context "when achecker url is not provided" do
24
+ it "should check url" do
25
+ stub_request(:get, "https://achecker.ca/checkacc.php")
26
+ .with(:query => {"uri" => url, "id" => id, "output" => "rest"})
27
+ .to_return(:body => xml)
22
28
 
29
+ api = Api.new(id)
23
30
 
24
- stub_request(:get, "https://achecker.ca/checkacc.php")
25
- .with(:query => {"uri" => url, "id" => id, "output" => "rest"})
26
- .to_return(:body => xml)
31
+ result = api.check(url)
27
32
 
28
- api = Api.new(id)
33
+ expect(result.url).to eq(url)
34
+ expect(result.num_errors).to eq(30)
35
+ end
36
+ end
29
37
 
30
- result = api.check(url)
38
+ context "when achecker url is provided" do
39
+ it "should check url" do
40
+ stub_request(:get, "https://some.url/checkacc.php")
41
+ .with(:query => {"uri" => url, "id" => id, "output" => "rest"})
42
+ .to_return(:body => xml)
31
43
 
32
- expect(result.url).to eq(url)
33
- expect(result.num_errors).to eq(30)
34
- end
44
+ api = Api.new(id, "https://some.url/checkacc.php")
35
45
 
46
+ result = api.check(url)
47
+
48
+ expect(result.url).to eq(url)
49
+ expect(result.num_errors).to eq(30)
50
+ end
51
+ end
36
52
  end
37
53
 
38
54
  end
@@ -4,11 +4,12 @@ module AChecker
4
4
 
5
5
  describe UrlBuilder do
6
6
 
7
- let(:id) { "12345" }
8
- let(:builder) { UrlBuilder.new(id) }
9
-
10
7
  describe "#build" do
11
8
 
9
+ let(:id) { "12345" }
10
+ let(:achecker_url) { "https://some.other.url/checkacc.php" }
11
+ let(:builder) { UrlBuilder.new(id, achecker_url) }
12
+
12
13
  context "when output is rest" do
13
14
  it "should set the id" do
14
15
  url = builder.build("http://target.url", "rest").to_s
@@ -23,6 +24,11 @@ module AChecker
23
24
  end
24
25
  end
25
26
 
27
+ it "should use the provided url" do
28
+ url = builder.build("http://target.url", "rest").to_s
29
+ expect(url).to start_with(achecker_url)
30
+ end
31
+
26
32
  end
27
33
 
28
34
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: achecker
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8
4
+ version: 0.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rafael Magrin
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-04-10 00:00:00.000000000 Z
11
+ date: 2020-04-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri