exact4r 0.8 → 0.9
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/CHANGELOG +3 -0
- data/VERSION +1 -1
- data/after.log +1 -1
- data/before.log +17 -0
- data/doc/classes/EWS/Transporter.html +1 -1
- data/doc/created.rid +1 -1
- data/doc/files/CHANGELOG.html +6 -2
- data/doc/files/VERSION.html +2 -2
- data/doc/files/lib/ews/transporter_rb.html +1 -1
- data/lib/ews/transaction/mapping.rb +9 -8
- data/lib/ews/transporter.rb +1 -1
- data/qa.log +14 -0
- data/spec/request_spec.rb +4 -0
- data/spec/spec_helper.rb +4 -4
- data/spec/transporter_spec.rb +4 -4
- metadata +4 -2
data/CHANGELOG
CHANGED
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.
|
|
1
|
+
0.9
|
data/after.log
CHANGED
data/before.log
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
(in /Volumes/Exact/WebService/exact4r)
|
|
2
|
+
..............[].[].[].[]F....F....
|
|
3
|
+
|
|
4
|
+
1)
|
|
5
|
+
'Submitting Find Requests should support SOAP' FAILED
|
|
6
|
+
expected: "00",
|
|
7
|
+
got: nil (using ==)
|
|
8
|
+
./spec/request_spec.rb:138:
|
|
9
|
+
|
|
10
|
+
2)
|
|
11
|
+
'Transporter creating transactions should throw an exception when parsing a response to sending nonsense SOAP' FAILED
|
|
12
|
+
expected Exception but nothing was raised
|
|
13
|
+
./spec/transporter_spec.rb:38:
|
|
14
|
+
|
|
15
|
+
Finished in 82.424866 seconds
|
|
16
|
+
|
|
17
|
+
27 examples, 2 failures
|
|
@@ -224,7 +224,7 @@ transport type will be used
|
|
|
224
224
|
52: <span class="ruby-identifier">request</span> = <span class="ruby-identifier">build_http_request</span>(<span class="ruby-identifier">transaction</span>, <span class="ruby-identifier">transport_type</span>, <span class="ruby-identifier">transport_details</span>[<span class="ruby-identifier">:suffix</span>])
|
|
225
225
|
53: <span class="ruby-identifier">request</span>.<span class="ruby-identifier">basic_auth</span>(<span class="ruby-identifier">transaction</span>.<span class="ruby-identifier">gateway_id</span>, <span class="ruby-identifier">transaction</span>.<span class="ruby-identifier">password</span>)
|
|
226
226
|
54: <span class="ruby-identifier">request</span>.<span class="ruby-identifier">add_field</span> <span class="ruby-value str">"Accept"</span>, <span class="ruby-identifier">transport_details</span>[<span class="ruby-identifier">:content_type</span>]
|
|
227
|
-
55: <span class="ruby-identifier">request</span>.<span class="ruby-identifier">add_field</span> <span class="ruby-value str">"User-Agent"</span>, <span class="ruby-value str">"
|
|
227
|
+
55: <span class="ruby-identifier">request</span>.<span class="ruby-identifier">add_field</span> <span class="ruby-value str">"User-Agent"</span>, <span class="ruby-value str">"exact4r v0.7"</span>
|
|
228
228
|
56: <span class="ruby-identifier">request</span>.<span class="ruby-identifier">add_field</span> <span class="ruby-value str">"Content-type"</span>, <span class="ruby-node">"#{transport_details[:content_type]}; charset=UTF-8"</span>
|
|
229
229
|
57:
|
|
230
230
|
58: <span class="ruby-identifier">response</span> = <span class="ruby-identifier">get_connection</span>.<span class="ruby-identifier">request</span>(<span class="ruby-identifier">request</span>)
|
data/doc/created.rid
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
Wed, 10 Jun 2009 12:23:07 +1000
|
data/doc/files/CHANGELOG.html
CHANGED
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
</tr>
|
|
57
57
|
<tr class="top-aligned-row">
|
|
58
58
|
<td><strong>Last Update:</strong></td>
|
|
59
|
-
<td>
|
|
59
|
+
<td>Wed Jun 10 12:21:52 +1000 2009</td>
|
|
60
60
|
</tr>
|
|
61
61
|
</table>
|
|
62
62
|
</div>
|
|
@@ -69,7 +69,11 @@
|
|
|
69
69
|
<div id="contextContent">
|
|
70
70
|
|
|
71
71
|
<div id="description">
|
|
72
|
-
<h2>v0.
|
|
72
|
+
<h2>v0.8</h2>
|
|
73
|
+
<pre>
|
|
74
|
+
Added User-Agent string to HTTP requests
|
|
75
|
+
</pre>
|
|
76
|
+
<h2>v0.7</h2>
|
|
73
77
|
<pre>
|
|
74
78
|
Updated with latest certificates for api.e-xact.com
|
|
75
79
|
Fixed SOAP namespace issue
|
data/doc/files/VERSION.html
CHANGED
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
</tr>
|
|
57
57
|
<tr class="top-aligned-row">
|
|
58
58
|
<td><strong>Last Update:</strong></td>
|
|
59
|
-
<td>
|
|
59
|
+
<td>Wed Jun 10 12:21:24 +1000 2009</td>
|
|
60
60
|
</tr>
|
|
61
61
|
</table>
|
|
62
62
|
</div>
|
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
|
|
71
71
|
<div id="description">
|
|
72
72
|
<p>
|
|
73
|
-
0.
|
|
73
|
+
0.8
|
|
74
74
|
</p>
|
|
75
75
|
|
|
76
76
|
</div>
|
|
@@ -158,19 +158,20 @@ module EWS # :nodoc:
|
|
|
158
158
|
root.elements.to_a.each do |node|
|
|
159
159
|
gwlib_prop_name = XML_RESPONSE_TAGS_TO_ATTRS[node.name.to_sym]
|
|
160
160
|
unless gwlib_prop_name.nil?
|
|
161
|
-
|
|
162
|
-
|
|
161
|
+
value = case gwlib_prop_name
|
|
162
|
+
when :transaction_approved, :transaction_error
|
|
163
|
+
(node.text == "true") ? 1 : 0
|
|
164
|
+
when :transaction_tag
|
|
165
|
+
node.text.to_i
|
|
166
|
+
else
|
|
167
|
+
node.text
|
|
168
|
+
end
|
|
169
|
+
|
|
163
170
|
response.send "#{gwlib_prop_name}=", value
|
|
164
171
|
end
|
|
165
172
|
end
|
|
166
173
|
end
|
|
167
174
|
|
|
168
|
-
# type-conversion from strings for certain attributes
|
|
169
|
-
ATTR_FORMATS = {
|
|
170
|
-
:transaction_tag => "i",
|
|
171
|
-
:transaction_approved => "i"
|
|
172
|
-
}
|
|
173
|
-
|
|
174
175
|
REQUEST_ENVELOPE_NAMESPACES = {
|
|
175
176
|
"xmlns:xsd" => "http://www.w3.org/2001/XMLSchema",
|
|
176
177
|
"xmlns:soap" => "http://schemas.xmlsoap.org/soap/envelope/",
|
data/lib/ews/transporter.rb
CHANGED
|
@@ -52,7 +52,7 @@ module EWS # :nodoc:
|
|
|
52
52
|
request = build_http_request(transaction, transport_type, transport_details[:suffix])
|
|
53
53
|
request.basic_auth(transaction.gateway_id, transaction.password)
|
|
54
54
|
request.add_field "Accept", transport_details[:content_type]
|
|
55
|
-
request.add_field "User-Agent", "exact4r v0.
|
|
55
|
+
request.add_field "User-Agent", "exact4r v0.9"
|
|
56
56
|
request.add_field "Content-type", "#{transport_details[:content_type]}; charset=UTF-8"
|
|
57
57
|
|
|
58
58
|
response = get_connection.request(request)
|
data/qa.log
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
(in /Volumes/Exact/WebService/exact4r)
|
|
2
|
+
..............[].[].[].[]F.........
|
|
3
|
+
|
|
4
|
+
1)
|
|
5
|
+
RuntimeError in 'Submitting Find Requests should support SOAP'
|
|
6
|
+
Malformed XML Request.
|
|
7
|
+
./spec/../lib/ews/transaction/mapping.rb:133:in `soap_to_response'
|
|
8
|
+
./spec/../lib/ews/transporter.rb:66:in `send'
|
|
9
|
+
./spec/../lib/ews/transporter.rb:66:in `submit'
|
|
10
|
+
./spec/request_spec.rb:135:
|
|
11
|
+
|
|
12
|
+
Finished in 102.726155 seconds
|
|
13
|
+
|
|
14
|
+
27 examples, 1 failure
|
data/spec/request_spec.rb
CHANGED
|
@@ -50,6 +50,7 @@ describe "Submitting New Requests" do
|
|
|
50
50
|
|
|
51
51
|
resp.exact_resp_code.should == "00"
|
|
52
52
|
resp.exact_message.should == "Transaction Normal"
|
|
53
|
+
resp.transaction_approved.should == 1
|
|
53
54
|
resp.bank_message.downcase.should match(/approved/)
|
|
54
55
|
resp.transaction_tag.should_not be_nil
|
|
55
56
|
end
|
|
@@ -60,6 +61,7 @@ describe "Submitting New Requests" do
|
|
|
60
61
|
|
|
61
62
|
resp.exact_resp_code.should == "00"
|
|
62
63
|
resp.exact_message.should == "Transaction Normal"
|
|
64
|
+
resp.transaction_approved.should == 1
|
|
63
65
|
resp.bank_message.downcase.should match(/approved/)
|
|
64
66
|
resp.transaction_tag.should_not be_nil
|
|
65
67
|
end
|
|
@@ -70,6 +72,7 @@ describe "Submitting New Requests" do
|
|
|
70
72
|
|
|
71
73
|
resp.exact_resp_code.should == "00"
|
|
72
74
|
resp.exact_message.should == "Transaction Normal"
|
|
75
|
+
resp.transaction_approved.should == 1
|
|
73
76
|
resp.bank_message.downcase.should match(/approved/)
|
|
74
77
|
resp.transaction_tag.should_not be_nil
|
|
75
78
|
end
|
|
@@ -80,6 +83,7 @@ describe "Submitting New Requests" do
|
|
|
80
83
|
|
|
81
84
|
resp.exact_resp_code.should == "00"
|
|
82
85
|
resp.exact_message.should == "Transaction Normal"
|
|
86
|
+
resp.transaction_approved.should == 1
|
|
83
87
|
resp.bank_message.downcase.should match(/approved/)
|
|
84
88
|
resp.transaction_tag.should_not be_nil
|
|
85
89
|
end
|
data/spec/spec_helper.rb
CHANGED
|
@@ -7,13 +7,13 @@ require 'ruby-debug'
|
|
|
7
7
|
REPLICATION_TIME = 20
|
|
8
8
|
|
|
9
9
|
# address & authentication for testing against api.e-xact.com
|
|
10
|
-
LOCATION = "https://api.e-xact.com/"
|
|
11
|
-
BASIC_AUTH = {:gateway_id => "A00049-01", :password => "test1"}
|
|
10
|
+
# LOCATION = "https://api.e-xact.com/"
|
|
11
|
+
# BASIC_AUTH = {:gateway_id => "A00049-01", :password => "test1"}
|
|
12
12
|
|
|
13
13
|
# address & authentication for local testing
|
|
14
|
-
|
|
14
|
+
LOCATION = "http://ws.local/" # I am a Passenger...
|
|
15
15
|
# LOCATION = "http://localhost:3000/" # old skool
|
|
16
|
-
|
|
16
|
+
BASIC_AUTH = {:gateway_id => "AD0008-01", :password => "7nfcpc7n"}
|
|
17
17
|
|
|
18
18
|
Spec::Runner.configure do |config|
|
|
19
19
|
include EWS::Transaction
|
data/spec/transporter_spec.rb
CHANGED
|
@@ -30,14 +30,14 @@ describe "Transporter creating transactions" do
|
|
|
30
30
|
resp.error_description.should == "Not Found"
|
|
31
31
|
end
|
|
32
32
|
|
|
33
|
-
it "should
|
|
33
|
+
it "should correctly decode error when sending nonsense SOAP" do
|
|
34
34
|
req = basic_find_transaction
|
|
35
35
|
|
|
36
36
|
EWS::Transaction::Mapping.stubs(:request_to_soap).returns("Complete and utter rubbish. It's not even XML!!")
|
|
37
37
|
tr = ::EWS::Transporter.new(LOCATION)
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
38
|
+
r = tr.submit(req, :soap)
|
|
39
|
+
r.error_number.should == 401
|
|
40
|
+
r.error_description.should == "Malformed XML Request."
|
|
41
41
|
end
|
|
42
42
|
|
|
43
43
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: exact4r
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: "0.
|
|
4
|
+
version: "0.9"
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- E-xact Transactions Ltd.
|
|
@@ -9,7 +9,7 @@ autorequire:
|
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
11
|
|
|
12
|
-
date: 2009-
|
|
12
|
+
date: 2009-07-08 00:00:00 +10:00
|
|
13
13
|
default_executable:
|
|
14
14
|
dependencies:
|
|
15
15
|
- !ruby/object:Gem::Dependency
|
|
@@ -45,6 +45,7 @@ extra_rdoc_files:
|
|
|
45
45
|
- VERSION
|
|
46
46
|
files:
|
|
47
47
|
- ./after.log
|
|
48
|
+
- ./before.log
|
|
48
49
|
- ./certs
|
|
49
50
|
- ./certs/equifax_ca.cer
|
|
50
51
|
- ./certs/exact.cer
|
|
@@ -90,6 +91,7 @@ files:
|
|
|
90
91
|
- ./lib/ews/transporter.rb
|
|
91
92
|
- ./lib/exact4r.rb
|
|
92
93
|
- ./LICENCE
|
|
94
|
+
- ./qa.log
|
|
93
95
|
- ./Rakefile
|
|
94
96
|
- ./README
|
|
95
97
|
- ./spec
|