geti 1.2.0 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.2.0
1
+ 1.3.0
@@ -174,6 +174,7 @@ class Geti::AppClient < Geti::Client
174
174
  end
175
175
 
176
176
  def data(xml, opts)
177
+ opts = filter_invalid_characters(opts)
177
178
  filename = "%s_%s.xml" % [opts[:id].to_s, Time.now.strftime("%d_%b_%Y_%H_%M_%S")]
178
179
  xml.Envelope do
179
180
  xml.Body :FileName => filename, :FileDate => Time.now.iso8601 do
@@ -255,6 +256,20 @@ class Geti::AppClient < Geti::Client
255
256
  end
256
257
  end
257
258
 
259
+ def filter_invalid_characters(opts)
260
+ opts = opts.dup
261
+ opts[:address].gsub!(/[^a-zA-Z0-9 #-:;']/, '')
262
+ opts[:physical_address].gsub!(/[^a-zA-Z0-9 #-:;']/, '')
263
+ opts[:principal_address].gsub!(/[^a-zA-Z0-9 #-:;']/, '')
264
+
265
+ opts[:city].gsub!(/[^a-zA-Z0-9 ]/, '')
266
+ opts[:physical_city].gsub!(/[^a-zA-Z0-9 ]/, '')
267
+ opts[:principal_city].gsub!(/[^a-zA-Z0-9 ]/, '')
268
+
269
+ opts[:principal_ssn].gsub!(/[^0-9]/, '')
270
+ opts
271
+ end
272
+
258
273
  def service_address
259
274
  "https://#{domain}/webservices/AppGateway.asmx?WSDL"
260
275
  end
@@ -147,6 +147,46 @@ describe Geti::AppClient do
147
147
  client.board_merchant_ach(request_payload)
148
148
  end
149
149
 
150
+ describe 'character filtering' do
151
+ let(:client) { Geti::AppClient.new(test_credentials, {}) }
152
+
153
+ it 'filters city' do
154
+ data = request_payload.merge(:city => 'St. Johns')
155
+ client.filter_invalid_characters(data)[:city].should == "St Johns"
156
+ end
157
+
158
+ it 'filters address' do
159
+ data = request_payload.merge(:address => '12 Main St, Suite B!')
160
+ client.filter_invalid_characters(data)[:address].should == "12 Main St, Suite B"
161
+ end
162
+
163
+ it 'filters physical_city' do
164
+ data = request_payload.merge(:physical_city => 'St. Johns')
165
+ client.filter_invalid_characters(data)[:physical_city].should == "St Johns"
166
+ end
167
+
168
+ it 'filters physical_address' do
169
+ data = request_payload.merge(:physical_address => '12 Main St, Suite B!')
170
+ client.filter_invalid_characters(data)[:physical_address].should == "12 Main St, Suite B"
171
+ end
172
+
173
+ it 'filters principal_city' do
174
+ data = request_payload.merge(:principal_city => 'St. Johns')
175
+ client.filter_invalid_characters(data)[:principal_city].should == "St Johns"
176
+ end
177
+
178
+ it 'filters principal_address' do
179
+ data = request_payload.merge(:principal_address => '12 Main St, Suite B!')
180
+ client.filter_invalid_characters(data)[:principal_address].should == "12 Main St, Suite B"
181
+ end
182
+
183
+ it 'filters principal_ssn' do
184
+ data = request_payload.merge(:principal_ssn => '111-22-3333')
185
+ client.filter_invalid_characters(data)[:principal_ssn].should == "111223333"
186
+ end
187
+
188
+ end
189
+
150
190
  describe 'response on success' do
151
191
  let(:client) {
152
192
  Geti::AppClient.new(test_credentials, {}).tap{|c|
@@ -1,6 +1,6 @@
1
1
  require 'helper'
2
2
 
3
- describe Geti::AppClient do
3
+ describe Geti::AppClient, :remote => true do
4
4
  before :all do
5
5
  @timestamp = Time.now.to_i
6
6
  end
@@ -18,7 +18,7 @@ describe Geti::AppClient do
18
18
  :days_in_business => 404,
19
19
 
20
20
  :contact_name => 'George Jetson',
21
- :physical_address => "123 Main St",
21
+ :physical_address => "123 Main St, Suite B",
22
22
  :physical_city => "Vancouver",
23
23
  :physical_state => "WA",
24
24
  :physical_zip => "10120",
@@ -8,7 +8,7 @@ def routing_number(type)
8
8
  }[type]
9
9
  end
10
10
 
11
- describe Geti::AuthClient do
11
+ describe Geti::AuthClient, :remote => true do
12
12
  let(:credentials) { test_credentials('auth') }
13
13
 
14
14
  describe '#get_terminal_settings' do
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: geti
3
3
  version: !ruby/object:Gem::Version
4
- hash: 31
4
+ hash: 27
5
5
  prerelease:
6
6
  segments:
7
7
  - 1
8
- - 2
8
+ - 3
9
9
  - 0
10
- version: 1.2.0
10
+ version: 1.3.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Jamie Macey
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2012-11-13 00:00:00 Z
18
+ date: 2012-11-23 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: savon