datatrans 2.4.0 → 3.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.travis.yml +1 -0
- data/Gemfile.lock +4 -3
- data/README.markdown +31 -25
- data/datatrans.gemspec +3 -2
- data/lib/datatrans.rb +8 -49
- data/lib/datatrans/common.rb +2 -2
- data/lib/datatrans/config.rb +63 -0
- data/lib/datatrans/version.rb +1 -1
- data/lib/datatrans/web/transaction.rb +5 -30
- data/lib/datatrans/web/transaction/authorize.rb +26 -24
- data/lib/datatrans/web/view_helper.rb +25 -0
- data/lib/datatrans/xml/transaction.rb +11 -10
- data/lib/datatrans/xml/transaction/authorize.rb +2 -2
- data/lib/datatrans/xml/transaction/capture.rb +1 -1
- data/lib/datatrans/xml/transaction/request.rb +7 -16
- data/lib/datatrans/xml/transaction/response.rb +3 -2
- data/lib/datatrans/xml/transaction/status.rb +2 -2
- data/lib/datatrans/xml/transaction/void.rb +1 -1
- data/spec/common_spec.rb +5 -3
- data/spec/config_spec.rb +21 -0
- data/spec/spec_helper.rb +5 -5
- data/spec/web/authorize_spec.rb +5 -5
- data/spec/xml/authorize_spec.rb +43 -43
- data/spec/xml/capture_spec.rb +3 -3
- data/spec/xml/request_spec.rb +30 -22
- data/spec/xml/status_spec.rb +3 -3
- data/spec/xml/void_spec.rb +3 -3
- metadata +53 -59
data/spec/xml/request_spec.rb
CHANGED
@@ -1,32 +1,40 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe Datatrans::XML::Transaction::Request do
|
4
|
-
describe "
|
5
|
-
describe "
|
6
|
-
|
7
|
-
Datatrans.
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
:
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
4
|
+
describe "Proxy" do
|
5
|
+
describe "configured" do
|
6
|
+
before(:each) do
|
7
|
+
@datatrans = Datatrans::Config.new(
|
8
|
+
:merchant_id => '1100000000',
|
9
|
+
:sign_key => 'd777c17ba2010282c2d2350a68b441ca07a799d294bfaa630b7c8442207c0b69703cc55775b0ca5a4e455b818a9bb10a43669c0c20ce31f4a43f10e0cabb9525',
|
10
|
+
:key => "value",
|
11
|
+
:proxy => {
|
12
|
+
:http_proxyaddr => "proxy.com",
|
13
|
+
:http_proxyport => 80,
|
14
|
+
:http_proxyuser => "hans",
|
15
|
+
:http_proxpass => "xxx",
|
16
|
+
},
|
17
|
+
:environment => :development
|
18
|
+
)
|
17
19
|
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
20
|
+
end
|
21
|
+
it "forward those options to HTTParty" do
|
22
|
+
request = Datatrans::XML::Transaction::Request.new(@datatrans, {})
|
23
|
+
HTTParty.should_receive(:post).with('lirum',
|
24
|
+
:params => {:foo => :bar},
|
25
|
+
:http_proxpass => 'xxx',
|
26
|
+
:http_proxyuser => 'hans',
|
27
|
+
:http_proxyaddr => 'proxy.com',
|
28
|
+
:http_proxyport => 80)
|
29
|
+
request.post('lirum', :params => {:foo => :bar})
|
23
30
|
end
|
24
31
|
end
|
25
32
|
|
26
|
-
describe "
|
27
|
-
it "should
|
28
|
-
Datatrans::XML::Transaction::Request.
|
29
|
-
|
33
|
+
describe "not configured" do
|
34
|
+
it "should not add any proxy settings" do
|
35
|
+
request = Datatrans::XML::Transaction::Request.new(@datatrans, {})
|
36
|
+
HTTParty.should_receive(:post).with('lirum', :params => {:foo => :bar})
|
37
|
+
request.post('lirum', :params => {:foo => :bar})
|
30
38
|
end
|
31
39
|
end
|
32
40
|
end
|
data/spec/xml/status_spec.rb
CHANGED
@@ -66,14 +66,14 @@ describe Datatrans::XML::Transaction::StatusRequest do
|
|
66
66
|
|
67
67
|
context "build_status_request" do
|
68
68
|
it "generates a valid datatrans status xml" do
|
69
|
-
@request = Datatrans::XML::Transaction::StatusRequest.new(@valid_params)
|
69
|
+
@request = Datatrans::XML::Transaction::StatusRequest.new(@datatrans, @valid_params)
|
70
70
|
@request.send(:build_status_request).should == "<?xml version=\"1.0\" encoding=\"UTF-8\"?><statusService version=\"1\"><body merchantId=\"1100000000\"><transaction refno=\"\"><request><uppTransactionId>111013090000394044</uppTransactionId></request></transaction></body></statusService>"
|
71
71
|
end
|
72
72
|
end
|
73
73
|
|
74
74
|
context "process" do
|
75
75
|
it "handles a valid datatrans status response" do
|
76
|
-
@transaction = Datatrans::XML::Transaction.new(@valid_params)
|
76
|
+
@transaction = Datatrans::XML::Transaction.new(@datatrans, @valid_params)
|
77
77
|
@transaction.status.should be_true
|
78
78
|
end
|
79
79
|
end
|
@@ -82,7 +82,7 @@ describe Datatrans::XML::Transaction::StatusRequest do
|
|
82
82
|
context "failed response" do
|
83
83
|
before do
|
84
84
|
Datatrans::XML::Transaction::StatusRequest.any_instance.stub(:process).and_return(@failed_response)
|
85
|
-
@transaction = Datatrans::XML::Transaction.new(@valid_params)
|
85
|
+
@transaction = Datatrans::XML::Transaction.new(@datatrans, @valid_params)
|
86
86
|
end
|
87
87
|
|
88
88
|
context "process" do
|
data/spec/xml/void_spec.rb
CHANGED
@@ -68,14 +68,14 @@ describe Datatrans::XML::Transaction::VoidRequest do
|
|
68
68
|
|
69
69
|
context "build_void_request" do
|
70
70
|
it "generates a valid datatrans void xml" do
|
71
|
-
@request = Datatrans::XML::Transaction::VoidRequest.new(@valid_params)
|
71
|
+
@request = Datatrans::XML::Transaction::VoidRequest.new(@datatrans, @valid_params)
|
72
72
|
@request.send(:build_void_request).should == "<?xml version=\"1.0\" encoding=\"UTF-8\"?><paymentService version=\"1\"><body merchantId=\"1100000000\"><transaction refno=\"ABCDEF\"><request><amount>1000</amount><currency>CHF</currency><uppTransactionId>110808143302868124</uppTransactionId><reqtype>DOA</reqtype></request></transaction></body></paymentService>"
|
73
73
|
end
|
74
74
|
end
|
75
75
|
|
76
76
|
context "process" do
|
77
77
|
it "handles a valid datatrans void response" do
|
78
|
-
@transaction = Datatrans::XML::Transaction.new(@valid_params)
|
78
|
+
@transaction = Datatrans::XML::Transaction.new(@datatrans, @valid_params)
|
79
79
|
@transaction.void.should be_true
|
80
80
|
end
|
81
81
|
end
|
@@ -84,7 +84,7 @@ describe Datatrans::XML::Transaction::VoidRequest do
|
|
84
84
|
context "failed response" do
|
85
85
|
before do
|
86
86
|
Datatrans::XML::Transaction::VoidRequest.any_instance.stub(:process).and_return(@failed_response)
|
87
|
-
@transaction = Datatrans::XML::Transaction.new(@valid_params)
|
87
|
+
@transaction = Datatrans::XML::Transaction.new(@datatrans, @valid_params)
|
88
88
|
end
|
89
89
|
|
90
90
|
context "process" do
|
metadata
CHANGED
@@ -1,135 +1,133 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: datatrans
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
5
|
-
prerelease:
|
4
|
+
version: 3.0.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Tobias Miesel
|
9
8
|
- Thomas Maurer
|
10
9
|
- Corin Langosch
|
10
|
+
- Pascal Betz
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2013-
|
14
|
+
date: 2013-09-25 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
|
+
name: httparty
|
17
18
|
requirement: !ruby/object:Gem::Requirement
|
18
19
|
requirements:
|
19
|
-
- -
|
20
|
+
- - '>='
|
20
21
|
- !ruby/object:Gem::Version
|
21
22
|
version: '0'
|
22
|
-
none: false
|
23
23
|
type: :runtime
|
24
|
-
|
24
|
+
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
26
|
requirements:
|
27
|
-
- -
|
27
|
+
- - '>='
|
28
28
|
- !ruby/object:Gem::Version
|
29
29
|
version: '0'
|
30
|
-
none: false
|
31
|
-
prerelease: false
|
32
30
|
- !ruby/object:Gem::Dependency
|
31
|
+
name: activesupport
|
33
32
|
requirement: !ruby/object:Gem::Requirement
|
34
33
|
requirements:
|
35
|
-
- -
|
34
|
+
- - '>='
|
36
35
|
- !ruby/object:Gem::Version
|
37
36
|
version: 3.0.0
|
38
|
-
none: false
|
39
37
|
type: :runtime
|
40
|
-
|
38
|
+
prerelease: false
|
41
39
|
version_requirements: !ruby/object:Gem::Requirement
|
42
40
|
requirements:
|
43
|
-
- -
|
41
|
+
- - '>='
|
44
42
|
- !ruby/object:Gem::Version
|
45
43
|
version: 3.0.0
|
46
|
-
none: false
|
47
|
-
prerelease: false
|
48
44
|
- !ruby/object:Gem::Dependency
|
45
|
+
name: i18n
|
49
46
|
requirement: !ruby/object:Gem::Requirement
|
50
47
|
requirements:
|
51
|
-
- -
|
48
|
+
- - '>='
|
52
49
|
- !ruby/object:Gem::Version
|
53
50
|
version: '0'
|
54
|
-
none: false
|
55
51
|
type: :runtime
|
56
|
-
|
52
|
+
prerelease: false
|
57
53
|
version_requirements: !ruby/object:Gem::Requirement
|
58
54
|
requirements:
|
59
|
-
- -
|
55
|
+
- - '>='
|
60
56
|
- !ruby/object:Gem::Version
|
61
57
|
version: '0'
|
62
|
-
none: false
|
63
|
-
prerelease: false
|
64
58
|
- !ruby/object:Gem::Dependency
|
59
|
+
name: builder
|
65
60
|
requirement: !ruby/object:Gem::Requirement
|
66
61
|
requirements:
|
67
|
-
- -
|
62
|
+
- - '>='
|
68
63
|
- !ruby/object:Gem::Version
|
69
64
|
version: '0'
|
70
|
-
none: false
|
71
65
|
type: :runtime
|
72
|
-
|
66
|
+
prerelease: false
|
73
67
|
version_requirements: !ruby/object:Gem::Requirement
|
74
68
|
requirements:
|
75
|
-
- -
|
69
|
+
- - '>='
|
76
70
|
- !ruby/object:Gem::Version
|
77
71
|
version: '0'
|
78
|
-
|
72
|
+
- !ruby/object:Gem::Dependency
|
73
|
+
name: multi_xml
|
74
|
+
requirement: !ruby/object:Gem::Requirement
|
75
|
+
requirements:
|
76
|
+
- - '>='
|
77
|
+
- !ruby/object:Gem::Version
|
78
|
+
version: 0.5.1
|
79
|
+
type: :runtime
|
79
80
|
prerelease: false
|
81
|
+
version_requirements: !ruby/object:Gem::Requirement
|
82
|
+
requirements:
|
83
|
+
- - '>='
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
version: 0.5.1
|
80
86
|
- !ruby/object:Gem::Dependency
|
87
|
+
name: rake
|
81
88
|
requirement: !ruby/object:Gem::Requirement
|
82
89
|
requirements:
|
83
|
-
- -
|
90
|
+
- - '>='
|
84
91
|
- !ruby/object:Gem::Version
|
85
92
|
version: '0'
|
86
|
-
none: false
|
87
93
|
type: :development
|
88
|
-
|
94
|
+
prerelease: false
|
89
95
|
version_requirements: !ruby/object:Gem::Requirement
|
90
96
|
requirements:
|
91
|
-
- -
|
97
|
+
- - '>='
|
92
98
|
- !ruby/object:Gem::Version
|
93
99
|
version: '0'
|
94
|
-
none: false
|
95
|
-
prerelease: false
|
96
100
|
- !ruby/object:Gem::Dependency
|
101
|
+
name: rspec
|
97
102
|
requirement: !ruby/object:Gem::Requirement
|
98
103
|
requirements:
|
99
|
-
- -
|
104
|
+
- - '>='
|
100
105
|
- !ruby/object:Gem::Version
|
101
106
|
version: '0'
|
102
|
-
none: false
|
103
107
|
type: :development
|
104
|
-
|
108
|
+
prerelease: false
|
105
109
|
version_requirements: !ruby/object:Gem::Requirement
|
106
110
|
requirements:
|
107
|
-
- -
|
111
|
+
- - '>='
|
108
112
|
- !ruby/object:Gem::Version
|
109
113
|
version: '0'
|
110
|
-
none: false
|
111
|
-
prerelease: false
|
112
114
|
- !ruby/object:Gem::Dependency
|
115
|
+
name: actionpack
|
113
116
|
requirement: !ruby/object:Gem::Requirement
|
114
117
|
requirements:
|
115
|
-
- -
|
118
|
+
- - '>='
|
116
119
|
- !ruby/object:Gem::Version
|
117
120
|
version: 3.0.0
|
118
|
-
none: false
|
119
121
|
type: :development
|
120
|
-
|
122
|
+
prerelease: false
|
121
123
|
version_requirements: !ruby/object:Gem::Requirement
|
122
124
|
requirements:
|
123
|
-
- -
|
125
|
+
- - '>='
|
124
126
|
- !ruby/object:Gem::Version
|
125
127
|
version: 3.0.0
|
126
|
-
none: false
|
127
|
-
prerelease: false
|
128
128
|
description: Datatrans Integration for Ruby on Rails
|
129
129
|
email:
|
130
|
-
-
|
131
|
-
- thomas.maurer@simplificator.com
|
132
|
-
- corin.langosch@simplificator.com
|
130
|
+
- info@simplificator.com
|
133
131
|
executables: []
|
134
132
|
extensions: []
|
135
133
|
extra_rdoc_files: []
|
@@ -145,9 +143,11 @@ files:
|
|
145
143
|
- datatrans.gemspec
|
146
144
|
- lib/datatrans.rb
|
147
145
|
- lib/datatrans/common.rb
|
146
|
+
- lib/datatrans/config.rb
|
148
147
|
- lib/datatrans/version.rb
|
149
148
|
- lib/datatrans/web/transaction.rb
|
150
149
|
- lib/datatrans/web/transaction/authorize.rb
|
150
|
+
- lib/datatrans/web/view_helper.rb
|
151
151
|
- lib/datatrans/xml/transaction.rb
|
152
152
|
- lib/datatrans/xml/transaction/authorize.rb
|
153
153
|
- lib/datatrans/xml/transaction/capture.rb
|
@@ -156,6 +156,7 @@ files:
|
|
156
156
|
- lib/datatrans/xml/transaction/status.rb
|
157
157
|
- lib/datatrans/xml/transaction/void.rb
|
158
158
|
- spec/common_spec.rb
|
159
|
+
- spec/config_spec.rb
|
159
160
|
- spec/spec_helper.rb
|
160
161
|
- spec/web/authorize_spec.rb
|
161
162
|
- spec/xml/authorize_spec.rb
|
@@ -165,32 +166,25 @@ files:
|
|
165
166
|
- spec/xml/void_spec.rb
|
166
167
|
homepage: ''
|
167
168
|
licenses: []
|
169
|
+
metadata: {}
|
168
170
|
post_install_message:
|
169
171
|
rdoc_options: []
|
170
172
|
require_paths:
|
171
173
|
- lib
|
172
174
|
required_ruby_version: !ruby/object:Gem::Requirement
|
173
175
|
requirements:
|
174
|
-
- -
|
176
|
+
- - '>='
|
175
177
|
- !ruby/object:Gem::Version
|
176
|
-
hash: -136247163122496527
|
177
178
|
version: '0'
|
178
|
-
segments:
|
179
|
-
- 0
|
180
|
-
none: false
|
181
179
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
182
180
|
requirements:
|
183
|
-
- -
|
181
|
+
- - '>='
|
184
182
|
- !ruby/object:Gem::Version
|
185
|
-
hash: -136247163122496527
|
186
183
|
version: '0'
|
187
|
-
segments:
|
188
|
-
- 0
|
189
|
-
none: false
|
190
184
|
requirements: []
|
191
185
|
rubyforge_project: datatrans
|
192
|
-
rubygems_version:
|
186
|
+
rubygems_version: 2.0.2
|
193
187
|
signing_key:
|
194
|
-
specification_version:
|
188
|
+
specification_version: 4
|
195
189
|
summary: Datatrans Integration for Ruby on Rails
|
196
190
|
test_files: []
|