datatrans 2.4.0 → 3.0.0
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.
- 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: []
|