fax_finder 0.2.1 → 0.2.2
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.
- data/VERSION +1 -1
- data/fax_finder.gemspec +6 -3
- data/lib/fax_finder/abort.rb +28 -0
- data/lib/fax_finder/request.rb +8 -2
- data/lib/fax_finder/response.rb +2 -0
- data/lib/fax_finder.rb +1 -0
- data/pkg/fax_finder-0.2.1.gem +0 -0
- data/pkg/fax_finder-0.2.2.gem +0 -0
- data/test/abort_test.rb +51 -0
- data/test/send_test.rb +6 -2
- metadata +8 -5
- data/pkg/fax_finder-0.2.0.gem +0 -0
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.2.
|
1
|
+
0.2.2
|
data/fax_finder.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{fax_finder}
|
8
|
-
s.version = "0.2.
|
8
|
+
s.version = "0.2.2"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Erich L. Timkar"]
|
12
|
-
s.date = %q{2011-
|
12
|
+
s.date = %q{2011-07-12}
|
13
13
|
s.email = %q{erich@hordesoftware.com}
|
14
14
|
s.extra_rdoc_files = [
|
15
15
|
"LICENSE",
|
@@ -25,11 +25,14 @@ Gem::Specification.new do |s|
|
|
25
25
|
"fax_finder.gemspec",
|
26
26
|
"fax_finder.tmproj",
|
27
27
|
"lib/fax_finder.rb",
|
28
|
+
"lib/fax_finder/abort.rb",
|
28
29
|
"lib/fax_finder/query.rb",
|
29
30
|
"lib/fax_finder/request.rb",
|
30
31
|
"lib/fax_finder/response.rb",
|
31
32
|
"lib/fax_finder/send.rb",
|
32
|
-
"pkg/fax_finder-0.2.
|
33
|
+
"pkg/fax_finder-0.2.1.gem",
|
34
|
+
"pkg/fax_finder-0.2.2.gem",
|
35
|
+
"test/abort_test.rb",
|
33
36
|
"test/fixtures/send_request_external.xml",
|
34
37
|
"test/fixtures/send_request_inline.xml",
|
35
38
|
"test/fixtures/send_response_success.xml",
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require 'nokogiri'
|
2
|
+
require 'builder'
|
3
|
+
|
4
|
+
module FaxFinder
|
5
|
+
|
6
|
+
class Abort < Request
|
7
|
+
def self.delete(fax_key, entry_key)
|
8
|
+
self.post(){
|
9
|
+
construct_http_request(fax_key, entry_key)
|
10
|
+
}
|
11
|
+
end
|
12
|
+
|
13
|
+
def self.construct_http_request(fax_key, entry_key)
|
14
|
+
request = Net::HTTP::Delete.new(self.path(fax_key, entry_key))
|
15
|
+
request.basic_auth self.user, self.password
|
16
|
+
request.set_content_type(Request::CONTENT_TYPE)
|
17
|
+
request
|
18
|
+
end
|
19
|
+
|
20
|
+
def self.path(fax_key, entry_key)
|
21
|
+
params=[BASE_PATH, fax_key, entry_key].reject{ |p| p.nil? }
|
22
|
+
File.join(*params)
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
28
|
+
|
data/lib/fax_finder/request.rb
CHANGED
@@ -24,8 +24,12 @@ module FaxFinder
|
|
24
24
|
response_body=nil
|
25
25
|
|
26
26
|
begin
|
27
|
-
|
28
|
-
|
27
|
+
|
28
|
+
_http=Net::HTTP.new(Request.host, Request.port)
|
29
|
+
_http.use_ssl=Request.ssl
|
30
|
+
_http.verify_mode = OpenSSL::SSL::VERIFY_NONE if _http.use_ssl?
|
31
|
+
|
32
|
+
_http.start {|http|
|
29
33
|
http_request = yield
|
30
34
|
http_request.basic_auth Request.user, Request.password
|
31
35
|
http_request.set_content_type(Request::CONTENT_TYPE)
|
@@ -34,6 +38,8 @@ module FaxFinder
|
|
34
38
|
}
|
35
39
|
rescue Errno::ECONNREFUSED => e
|
36
40
|
response_body=Responses::NO_CONNECTION
|
41
|
+
rescue OpenSSL::SSL::SSLError => e
|
42
|
+
response_body=Responses::BAD_SSL_CONFIG
|
37
43
|
rescue RuntimeError => e
|
38
44
|
response_body=Responses::APPLICATION_ERROR.gsub(Responses::ERROR_GSUB, e.message)
|
39
45
|
end
|
data/lib/fax_finder/response.rb
CHANGED
@@ -14,6 +14,8 @@ module FaxFinder
|
|
14
14
|
NO_CONNECTION = APPLICATION_ERROR.gsub('####MESSAGE#####', 'No connection to fax server')
|
15
15
|
|
16
16
|
UNAUTHORIZED = APPLICATION_ERROR.gsub('####MESSAGE#####', 'Unauthorized to communicate with fax server.')
|
17
|
+
|
18
|
+
BAD_SSL_CONFIG = APPLICATION_ERROR.gsub('####MESSAGE#####', 'Your connection is not configured correctly. If you are using SSL, make sure the port is is set to 443.')
|
17
19
|
|
18
20
|
end
|
19
21
|
|
data/lib/fax_finder.rb
CHANGED
Binary file
|
Binary file
|
data/test/abort_test.rb
ADDED
@@ -0,0 +1,51 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/test_helper'
|
2
|
+
|
3
|
+
module FaxFinder
|
4
|
+
class AbortDeleteTest<Test::Unit::TestCase
|
5
|
+
def setup
|
6
|
+
Request.configure('example.com', 'user', 'password')
|
7
|
+
end
|
8
|
+
|
9
|
+
def test_get
|
10
|
+
Abort.delete('user', 'password')
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_gets_returns_response
|
14
|
+
assert_instance_of(FaxFinder::Response, Abort.delete(nil, nil))
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
class AbortConstructHttpRequestTest<Test::Unit::TestCase
|
19
|
+
def setup
|
20
|
+
Request.configure('example.com', 'user', 'password')
|
21
|
+
@http_request=Abort.construct_http_request('fax_key', 'entry_key')
|
22
|
+
end
|
23
|
+
|
24
|
+
def test_returns_a_get
|
25
|
+
assert_instance_of(Net::HTTP::Delete, @http_request)
|
26
|
+
end
|
27
|
+
|
28
|
+
def test_sets_path
|
29
|
+
assert_equal(Abort.path('fax_key', 'entry_key'), @http_request.path)
|
30
|
+
end
|
31
|
+
|
32
|
+
def test_sets_basic_auth
|
33
|
+
assert_not_nil(@http_request['authorization'])
|
34
|
+
end
|
35
|
+
|
36
|
+
def test_sets_content_type
|
37
|
+
assert_equal('text/xml', @http_request['Content-Type'])
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
class AbortPathTest<Test::Unit::TestCase
|
42
|
+
def setup
|
43
|
+
end
|
44
|
+
|
45
|
+
def test_constructs_using_base_path
|
46
|
+
assert_equal(Request::BASE_PATH+'/'+'fax_key' +'/'+'entry_key', Abort.path('fax_key', 'entry_key'))
|
47
|
+
end
|
48
|
+
|
49
|
+
end
|
50
|
+
|
51
|
+
end
|
data/test/send_test.rb
CHANGED
@@ -32,6 +32,8 @@ module FaxFinder
|
|
32
32
|
class SendConstructXMLTest<Test::Unit::TestCase
|
33
33
|
def setup
|
34
34
|
@doc=Nokogiri::XML(Send.construct_xml('1234567890', OPTIONS.merge(:external_url=>'https://localhost/something')))
|
35
|
+
now=Time.now.utc
|
36
|
+
@now_utc=DateTime.civil(Date.today.year, Date.today.month, Date.today.day, now.hour, now.min, now.sec)
|
35
37
|
end
|
36
38
|
|
37
39
|
def test_returns_string_and_doesnt_blow_up
|
@@ -96,12 +98,14 @@ module FaxFinder
|
|
96
98
|
end
|
97
99
|
|
98
100
|
def test_includes_schedule_all_at
|
99
|
-
|
101
|
+
actual=DateTime.parse(@doc.xpath('//schedule_fax/schedule_all_at').text)
|
102
|
+
(@now_utc.ajd-actual.ajd).abs < 5
|
100
103
|
end
|
101
104
|
|
102
105
|
def test_converts_to_utc
|
103
106
|
@doc=Nokogiri::XML(Send.construct_xml('1234567890', OPTIONS.merge(:schedule_all_at=>Time.now, :external_url=>'https://localhost/something')))
|
104
|
-
|
107
|
+
actual=DateTime.now(@doc.xpath('//schedule_fax/schedule_all_at').text)
|
108
|
+
(@now_utc.ajd-actual.ajd).abs < 5
|
105
109
|
end
|
106
110
|
|
107
111
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fax_finder
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 19
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 2
|
9
|
-
-
|
10
|
-
version: 0.2.
|
9
|
+
- 2
|
10
|
+
version: 0.2.2
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Erich L. Timkar
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-
|
18
|
+
date: 2011-07-12 00:00:00 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
name: nokogiri
|
@@ -97,11 +97,14 @@ files:
|
|
97
97
|
- fax_finder.gemspec
|
98
98
|
- fax_finder.tmproj
|
99
99
|
- lib/fax_finder.rb
|
100
|
+
- lib/fax_finder/abort.rb
|
100
101
|
- lib/fax_finder/query.rb
|
101
102
|
- lib/fax_finder/request.rb
|
102
103
|
- lib/fax_finder/response.rb
|
103
104
|
- lib/fax_finder/send.rb
|
104
|
-
- pkg/fax_finder-0.2.
|
105
|
+
- pkg/fax_finder-0.2.1.gem
|
106
|
+
- pkg/fax_finder-0.2.2.gem
|
107
|
+
- test/abort_test.rb
|
105
108
|
- test/fixtures/send_request_external.xml
|
106
109
|
- test/fixtures/send_request_inline.xml
|
107
110
|
- test/fixtures/send_response_success.xml
|
data/pkg/fax_finder-0.2.0.gem
DELETED
Binary file
|