Avatax_AddressService 1.0.12 → 2.0.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.
@@ -1,40 +1,40 @@
1
- <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://avatax.avalara.com/services">
2
- <soapenv:Header>
3
- <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
4
- <wsse:UsernameToken wsu:Id="UsernameToken-7" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
5
- <wsse:Username><%= @username %></wsse:Username>
6
- <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText"><%= @password %></wsse:Password>
7
- <wsu:Created>2012-03-02T23:41:44.511Z</wsu:Created>
8
- </wsse:UsernameToken>
9
- </wsse:Security>
10
- <ser:Profile>
11
- <ser:Name><%= @name %></ser:Name>
12
- <ser:Client><%= @clientname %></ser:Client>
13
- <ser:Adapter><%= @adapter %></ser:Adapter>
14
- <ser:Machine><%= @machine %></ser:Machine>
15
- </ser:Profile>
16
- </soapenv:Header>
17
- <soapenv:Body>
18
- <ser:Validate>
19
- <ser:ValidateRequest>
20
- <ser:Address>
21
- <ser:AddressCode><%= @addresscode %></ser:AddressCode>
22
- <ser:Line1><%= @line1 %></ser:Line1>
23
- <ser:Line2><%= @line2 %></ser:Line2>
24
- <ser:Line3><%= @line3 %></ser:Line3>
25
- <ser:City><%= @city %></ser:City>
26
- <ser:Region><%= @region %></ser:Region>
27
- <ser:PostalCode><%= @postalcode %></ser:PostalCode>
28
- <ser:Country><%= @country %></ser:Country>
29
- <ser:TaxRegionId><%= @taxregionid %></ser:TaxRegionId>
30
- <ser:Latitude><%= @latitude %></ser:Latitude>
31
- <ser:Longitude><%= @longitude %></ser:Longitude>
32
- </ser:Address>
33
- <ser:TextCase><%= @textcase %></ser:TextCase>
34
- <ser:Coordinates><%= @coordinates %></ser:Coordinates>
35
- <ser:Taxability><%= @taxability %></ser:Taxability>
36
- <ser:Date>1900-01-01</ser:Date>
37
- </ser:ValidateRequest>
38
- </ser:Validate>
39
- </soapenv:Body>
1
+ <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://avatax.avalara.com/services">
2
+ <soapenv:Header>
3
+ <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
4
+ <wsse:UsernameToken wsu:Id="UsernameToken-7" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
5
+ <wsse:Username><%= @username %></wsse:Username>
6
+ <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText"><%= @password %></wsse:Password>
7
+ <wsu:Created>2012-03-02T23:41:44.511Z</wsu:Created>
8
+ </wsse:UsernameToken>
9
+ </wsse:Security>
10
+ <ser:Profile>
11
+ <ser:Name><%= @name %></ser:Name>
12
+ <ser:Client><%= @clientname %></ser:Client>
13
+ <ser:Adapter><%= @adapter %></ser:Adapter>
14
+ <ser:Machine><%= @machine %></ser:Machine>
15
+ </ser:Profile>
16
+ </soapenv:Header>
17
+ <soapenv:Body>
18
+ <ser:Validate>
19
+ <ser:ValidateRequest>
20
+ <ser:Address>
21
+ <ser:AddressCode><%= @addresscode %></ser:AddressCode>
22
+ <ser:Line1><%= @line1 %></ser:Line1>
23
+ <ser:Line2><%= @line2 %></ser:Line2>
24
+ <ser:Line3><%= @line3 %></ser:Line3>
25
+ <ser:City><%= @city %></ser:City>
26
+ <ser:Region><%= @region %></ser:Region>
27
+ <ser:PostalCode><%= @postalcode %></ser:PostalCode>
28
+ <ser:Country><%= @country %></ser:Country>
29
+ <ser:TaxRegionId><%= @taxregionid %></ser:TaxRegionId>
30
+ <ser:Latitude><%= @latitude %></ser:Latitude>
31
+ <ser:Longitude><%= @longitude %></ser:Longitude>
32
+ </ser:Address>
33
+ <ser:TextCase><%= @textcase %></ser:TextCase>
34
+ <ser:Coordinates><%= @coordinates %></ser:Coordinates>
35
+ <ser:Taxability><%= @taxability %></ser:Taxability>
36
+ <ser:Date>1900-01-01</ser:Date>
37
+ </ser:ValidateRequest>
38
+ </ser:Validate>
39
+ </soapenv:Body>
40
40
  </soapenv:Envelope>
