Skip to content

Commit

Permalink
more files
Browse files Browse the repository at this point in the history
  • Loading branch information
julio committed Oct 15, 2011
1 parent 92a401a commit 6722869
Show file tree
Hide file tree
Showing 5 changed files with 60 additions and 28 deletions.
19 changes: 19 additions & 0 deletions config/config.yml
@@ -0,0 +1,19 @@
# experian tech support: 800 854 7201
# to change test password: https://stg1-ss1.experian.com/ssp/jsp/updateprofile.jsp
development: &defaults
experian:
host: stg1.experian.com
path: /lookupServlet1?lookupServiceName=AccessPoint&lookupServiceVersion=1.0&serviceName=NetConnectDemo&serviceVersion=2.0&responseType=text/plain
username: microplace
password: microplacedev10
eai: SQN9O42F
preamble: TBD1
subcode: 1004511
vendor_number: F42
db_host: PRECISE_ID_TEST

test:
<<: *defaults

production:
<<: *defaults
41 changes: 22 additions & 19 deletions lib/request.rb
@@ -1,47 +1,50 @@
class Experian::Request
require 'rubygems'
require 'builder'
require 'rexml/document'

def initialize(user)
@user = user
class Request
def initialize(user, credentials)
@user, @credentials = user, credentials
puts credentials.to_yaml
end

def to_xml

xml_request = Builder::XmlMarkup.new :indent => 2

xml_request.instruct!
xml_request.tag! 'NetConnectRequest', {
:xmlns => 'http://www.experian.com/NetConnect',
'xmlns:xsi' => 'http://www.w3.org/2001/XMLSchema-instance' } do
xml_request.EAI CONFIG["experian"]["eai"]
xml_request.DBHost CONFIG["experian"]["db_host"]
xml_request.EAI @credentials["eai"]
xml_request.DBHost @credentials["db_host"]
xml_request.ReferenceId('userlabc001')
xml_request.Request(:xmlns => 'http://www.experian.com/WebDelivery', :version => '1.0') do
xml_request.Products do
xml_request.PreciseID do
xml_request.Subscriber do
xml_request.Preamble CONFIG["experian"]["preamble"]
xml_request.Preamble @credentials["preamble"]
xml_request.OpInitials('MP')
xml_request.SubCode CONFIG["experian"]["subcode"]
xml_request.SubCode @credentials["subcode"]
end
xml_request.PrimaryApplicant do
xml_request.Name do
xml_request.Surname(@user.last_name)
xml_request.First(@user.first_name)
xml_request.Surname(@user[:last_name])
xml_request.First(@user[:first_name])
end
xml_request.SSN @user.ssn
xml_request.SSN @user[:ssn]
xml_request.CurrentAddress do
address = @user.experian_address1
address += " #{@user.address2}" if @user.experian_address2
address = @user[:address1]
address += " #{@user[:address2]}" if @user[:address2]
xml_request.Street address
xml_request.City @user.city
xml_request.State @user.state_province
xml_request.Zip @user.postal_code
xml_request.City @user[:city]
xml_request.State @user[:state_province]
xml_request.Zip @user[:postal_code]
end
xml_request.Phone do
xml_request.Number @user.phone
xml_request.Number @user[:phone]
xml_request.Type 'R'
end
xml_request.DOB @user.dob.strftime("%m%d%Y") if @user.dob
xml_request.DOB @user[:dob].strftime("%m%d%Y") if @user[:dob]
end
xml_request.AccountType do
xml_request.Type '99'
Expand All @@ -53,7 +56,7 @@ def to_xml
end
end
xml_request.Vendor do
xml_request.VendorNumber CONFIG["experian"]["vendor_number"]
xml_request.VendorNumber @credentials["vendor_number"]
xml_request.VendorVersion '1.0'
end
xml_request.Options do
Expand Down
24 changes: 15 additions & 9 deletions test/request_test.rb
@@ -1,17 +1,23 @@
require File.dirname(__FILE__) + '/../../test_helper'
p ">>>#{File.dirname(__FILE__)}<<<"
require File.dirname(__FILE__) + '/test_helper'
require 'request'

require 'experian/request'

class Experian::RequestTest < Test::Unit::TestCase

def test_should_build_an_xml_request_from_a_user_active_record
user = User.new(:address1 => "address1", :address2 => "address2", :city => "city")
request = Experian::Request.new(user)
class RequestTest < Test::Unit::TestCase
def test_should_build_an_xml_request_from_a_user
user = {
:first_name => "the first name",
:last_name => "the last name",
:address1 => "the address1",
:address2 => "the address2",
:city => "the city"
}
request = Request.new(user, EXPERIAN_CONFIG["experian"])

xml_request = request.to_xml

document = REXML::Document.new(xml_request)
element = REXML::XPath.first(document, "//Street")
# p element

assert_not_nil xml_request.index("<Surname>the last name</Surname>")
end
end
3 changes: 3 additions & 0 deletions test/test_helper.rb
@@ -0,0 +1,3 @@
require 'yaml'
EXPERIAN_CONFIG = YAML.load_file("../config/config.yml")["test"]
require 'test/unit'
1 change: 1 addition & 0 deletions uninstall.rb
@@ -0,0 +1 @@
# Uninstall hook code here

0 comments on commit 6722869

Please sign in to comment.