global_collect 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +2 -0
- data/Rakefile +1 -1
- data/VERSION +1 -1
- data/examples/support_helper_ex.rb +21 -0
- data/global_collect.gemspec +16 -11
- data/lib/global_collect/api_client.rb +0 -2
- data/spec/api_client_spec.rb +5 -5
- data/spec/responses/base_spec.rb +2 -2
- data/spec/responses/convert_amount/response_methods_spec.rb +1 -1
- data/spec/responses/do_refund/response_methods_spec.rb +1 -1
- data/spec/responses/get_order_status/v1_response_methods_spec.rb +1 -1
- data/spec/responses/get_order_status/v2_response_methods_spec.rb +1 -1
- data/spec/responses/insert_order_with_payment/credit_card_online_payment_response_methods_spec.rb +1 -1
- data/spec/responses/insert_order_with_payment/hosted_merchant_link_payment_response_methods_spec.rb +1 -1
- data/spec/responses/succcess_row_spec.rb +2 -2
- data/spec/spec_helper.rb +4 -10
- data/spec/support/{challenged_iowp_response.xml → challenged_iowp_v1_response.xml} +0 -0
- data/spec/support/{successful_convert_amount_response.xml → successful_convert_amount_v1_response.xml} +0 -0
- data/spec/support/{successful_do_refund_response.xml → successful_do_refund_v1_response.xml} +0 -0
- data/spec/support/{successful_hosted_iowp_response.xml → successful_hosted_iowp_v1_response.xml} +0 -0
- data/spec/support/{successful_iowp_response.xml → successful_iowp_v1_response.xml} +0 -0
- data/spec/support/support_helper.rb +25 -0
- data/spec/support/{unsuccessful_do_refund_response.xml → unsuccessful_do_refund_v1_response.xml} +0 -0
- data/spec/support/{unsuccessful_iowp_response.xml → unsuccessful_iowp_v1_response.xml} +0 -0
- data/spec/support/{unsuccessful_process_challenged_response.xml → unsuccessful_process_challenged_v1_response.xml} +0 -0
- metadata +16 -11
data/.gitignore
ADDED
data/Rakefile
CHANGED
@@ -24,7 +24,7 @@ END
|
|
24
24
|
gemspec.email = "timon.karnezos@gmail.com"
|
25
25
|
gemspec.homepage = "http://github.com/timonk/global_collect"
|
26
26
|
gemspec.authors = ["Timon Karnezos"]
|
27
|
-
gemspec.version = "0.1.
|
27
|
+
gemspec.version = "0.1.2"
|
28
28
|
gemspec.add_dependency('httparty', '>= 0.5.2')
|
29
29
|
gemspec.add_dependency('builder', '>= 2.0')
|
30
30
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.1.2
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require File.join(File.dirname(__FILE__), '..', "lib", "global_collect")
|
3
|
+
|
4
|
+
|
5
|
+
require File.join(File.dirname(__FILE__), '..', "spec", "support", "support_helper")
|
6
|
+
env = :test
|
7
|
+
auth = :ip_check
|
8
|
+
install_canned_response(:merchant_link, env, auth, :successful, :get_order_status, :v2)
|
9
|
+
|
10
|
+
GlobalCollect.merchant_id = ""
|
11
|
+
GlobalCollect.authentication_scheme = auth
|
12
|
+
GlobalCollect.environment = env
|
13
|
+
GlobalCollect.ip_address = ""
|
14
|
+
#GlobalCollect.wire_log_file = File.join(File.dirname(__FILE__), "gc.log")
|
15
|
+
|
16
|
+
client = GlobalCollect.merchant_link_client
|
17
|
+
|
18
|
+
req = GlobalCollect::Requests::GetOrderStatus.new("53")
|
19
|
+
req.version = "1.0"
|
20
|
+
response = client.make_request(req)
|
21
|
+
p response.request_id == "350556"
|
data/global_collect.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{global_collect}
|
8
|
-
s.version = "0.1.
|
8
|
+
s.version = "0.1.2"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Timon Karnezos"]
|
12
|
-
s.date = %q{2010-04-
|
12
|
+
s.date = %q{2010-04-30}
|
13
13
|
s.description = %q{Gives minimally intrusive access to Global Collect's payment processing API.
|
14
14
|
Currently implements a very small segment of the full API but is built with
|
15
15
|
extensibility in mind.
|
@@ -19,7 +19,8 @@ extensibility in mind.
|
|
19
19
|
"README.markdown"
|
20
20
|
]
|
21
21
|
s.files = [
|
22
|
-
"
|
22
|
+
".gitignore",
|
23
|
+
"COPYING",
|
23
24
|
"HISTORY",
|
24
25
|
"README.markdown",
|
25
26
|
"Rakefile",
|
@@ -30,6 +31,7 @@ extensibility in mind.
|
|
30
31
|
"examples/insert_order_with_payment.rb",
|
31
32
|
"examples/process_challenged.rb",
|
32
33
|
"examples/set_payment.rb",
|
34
|
+
"examples/support_helper_ex.rb",
|
33
35
|
"examples/test_connection.rb",
|
34
36
|
"global_collect.gemspec",
|
35
37
|
"lib/global_collect.rb",
|
@@ -100,17 +102,18 @@ extensibility in mind.
|
|
100
102
|
"spec/responses/insert_order_with_payment/hosted_merchant_link_payment_response_methods_spec.rb",
|
101
103
|
"spec/responses/succcess_row_spec.rb",
|
102
104
|
"spec/spec_helper.rb",
|
103
|
-
"spec/support/
|
104
|
-
"spec/support/
|
105
|
-
"spec/support/
|
105
|
+
"spec/support/challenged_iowp_v1_response.xml",
|
106
|
+
"spec/support/successful_convert_amount_v1_response.xml",
|
107
|
+
"spec/support/successful_do_refund_v1_response.xml",
|
106
108
|
"spec/support/successful_get_order_status_v1_response.xml",
|
107
109
|
"spec/support/successful_get_order_status_v2_response.xml",
|
108
|
-
"spec/support/
|
109
|
-
"spec/support/
|
110
|
+
"spec/support/successful_hosted_iowp_v1_response.xml",
|
111
|
+
"spec/support/successful_iowp_v1_response.xml",
|
110
112
|
"spec/support/successful_process_challenged_response.xml",
|
111
|
-
"spec/support/
|
112
|
-
"spec/support/
|
113
|
-
"spec/support/
|
113
|
+
"spec/support/support_helper.rb",
|
114
|
+
"spec/support/unsuccessful_do_refund_v1_response.xml",
|
115
|
+
"spec/support/unsuccessful_iowp_v1_response.xml",
|
116
|
+
"spec/support/unsuccessful_process_challenged_v1_response.xml"
|
114
117
|
]
|
115
118
|
s.homepage = %q{http://github.com/timonk/global_collect}
|
116
119
|
s.rdoc_options = ["--charset=UTF-8"]
|
@@ -147,12 +150,14 @@ extensibility in mind.
|
|
147
150
|
"spec/responses/insert_order_with_payment/hosted_merchant_link_payment_response_methods_spec.rb",
|
148
151
|
"spec/responses/succcess_row_spec.rb",
|
149
152
|
"spec/spec_helper.rb",
|
153
|
+
"spec/support/support_helper.rb",
|
150
154
|
"examples/cancel_payment.rb",
|
151
155
|
"examples/convert_amount.rb",
|
152
156
|
"examples/get_order_status.rb",
|
153
157
|
"examples/insert_order_with_payment.rb",
|
154
158
|
"examples/process_challenged.rb",
|
155
159
|
"examples/set_payment.rb",
|
160
|
+
"examples/support_helper_ex.rb",
|
156
161
|
"examples/test_connection.rb"
|
157
162
|
]
|
158
163
|
|
@@ -45,8 +45,6 @@ module GlobalCollect
|
|
45
45
|
base
|
46
46
|
end
|
47
47
|
|
48
|
-
private
|
49
|
-
|
50
48
|
def self.service_url(service, environment, authentication)
|
51
49
|
# WDL §§3.4-5 specify the allowed arguments
|
52
50
|
raise ArgumentError.new("Only [Hosted] Merchant Link is currently supported!") unless [:merchant_link].include?(service)
|
data/spec/api_client_spec.rb
CHANGED
@@ -22,7 +22,7 @@ describe 'the api client' do
|
|
22
22
|
end
|
23
23
|
|
24
24
|
it "should post to the correct url" do
|
25
|
-
|
25
|
+
wire_up_response(:successful, :iowp, :v1)
|
26
26
|
client = GlobalCollect::ApiClient.new(:merchant_link, :test, :ip_check)
|
27
27
|
|
28
28
|
request = mock(
|
@@ -36,7 +36,7 @@ describe 'the api client' do
|
|
36
36
|
end
|
37
37
|
|
38
38
|
it "should mix in the proper mixins to the response by default" do
|
39
|
-
|
39
|
+
wire_up_response(:successful, :iowp, :v1)
|
40
40
|
client = GlobalCollect::ApiClient.new(:merchant_link, :test, :ip_check)
|
41
41
|
|
42
42
|
request = mock(
|
@@ -50,7 +50,7 @@ describe 'the api client' do
|
|
50
50
|
end
|
51
51
|
|
52
52
|
it "should not mix in anything if directed not to" do
|
53
|
-
|
53
|
+
wire_up_response(:successful, :iowp, :v1)
|
54
54
|
client = GlobalCollect::ApiClient.new(:merchant_link, :test, :ip_check)
|
55
55
|
|
56
56
|
request = mock(
|
@@ -64,7 +64,7 @@ describe 'the api client' do
|
|
64
64
|
end
|
65
65
|
|
66
66
|
it "should error on no response" do
|
67
|
-
|
67
|
+
wire_up_response(:successful, :iowp, :v1)
|
68
68
|
client = GlobalCollect::ApiClient.new(:merchant_link, :test, :ip_check)
|
69
69
|
client.class.should_receive(:post).and_return(nil)
|
70
70
|
request = mock(
|
@@ -77,7 +77,7 @@ describe 'the api client' do
|
|
77
77
|
end
|
78
78
|
|
79
79
|
it "should error on a malformed response" do
|
80
|
-
|
80
|
+
wire_up_response(:successful, :iowp, :v1)
|
81
81
|
client = GlobalCollect::ApiClient.new(:merchant_link, :test, :ip_check)
|
82
82
|
response = mock(:response, :body => "Foo bar", :code => "200", :delegate => {})
|
83
83
|
client.class.should_receive(:post).and_return(response)
|
data/spec/responses/base_spec.rb
CHANGED
@@ -3,7 +3,7 @@ require File.join(File.dirname(__FILE__), '..', 'spec_helper')
|
|
3
3
|
describe "the base response" do
|
4
4
|
describe "on a successful response" do
|
5
5
|
before(:each) do
|
6
|
-
@response =
|
6
|
+
@response = parse_canned_response(:successful, :iowp, :v1)
|
7
7
|
end
|
8
8
|
|
9
9
|
it "should identify success" do
|
@@ -32,7 +32,7 @@ describe "the base response" do
|
|
32
32
|
|
33
33
|
describe "on an unsuccessful response" do
|
34
34
|
before(:each) do
|
35
|
-
@response =
|
35
|
+
@response = parse_canned_response(:unsuccessful, :iowp, :v1)
|
36
36
|
end
|
37
37
|
|
38
38
|
it "should identify success" do
|
@@ -2,7 +2,7 @@ require File.join(File.dirname(__FILE__), '..', '..', 'spec_helper')
|
|
2
2
|
|
3
3
|
describe "the convert amount response methods" do
|
4
4
|
before(:each) do
|
5
|
-
@response =
|
5
|
+
@response = parse_canned_response(:successful, :convert_amount, :v1)
|
6
6
|
@response.extend(GlobalCollect::Responses::SuccessRow)
|
7
7
|
@response.extend(GlobalCollect::Responses::ConvertAmount::ResponseMethods)
|
8
8
|
end
|
@@ -2,7 +2,7 @@ require File.join(File.dirname(__FILE__), '..', '..', 'spec_helper')
|
|
2
2
|
|
3
3
|
describe "the do refund response methods" do
|
4
4
|
before(:each) do
|
5
|
-
@response =
|
5
|
+
@response = parse_canned_response(:successful, :do_refund, :v1)
|
6
6
|
@response.extend(GlobalCollect::Responses::SuccessRow)
|
7
7
|
@response.extend(GlobalCollect::Responses::DoRefund::ResponseMethods)
|
8
8
|
end
|
@@ -2,7 +2,7 @@ require File.join(File.dirname(__FILE__), '..', '..', 'spec_helper')
|
|
2
2
|
|
3
3
|
describe "the v1 get order status response methods" do
|
4
4
|
before(:each) do
|
5
|
-
@response =
|
5
|
+
@response = parse_canned_response(:successful, :get_order_status, :v1)
|
6
6
|
@response.extend(GlobalCollect::Responses::GetOrderStatus::V1ResponseMethods)
|
7
7
|
end
|
8
8
|
|
@@ -2,7 +2,7 @@ require File.join(File.dirname(__FILE__), '..', '..', 'spec_helper')
|
|
2
2
|
|
3
3
|
describe "the v2 get order status response methods" do
|
4
4
|
before(:each) do
|
5
|
-
@response =
|
5
|
+
@response = parse_canned_response(:successful, :get_order_status, :v2)
|
6
6
|
@response.extend(GlobalCollect::Responses::GetOrderStatus::V2ResponseMethods)
|
7
7
|
end
|
8
8
|
|
data/spec/responses/insert_order_with_payment/credit_card_online_payment_response_methods_spec.rb
CHANGED
@@ -2,7 +2,7 @@ require File.join(File.dirname(__FILE__), '..', '..', 'spec_helper')
|
|
2
2
|
|
3
3
|
describe "the credit card online payment response methods" do
|
4
4
|
before(:each) do
|
5
|
-
@response =
|
5
|
+
@response = parse_canned_response(:successful, :iowp, :v1)
|
6
6
|
@response.extend(GlobalCollect::Responses::SuccessRow)
|
7
7
|
@response.extend(GlobalCollect::Responses::InsertOrderWithPayment::CreditCardOnlinePaymentResponseMethods)
|
8
8
|
end
|
data/spec/responses/insert_order_with_payment/hosted_merchant_link_payment_response_methods_spec.rb
CHANGED
@@ -2,7 +2,7 @@ require File.join(File.dirname(__FILE__), '..', '..', 'spec_helper')
|
|
2
2
|
|
3
3
|
describe "the hosted merchant link payment response methods" do
|
4
4
|
before(:each) do
|
5
|
-
@response =
|
5
|
+
@response = parse_canned_response(:successful, :hosted_iowp, :v1)
|
6
6
|
@response.extend(GlobalCollect::Responses::SuccessRow)
|
7
7
|
@response.extend(GlobalCollect::Responses::InsertOrderWithPayment::HostedMerchantLinkPaymentResponseMethods)
|
8
8
|
end
|
@@ -3,7 +3,7 @@ require File.join(File.dirname(__FILE__), '..', 'spec_helper')
|
|
3
3
|
describe "the base response" do
|
4
4
|
describe "on a successful response" do
|
5
5
|
before(:each) do
|
6
|
-
@response =
|
6
|
+
@response = parse_canned_response(:successful, :iowp, :v1)
|
7
7
|
end
|
8
8
|
|
9
9
|
it "should provide the success data hash" do
|
@@ -15,7 +15,7 @@ describe "the base response" do
|
|
15
15
|
|
16
16
|
describe "on an unsuccessful response" do
|
17
17
|
before(:each) do
|
18
|
-
@response =
|
18
|
+
@response = parse_canned_response(:unsuccessful, :iowp, :v1)
|
19
19
|
end
|
20
20
|
|
21
21
|
it "should not provide the success data hash" do
|
data/spec/spec_helper.rb
CHANGED
@@ -5,21 +5,15 @@ require 'global_collect'
|
|
5
5
|
# initialiaze the logger and silence it for the tests
|
6
6
|
GlobalCollect.wire_logger.level = 4
|
7
7
|
|
8
|
-
require
|
9
|
-
FakeWeb.allow_net_connect = false
|
10
|
-
|
11
|
-
def read_canned_response(filename)
|
12
|
-
File.read(File.join(File.dirname(__FILE__), "support", filename))
|
13
|
-
end
|
8
|
+
require File.join(File.dirname(__FILE__), "support", "support_helper")
|
14
9
|
|
15
|
-
|
16
|
-
|
17
|
-
|
10
|
+
FakeWeb.allow_net_connect = false
|
11
|
+
def wire_up_response(success, action, version)
|
12
|
+
install_canned_response(:merchant_link, :test, :ip_check, success, action, version)
|
18
13
|
end
|
19
14
|
|
20
15
|
require 'crack'
|
21
16
|
|
22
|
-
|
23
17
|
require 'rexml/document'
|
24
18
|
require 'rexml/element'
|
25
19
|
|
File without changes
|
File without changes
|
data/spec/support/{successful_do_refund_response.xml → successful_do_refund_v1_response.xml}
RENAMED
File without changes
|
data/spec/support/{successful_hosted_iowp_response.xml → successful_hosted_iowp_v1_response.xml}
RENAMED
File without changes
|
File without changes
|
@@ -0,0 +1,25 @@
|
|
1
|
+
require 'fakeweb'
|
2
|
+
|
3
|
+
def read_canned_response(filename)
|
4
|
+
File.read(File.join(File.dirname(__FILE__), filename))
|
5
|
+
end
|
6
|
+
|
7
|
+
def filename_for(success, action, version)
|
8
|
+
filename = [
|
9
|
+
success,
|
10
|
+
action,
|
11
|
+
version,
|
12
|
+
"response"
|
13
|
+
].map(&:to_s).join("_") + ".xml"
|
14
|
+
end
|
15
|
+
|
16
|
+
def install_canned_response(service, env, auth_scheme, success, action, version)
|
17
|
+
response_body = read_canned_response(filename_for(success, action, version))
|
18
|
+
service_url = GlobalCollect::ApiClient.service_url(service, env, auth_scheme)
|
19
|
+
FakeWeb.register_uri(:post, service_url, :body => response_body)
|
20
|
+
end
|
21
|
+
|
22
|
+
def parse_canned_response(success, action, version)
|
23
|
+
response_body = read_canned_response(filename_for(success, action, version))
|
24
|
+
GlobalCollect::Responses::Base.new(Crack::XML.parse(response_body), response_body)
|
25
|
+
end
|
data/spec/support/{unsuccessful_do_refund_response.xml → unsuccessful_do_refund_v1_response.xml}
RENAMED
File without changes
|
File without changes
|
File without changes
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 1
|
8
|
-
-
|
9
|
-
version: 0.1.
|
8
|
+
- 2
|
9
|
+
version: 0.1.2
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Timon Karnezos
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-04-
|
17
|
+
date: 2010-04-30 00:00:00 -07:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
@@ -71,6 +71,7 @@ extensions: []
|
|
71
71
|
extra_rdoc_files:
|
72
72
|
- README.markdown
|
73
73
|
files:
|
74
|
+
- .gitignore
|
74
75
|
- COPYING
|
75
76
|
- HISTORY
|
76
77
|
- README.markdown
|
@@ -82,6 +83,7 @@ files:
|
|
82
83
|
- examples/insert_order_with_payment.rb
|
83
84
|
- examples/process_challenged.rb
|
84
85
|
- examples/set_payment.rb
|
86
|
+
- examples/support_helper_ex.rb
|
85
87
|
- examples/test_connection.rb
|
86
88
|
- global_collect.gemspec
|
87
89
|
- lib/global_collect.rb
|
@@ -152,17 +154,18 @@ files:
|
|
152
154
|
- spec/responses/insert_order_with_payment/hosted_merchant_link_payment_response_methods_spec.rb
|
153
155
|
- spec/responses/succcess_row_spec.rb
|
154
156
|
- spec/spec_helper.rb
|
155
|
-
- spec/support/
|
156
|
-
- spec/support/
|
157
|
-
- spec/support/
|
157
|
+
- spec/support/challenged_iowp_v1_response.xml
|
158
|
+
- spec/support/successful_convert_amount_v1_response.xml
|
159
|
+
- spec/support/successful_do_refund_v1_response.xml
|
158
160
|
- spec/support/successful_get_order_status_v1_response.xml
|
159
161
|
- spec/support/successful_get_order_status_v2_response.xml
|
160
|
-
- spec/support/
|
161
|
-
- spec/support/
|
162
|
+
- spec/support/successful_hosted_iowp_v1_response.xml
|
163
|
+
- spec/support/successful_iowp_v1_response.xml
|
162
164
|
- spec/support/successful_process_challenged_response.xml
|
163
|
-
- spec/support/
|
164
|
-
- spec/support/
|
165
|
-
- spec/support/
|
165
|
+
- spec/support/support_helper.rb
|
166
|
+
- spec/support/unsuccessful_do_refund_v1_response.xml
|
167
|
+
- spec/support/unsuccessful_iowp_v1_response.xml
|
168
|
+
- spec/support/unsuccessful_process_challenged_v1_response.xml
|
166
169
|
has_rdoc: true
|
167
170
|
homepage: http://github.com/timonk/global_collect
|
168
171
|
licenses: []
|
@@ -223,10 +226,12 @@ test_files:
|
|
223
226
|
- spec/responses/insert_order_with_payment/hosted_merchant_link_payment_response_methods_spec.rb
|
224
227
|
- spec/responses/succcess_row_spec.rb
|
225
228
|
- spec/spec_helper.rb
|
229
|
+
- spec/support/support_helper.rb
|
226
230
|
- examples/cancel_payment.rb
|
227
231
|
- examples/convert_amount.rb
|
228
232
|
- examples/get_order_status.rb
|
229
233
|
- examples/insert_order_with_payment.rb
|
230
234
|
- examples/process_challenged.rb
|
231
235
|
- examples/set_payment.rb
|
236
|
+
- examples/support_helper_ex.rb
|
232
237
|
- examples/test_connection.rb
|