@@ -1,26 +1,27 @@
1
- require_relative '../Avatax_AddressService/lib/avatax_addressservice.rb'
2
- #require 'Avatax_AddressService'
3
-
4
- accountNumber = "1234567890"
5
- licenseKey = "A1B2C3D4E5F6G7H8"
6
- useProductionURL = false
7
-
8
- # Header Level Parameters
9
- adrSvc = AvaTax::AddressService.new(
10
-
11
- # Required Header Parameters
12
- :username => accountNumber,
13
- :password => licenseKey,
14
- :use_production_url => useProductionURL,
15
- :clientname => "AvaTaxSample",
16
-
17
- # Optional Header Parameters
18
- :name => "Development")
19
-
20
- pingResult = adrSvc.ping
21
-
22
- #Display the result
23
- puts "PingTest ResultCode: " + pingResult[:result_code]
24
- if pingResult[:result_code] != "Success"
25
- pingResult[:messages].each { |message| puts message[:details] }
1
+ require_relative '../lib/avatax_addressservice.rb'
2
+ #require 'Avatax_AddressService'
3
+
4
+ accountNumber = "1234567890"
5
+ licenseKey = "A1B2C3D4E5F6G7H8"
6
+ serviceURL = "https://development.avalara.net"
7
+
8
+ # Header Level Parameters
9
+ addressSvc = AvaTax::AddressService.new(
10
+
11
+ # Required Header Parameters
12
+ :username => accountNumber,
13
+ :password => licenseKey,
14
+ :service_url => serviceURL,
15
+ :clientname => "AvaTaxSample",
16
+
17
+ # Optional Header Parameters
18
+ :name => "Development")
19
+
20
+ pingResult = addressSvc.ping
21
+
22
+ #Display the result
23
+ puts "PingTest ResultCode: " + pingResult[:result_code]
24
+ if pingResult[:result_code] != "Success"
25
+ puts pingResult.to_s
26
+ pingResult[:messages].each { |message| puts message[:details] }
26
27
  end
