strikeiron_address_verification 0.1.0 → 0.1.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.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.0
1
+ 0.1.1
@@ -40,6 +40,7 @@ module STRIKEIRON_ADDRESS_VERIFICATION
40
40
  rescue Exception => e
41
41
  @error = e.message
42
42
  end
43
+ #puts "#{@status.class} #{is_address_valid?} - address: #{@street_address}"
43
44
  end
44
45
 
45
46
  def fire_request
@@ -49,7 +50,7 @@ module STRIKEIRON_ADDRESS_VERIFICATION
49
50
  end
50
51
 
51
52
  def is_address_valid?
52
- @status != 304 && @status != 402
53
+ @status != '304' && @status != '402'
53
54
  end
54
55
 
55
56
  def prepare_payload
@@ -66,24 +67,3 @@ module STRIKEIRON_ADDRESS_VERIFICATION
66
67
  end
67
68
 
68
69
  end
69
-
70
- # == Schema Information
71
- #
72
- # Table name: address_verifications
73
- #
74
- # id :integer not null, primary key
75
- # order_id :integer
76
- # street_address :string(255) default(""), not null
77
- # street_address_2 :string(255) default("")
78
- # city :string(255) default(""), not null
79
- # state :string(255) default(""), not null
80
- # zip_code :string(255) default(""), not null
81
- # is_valid :boolean default(FALSE), not null
82
- # status :integer
83
- # status_msg :string(255)
84
- # error :string(255)
85
- # response :text
86
- # created_at :datetime
87
- # updated_at :datetime
88
- #
89
-
@@ -6,7 +6,7 @@ describe "StrikeironAddressVerification" do
6
6
  STRIKEIRON_ADDRESS_VERIFICATION.configure do |config|
7
7
  config.username = invalid_username
8
8
  config.password = invalid_password
9
- config.url = invalid_url
9
+ config.url = url
10
10
  config.timeout = 1
11
11
  config.open_timeout = 1
12
12
  end
@@ -37,7 +37,7 @@ describe "StrikeironAddressVerification" do
37
37
  it "should initialize" do
38
38
  subject.username.should == invalid_username
39
39
  subject.password.should == invalid_password
40
- subject.url.should == invalid_url
40
+ subject.url.should == url
41
41
  subject.street_address.should == ''
42
42
  subject.street_address_2.should == ''
43
43
  subject.city.should == ''
@@ -54,7 +54,87 @@ describe "StrikeironAddressVerification" do
54
54
  subject.verify address_options
55
55
  subject.is_valid?.should be
56
56
  end
57
+ it "invalid username or password should deny access" do
58
+ subject.verify address_options
59
+ subject.status.should_not be_kind_of(Integer)
60
+ subject.response.should == '<WebServiceResponse xmlns="http://ws.strikeiron.com"><Error>Invalid user identification format.</Error></WebServiceResponse>'
61
+ #subject.is_valid?.should_not be
62
+ end
63
+ end
64
+ describe "Verification with valid config data" do
65
+ before do
66
+ STRIKEIRON_ADDRESS_VERIFICATION.configure do |config|
67
+ config.username = username
68
+ config.password = password
69
+ config.url = url
70
+ config.timeout = timeout.to_i
71
+ config.open_timeout = open_timeout.to_i
72
+ end
73
+ end
74
+
75
+ let(:username) { ENV['STRIKEIRON_USERID'] }
76
+ let(:password) { ENV['STRIKEIRON_PW'] }
77
+ let(:url) { ENV['STRIKEIRON_ADDRESS_VERIFICATION_URL'] }
78
+ let(:timeout) { ENV['STRIKEIRON_TIMEOUT'] }
79
+ let(:open_timeout) { ENV['STRIKEIRON_OPEN_TIMEOUT'] }
57
80
 
81
+ subject { STRIKEIRON_ADDRESS_VERIFICATION::Address.new }
58
82
 