@@ -1,51 +1,50 @@
1
- require_relative '../Avatax_AddressService/lib/avatax_addressservice.rb'
2
-
3
- #require 'Avatax_AddressService'
4
-
5
- accountNumber = "wilsongs"
6
- licenseKey = "Gsw98110"
7
- useProductionURL = false
8
-
9
- # Header Level Parameters
10
- addressSvc = AvaTax::AddressService.new(
11
-
12
- # Required Header Parameters
13
- :username => accountNumber,
14
- :password => licenseKey,
15
- :use_production_url => useProductionURL,
16
- :clientname => "AvaTaxSample",
17
-
18
- # Optional Header Parameters
19
- :name => "Development")
20
-
21
- validateRequest = {
22
- # Required Request Parameters
23
- :line1 => "118 N Clark St",
24
- :city => "Chicago",
25
- :region => "IL",
26
- # Optional Request Parameters
27
- :line2 => "Suite 100",
28
- :line3 => "ATTN Accounts Payable",
29
- :country => "US",
30
- :postalcode => "60602",
31
- :coordinates => true,
32
- :taxability => true,
33
- :textcase => "Upper"
34
- }
35
-
36
- # Call the service
37
- validateResult = addressSvc.validate(validateRequest)
38
-
39
- # Print Results
40
- puts "ValidateAddressTest Result: "+validateResult[:result_code]
41
- if validateResult[:result_code] != "Success"
42
- validateResult[:messages].each { |message| puts message[:details] }
43
- else
44
- puts validateResult[:valid_addresses][:valid_address][:line1] +
45
- " " +
46
- validateResult[:valid_addresses][:valid_address][:city] +
47
- ", " +
48
- validateResult[:valid_addresses][:valid_address][:region] +
49
- " " +
50
- validateResult[:valid_addresses][:valid_address][:postal_code]
1
+ require_relative '../lib/avatax_addressservice.rb'
2
+ #require 'Avatax_AddressService'
3
+
4
+ accountNumber = "1234567890"
5
+ licenseKey = "A1B2C3D4E5F6G7H8"
6
+ serviceURL = "https://development.avalara.net"
7
+
8
+ # Header Level Parameters
9
+ addressSvc = AvaTax::AddressService.new(
10
+
11
+ # Required Header Parameters
12
+ :username => accountNumber,
13
+ :password => licenseKey,
14
+ :service_url => serviceURL,
15
+ :clientname => "AvaTaxSample",
16
+
17
+ # Optional Header Parameters
18
+ :name => "Development")
19
+
20
+ validateRequest = {
21
+ # Required Request Parameters
22
+ :line1 => "118 N Clark St",
23
+ :city => "Chicago",
24
+ :region => "IL",
25
+ # Optional Request Parameters
26
+ :line2 => "Suite 100",
27
+ :line3 => "ATTN Accounts Payable",
28
+ :country => "US",
29
+ :postalcode => "60602",
30
+ :coordinates => true,
31
+ :taxability => true,
32
+ :textcase => "Upper"
33
+ }
34
+
35
+ # Call the service
36
+ validateResult = addressSvc.validate(validateRequest)
37
+
38
+ # Print Results
39
+ puts "ValidateAddressTest Result: "+validateResult[:result_code]
40
+ if validateResult[:result_code] != "Success"
41
+ validateResult[:messages].each { |message| puts message[:details] }
42
+ else
43
+ puts validateResult[:valid_addresses][:valid_address][:line1] +
44
+ " " +
45
+ validateResult[:valid_addresses][:valid_address][:city] +
46
+ ", " +
47
+ validateResult[:valid_addresses][:valid_address][:region] +
48
+ " " +
49
+ validateResult[:valid_addresses][:valid_address][:postal_code]
51
50
  end
@@ -1,42 +1,42 @@
1
- require "spec_helper"
2
-
3
- describe "AddressService" do
4
- before :each do
5
- credentials = YAML::load(File.open('credentials.yml'))
6
- @creds = {:username => credentials['username'],
7
- :password => credentials['password'],
8
- :clientname => credentials['clientname'],
9
- :use_production_url => credentials['production']}
10
- end
11
-
12
- describe "does not allow instantiation with" do
13
- it "no values" do
14
- lambda { AvaTax::AddressService.new }.should raise_exception
15
- end
16
- it "optional values only" do
17
- lambda { AvaTax::AddressService.new(
18
- :clientname => @creds[:clientname],
19
- :adapter => "AvaTaxCalcRuby",
20
- :machine => "MyComputer",
21
- :use_production_account => @creds[:use_production_url] ) }.should raise_exception
22
- end
23
- end
24
- describe "allows instantiation with" do
25
- it "required values only" do
26
- lambda { AvaTax::AddressService.new(
27
- :username => @creds[:username],
28
- :password => @creds[:password],
29
- :clientname => @creds[:clientname]) }.should_not raise_exception
30
- end
31
- it "required and optional values" do
32
- lambda { AvaTax::AddressService.new(
33
- :username => @creds[:username],
34
- :password => @creds[:password],
35
- :clientname => @creds[:clientname],
36
- :adapter => "AvaTaxCalcRuby",
37
- :machine => "MyComputer",
38
- :use_production_account => false ) }.should_not raise_exception
39
- end
40
- end
41
-
1
+ require "spec_helper"
2
+
3
+ describe "AddressService" do
4
+ before :each do
5
+ credentials = YAML::load(File.open('credentials.yml'))
6
+ @creds = {:username => credentials['username'],
7
+ :password => credentials['password'],
8
+ :clientname => credentials['clientname'],
9
+ :use_production_url => credentials['production']}
10
+ end
11
+
12
+ describe "does not allow instantiation with" do
13
+ it "no values" do
14
+ lambda { AvaTax::AddressService.new }.should raise_exception
15
+ end
16
+ it "optional values only" do
17
+ lambda { AvaTax::AddressService.new(
18
+ :clientname => @creds[:clientname],
19
+ :adapter => "AvaTaxCalcRuby",
20
+ :machine => "MyComputer",
21
+ :use_production_account => @creds[:use_production_url] ) }.should raise_exception
22
+ end
23
+ end
24
+ describe "allows instantiation with" do
25
+ it "required values only" do
26
+ lambda { AvaTax::AddressService.new(
27
+ :username => @creds[:username],
28
+ :password => @creds[:password],
29
+ :clientname => @creds[:clientname]) }.should_not raise_exception
30
+ end
31
+ it "required and optional values" do
32
+ lambda { AvaTax::AddressService.new(
33
+ :username => @creds[:username],
34
+ :password => @creds[:password],
35
+ :clientname => @creds[:clientname],
36
+ :adapter => "AvaTaxCalcRuby",
37
+ :machine => "MyComputer",
38
+ :use_production_account => false ) }.should_not raise_exception
39
+ end
40
+ end
41
+
42
42
  end