83
+ let(:address_options){
84
+ {
85
+ :street_address => street_address,
86
+ :street_address_2 => '',
87
+ :city => city,
88
+ :state => 'FL',
89
+ :zip_code => zip
90
+ }
91
+ }
92
+ describe "a timeout" do
93
+ let(:timeout) {0}
94
+ let(:open_timeout) {0}
95
+ let(:street_address){ '4701 Coconut Creek Parkway' }
96
+ let(:city){ 'Margate' }
97
+ let(:zip){ '33063' }
98
+ it "should time out" do
99
+ subject.verify address_options
100
+ subject.error.should == 'Request Timeout'
101
+ end
102
+
103
+ end
104
+ describe "Verify a valid address" do
105
+ let(:street_address){ '4701 Coconut Creek Parkway' }
106
+ let(:city){ 'Margate' }
107
+ let(:zip){ '33063' }
108
+
109
+ it "should accept a verify request for a valid address and return is_valid" do
110
+ subject.verify address_options
111
+ subject.is_valid?.should be
112
+ subject.status.should == "200"
113
+ subject.status_msg.should == 'Found'
114
+ end
115
+ end
116
+ describe "Verify a invalid address - not found" do
117
+ let(:street_address){ '987 NS 69th ct' }
118
+ let(:city){ 'Pompano Beach' }
119
+ let(:zip){ '33064' }
120
+
121
+ it "should accept a verify request for a invalid address" do
122
+ subject.verify address_options
123
+ subject.is_valid?.should be_false
124
+ subject.status.should == "304"
125
+ subject.status_msg.should == 'Address Not Found'
126
+ end
127
+ end
128
+ describe "Verify a invalid address - City or zip code not found" do
129
+ let(:street_address){ '987 NS 69th ct' }
130
+ let(:zip){ '99999' }
131
+ let(:city){ 'tinbuktwo' }
132
+ it "should accept a verify request for a valid address" do
133
+ subject.verify address_options
134
+ subject.is_valid?.should be_false
135
+ subject.status.should == "402"
136
+ subject.status_msg.should == 'City or ZIP Code is Invalid'
137
+ end
138
+ end
59
139
  end
60
140
  end
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "strikeiron_address_verification"
8
- s.version = "0.1.0"
8
+ s.version = "0.1.1"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Jon Turner"]
@@ -26,7 +26,6 @@ Gem::Specification.new do |s|
26
26
  "Rakefile",
27
27
  "VERSION",
28
28
  "config/development.example.yaml",
29
- "config/development.yaml",
30
29
  "lib/strikeiron_address_verification.rb",
31
30
  "lib/strikeiron_address_verification/address.rb",
32
31
  "spec/spec_helper.rb",
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: strikeiron_address_verification
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2012-06-28 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
16
- requirement: &2168751080 !ruby/object:Gem::Requirement
16
+ requirement: &2169633800 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *2168751080
24
+ version_requirements: *2169633800
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: crack
27
- requirement: &2168750500 !ruby/object:Gem::Requirement
27
+ requirement: &2169633300 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *2168750500
35
+ version_requirements: *2169633300
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rest-client
38
- requirement: &2168749940 !ruby/object:Gem::Requirement
38
+ requirement: &2169632820 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *2168749940
46
+ version_requirements: *2169632820
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rspec
49
- requirement: &2168749420 !ruby/object:Gem::Requirement
49
+ requirement: &2169632320 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: 2.8.0
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *2168749420
57
+ version_requirements: *2169632320
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: rdoc
60
- requirement: &2168748820 !ruby/object:Gem::Requirement
60
+ requirement: &2169631840 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ~>
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: '3.12'
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *2168748820
68
+ version_requirements: *2169631840
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: bundler
71
- requirement: &2168748220 !ruby/object:Gem::Requirement
71
+ requirement: &2169631340 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ~>
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: 1.0.0
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *2168748220
79
+ version_requirements: *2169631340
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: jeweler
82
- requirement: &2168747560 !ruby/object:Gem::Requirement
82
+ requirement: &2169630820 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ~>
@@ -87,7 +87,7 @@ dependencies:
87
87
  version: 1.8.4
88
88
  type: :development
89
89
  prerelease: false
90
- version_requirements: *2168747560
90
+ version_requirements: *2169630820
91
91
  description: Strike Iron Address Verification
92
92
  email: jturner@saveology.com
93
93
  executables: []
@@ -105,7 +105,6 @@ files:
105
105
  - Rakefile
106
106
  - VERSION
107
107
  - config/development.example.yaml
108
- - config/development.yaml
109
108
  - lib/strikeiron_address_verification.rb
110
109
  - lib/strikeiron_address_verification/address.rb
111
110
  - spec/spec_helper.rb
@@ -127,7 +126,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
127
126
  version: '0'
128
127
  segments:
129
128
  - 0
130
- hash: -3924847419987601698
129
+ hash: -688267750604785176
131
130
  required_rubygems_version: !ruby/object:Gem::Requirement
132
131
  none: false
133
132
  requirements:
@@ -1,7 +0,0 @@
1
- STRIKEIRON_ADDRESS_VERIFICATION_ON: 'true'
2
- STRIKEIRON_ADDRESS_VERIFICATION_URL: 'http://ws.strikeiron.com/NAAddressVerification6/NorthAmericanAddressVerificationService/NorthAmericanAddressVerification'
3
- STRIKEIRON_USERID: 'fkaram@elephantgroup.com'
4
- STRIKEIRON_PW: 'ssellsat1i'
5
- STRIKEIRON_TIMEOUT: '3'
6
- STRIKEIRON_OPEN_TIMEOUT: '1'
7
-