@@ -1,77 +1,77 @@
1
- require "spec_helper"
2
-
3
- describe "IsAuthorized" do
4
- before :each do
5
- credentials = YAML::load(File.open('credentials.yml'))
6
- @creds = {:username => credentials['username'],
7
- :password => credentials['password'],
8
- :clientname => credentials['clientname'],
9
- :use_production_url => credentials['production']}
10
- end
11
-
12
- describe "returns a meaningful" do
13
- it "error when URL is missing" do
14
- @creds[:use_production_url] = nil
15
- @service = AvaTax::AddressService.new(@creds)
16
- @service.isauthorized[:result_code].should eql "Success"
17
- end
18
- it "success when URL is specified" do
19
- @creds[:use_production_url] = false
20
- @service = AvaTax::AddressService.new(@creds)
21
- @service.isauthorized[:result_code].should eql "Success"
22
- end
23
- it "error when username is missing" do
24
- @creds[:username] = nil
25
- @service = AvaTax::AddressService.new(@creds)
26
- @service.isauthorized[:result_code].should eql "Error"
27
- end
28
- it "error when password is omitted" do
29
- @creds[:password] = nil
30
- @service = AvaTax::AddressService.new(@creds)
31
- @service.isauthorized[:result_code].should eql "Error"
32
- end
33
- it "success when clientname is omitted" do
34
- @creds[:clientname] = nil
35
- @service = AvaTax::AddressService.new(@creds)
36
- @service.isauthorized[:result_code].should eql "Success"
37
- end
38
- end
39
-
40
- describe "has consistent formatting for" do
41
- it "internal logic errors" do
42
- @service = AvaTax::AddressService.new(@creds)
43
- lambda { @service.isauthorized("param1","param2") }.should raise_exception
44
- end
45
- it "server-side errors" do
46
- @creds[:password] = nil
47
- @service = AvaTax::AddressService.new(@creds)
48
- @result = @service.isauthorized
49
- @result[:result_code].should eql "Error" and
50
- @result[:messages].kind_of?(Array).should eql true and
51
- @result[:messages][0].should include(:details => "The user or account could not be authenticated.")
52
- end
53
- it "successful results" do
54
- @service = AvaTax::AddressService.new(@creds)
55
- @result = @service.isauthorized
56
- @result[:result_code].should eql "Success" and @result[:expires].should_not be_nil
57
- end
58
- end
59
- describe "requests with" do
60
- it "missing required parameters fail" do
61
- true #there are no required parameters for isauthorized
62
- end
63
- it "invalid parameters fail" do
64
- @service = AvaTax::AddressService.new(@creds)
65
- lambda { @service.isauthorized("param1","param2") }.should raise_exception
66
- end
67
- it "missing optional parameters succeed" do
68
- @service = AvaTax::AddressService.new(@creds)
69
- @service.isauthorized[:result_code].should eql "Success"
70
- end
71
- it "all parameters succeed" do
72
- @service = AvaTax::AddressService.new(@creds)
73
- @service.isauthorized("Message")[:result_code].should eql "Success"
74
- end
75
- end
76
-
1
+ require "spec_helper"
2
+
3
+ describe "IsAuthorized" do
4
+ before :each do
5
+ credentials = YAML::load(File.open('credentials.yml'))
6
+ @creds = {:username => credentials['username'],
7
+ :password => credentials['password'],
8
+ :clientname => credentials['clientname'],
9
+ :use_production_url => credentials['production']}
10
+ end
11
+
12
+ describe "returns a meaningful" do
13
+ it "error when URL is missing" do
14
+ @creds[:use_production_url] = nil
15
+ @service = AvaTax::AddressService.new(@creds)
16
+ @service.isauthorized[:result_code].should eql "Success"
17
+ end
18
+ it "success when URL is specified" do
19
+ @creds[:use_production_url] = false
20
+ @service = AvaTax::AddressService.new(@creds)
21
+ @service.isauthorized[:result_code].should eql "Success"
22
+ end
23
+ it "error when username is missing" do
24
+ @creds[:username] = nil
25
+ @service = AvaTax::AddressService.new(@creds)
26
+ @service.isauthorized[:result_code].should eql "Error"
27
+ end
28
+ it "error when password is omitted" do
29
+ @creds[:password] = nil
30
+ @service = AvaTax::AddressService.new(@creds)
31
+ @service.isauthorized[:result_code].should eql "Error"
32
+ end
33
+ it "success when clientname is omitted" do
34
+ @creds[:clientname] = nil
35
+ @service = AvaTax::AddressService.new(@creds)
36
+ @service.isauthorized[:result_code].should eql "Success"
37
+ end
38
+ end
39
+
40
+ describe "has consistent formatting for" do
41
+ it "internal logic errors" do
42
+ @service = AvaTax::AddressService.new(@creds)
43
+ lambda { @service.isauthorized("param1","param2") }.should raise_exception
44
+ end
45
+ it "server-side errors" do
46
+ @creds[:password] = nil
47
+ @service = AvaTax::AddressService.new(@creds)
48
+ @result = @service.isauthorized
49
+ @result[:result_code].should eql "Error" and
50
+ @result[:messages].kind_of?(Array).should eql true and
51
+ @result[:messages][0].should include(:details => "The user or account could not be authenticated.")
52
+ end
53
+ it "successful results" do
54
+ @service = AvaTax::AddressService.new(@creds)
55
+ @result = @service.isauthorized
56
+ @result[:result_code].should eql "Success" and @result[:expires].should_not be_nil
57
+ end
58
+ end
59
+ describe "requests with" do
60
+ it "missing required parameters fail" do
61
+ true #there are no required parameters for isauthorized
62
+ end
63
+ it "invalid parameters fail" do
64
+ @service = AvaTax::AddressService.new(@creds)
65
+ lambda { @service.isauthorized("param1","param2") }.should raise_exception
66
+ end
67
+ it "missing optional parameters succeed" do
68
+ @service = AvaTax::AddressService.new(@creds)
69
+ @service.isauthorized[:result_code].should eql "Success"
70
+ end
71
+ it "all parameters succeed" do
72
+ @service = AvaTax::AddressService.new(@creds)
73
+ @service.isauthorized("Message")[:result_code].should eql "Success"
74
+ end
75
+ end
76
+
77
77
  end