tylerhunt-remit 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (38) hide show
  1. data/LICENSE +20 -0
  2. data/README +38 -0
  3. data/lib/remit/cancel_token.rb +18 -0
  4. data/lib/remit/common.rb +88 -0
  5. data/lib/remit/data_types.rb +107 -0
  6. data/lib/remit/discard_results.rb +18 -0
  7. data/lib/remit/fund_prepaid.rb +31 -0
  8. data/lib/remit/get_account_activity.rb +60 -0
  9. data/lib/remit/get_account_balance.rb +29 -0
  10. data/lib/remit/get_all_credit_instruments.rb +18 -0
  11. data/lib/remit/get_all_prepaid_instruments.rb +18 -0
  12. data/lib/remit/get_debt_balance.rb +23 -0
  13. data/lib/remit/get_outstanding_debt_balance.rb +22 -0
  14. data/lib/remit/get_payment_instruction.rb +21 -0
  15. data/lib/remit/get_pipeline.rb +123 -0
  16. data/lib/remit/get_prepaid_balance.rb +23 -0
  17. data/lib/remit/get_results.rb +26 -0
  18. data/lib/remit/get_token_by_caller.rb +19 -0
  19. data/lib/remit/get_token_usage.rb +18 -0
  20. data/lib/remit/get_tokens.rb +20 -0
  21. data/lib/remit/get_total_prepaid_liability.rb +22 -0
  22. data/lib/remit/get_transaction.rb +42 -0
  23. data/lib/remit/install_payment_instruction.rb +22 -0
  24. data/lib/remit/pay.rb +34 -0
  25. data/lib/remit/refund.rb +38 -0
  26. data/lib/remit/reserve.rb +30 -0
  27. data/lib/remit/retry_transaction.rb +18 -0
  28. data/lib/remit/settle.rb +20 -0
  29. data/lib/remit/settle_debt.rb +30 -0
  30. data/lib/remit/subscribe_for_caller_notification.rb +18 -0
  31. data/lib/remit/unsubscribe_for_caller_notification.rb +17 -0
  32. data/lib/remit/write_off_debt.rb +28 -0
  33. data/lib/remit.rb +123 -0
  34. data/spec/get_account_activity_spec.rb +36 -0
  35. data/spec/get_pipeline_spec.rb +106 -0
  36. data/spec/get_tokens_spec.rb +38 -0
  37. data/spec/spec_helper.rb +26 -0
  38. metadata +102 -0
@@ -0,0 +1,19 @@
1
+ require 'remit/common'
2
+
3
+ module Remit
4
+ module GetTokenByCaller
5
+ class Request < Remit::Request
6
+ action :GetTokenByCaller
7
+ parameter :caller_reference
8
+ parameter :token_id
9
+ end
10
+
11
+ class Response < Remit::Response
12
+ parameter :token, :type => Token
13
+ end
14
+
15
+ def get_token_by_caller(request = Request.new)
16
+ call(request, Response)
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,18 @@
1
+ require 'remit/common'
2
+
3
+ module Remit
4
+ module GetTokenUsage
5
+ class Request < Remit::Request
6
+ action :GetTokenUsage
7
+ parameter :token_id
8
+ end
9
+
10
+ class Response < Remit::Response
11
+ parameter :token_usage_limits, :type => TokenUsageLimit
12
+ end
13
+
14
+ def get_token_usage(request = Request.new)
15
+ call(request, Response)
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,20 @@
1
+ require 'remit/common'
2
+
3
+ module Remit
4
+ module GetTokens
5
+ class Request < Remit::Request
6
+ action :GetTokens
7
+ parameter :caller_reference
8
+ parameter :token_friendly_name
9
+ parameter :token_status
10
+ end
11
+
12
+ class Response < Remit::Response
13
+ parameter :tokens, :collection => Token
14
+ end
15
+
16
+ def get_tokens(request = Request.new)
17
+ call(request, Response)
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,22 @@
1
+ require 'remit/common'
2
+
3
+ module Remit
4
+ module GetTotalPrepaidLiability
5
+ class Request < Remit::Request
6
+ action :GetTotalPrepaidLiability
7
+ end
8
+
9
+ class Response < Remit::Response
10
+ class OutstandingPrepaidLiability < Remit::BaseResponse
11
+ parameter :outstanding_balance, :type => Amount
12
+ parameter :panding_in_balance, :type => Amount
13
+ end
14
+
15
+ parameter :outstanding_prepaid_liability, :type => OutstandingPrepaidLiability
16
+ end
17
+
18
+ def get_total_prepaid_liability(request = Request.new)
19
+ call(request, Response)
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,42 @@
1
+ require 'remit/common'
2
+
3
+ module Remit
4
+ module GetTransaction
5
+ class Request < Remit::Request
6
+ action :GetTransaction
7
+ parameter :transaction_id
8
+ end
9
+
10
+ class Response < Remit::Response
11
+ class TransactionDetail < Remit::BaseResponse
12
+ parameter :caller_name
13
+ parameter :caller_token_id
14
+ parameter :caller_transaction_date, :type => :time
15
+ parameter :date_completed, :type => :time
16
+ parameter :date_received, :type => :time
17
+ parameter :error_code
18
+ parameter :error_message
19
+ parameter :fees, :type => Amount
20
+ parameter :meta_data
21
+ parameter :operation
22
+ parameter :payment_method
23
+ parameter :recipient_name
24
+ parameter :recipient_token_id
25
+ parameter :related_transactions
26
+ parameter :sender_name
27
+ parameter :sender_token_id
28
+ parameter :status
29
+ parameter :status_history
30
+ parameter :transaction_amount, :type => Amount
31
+ parameter :transaction_id
32
+ parameter :transaction_parts
33
+ end
34
+
35
+ parameter :transaction, :type => TransactionDetail
36
+ end
37
+
38
+ def get_transaction(request = Request.new)
39
+ call(request, Response)
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,22 @@
1
+ require 'remit/common'
2
+
3
+ module Remit
4
+ module InstallPaymentInstruction
5
+ class Request < Remit::Request
6
+ action :InstallPaymentInstruction
7
+ parameter :payment_instruction
8
+ parameter :caller_reference
9
+ parameter :token_friendly_name
10
+ parameter :token_type
11
+ parameter :payment_reason
12
+ end
13
+
14
+ class Response < Remit::Response
15
+ parameter :token_id
16
+ end
17
+
18
+ def install_payment_instruction(request)
19
+ call(request, Response)
20
+ end
21
+ end
22
+ end
data/lib/remit/pay.rb ADDED
@@ -0,0 +1,34 @@
1
+ require 'remit/common'
2
+
3
+ module Remit
4
+ module Pay
5
+ class Request < Remit::Request
6
+ action :Pay
7
+ parameter :caller_description
8
+ parameter :caller_reference
9
+ parameter :caller_token_id
10
+ parameter :charge_fee_to
11
+ parameter :meta_data
12
+ parameter :recipient_description
13
+ parameter :recipient_reference
14
+ parameter :recipient_token_id
15
+ parameter :sender_description
16
+ parameter :sender_reference
17
+ parameter :sender_token_id
18
+ parameter :transaction_amount, :type => Remit::RequestTypes::Amount
19
+ parameter :transaction_date
20
+ end
21
+
22
+ class Response < Remit::Response
23
+ # FIXME: Due to an issue with Hpricot, Relax-0.0.4, and namespaces, the
24
+ # transaction_response parameter is not parsed correctly and will always
25
+ # be nil (http://groups.google.com/group/remit/t/1e0af072200d1bb3).
26
+ # The suggested course of action is to operate on the raw XML.
27
+ parameter :transaction_response, :type => TransactionResponse
28
+ end
29
+
30
+ def pay(request = Request.new)
31
+ call(request, Response)
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,38 @@
1
+ require 'remit/common'
2
+
3
+ module Remit
4
+ module Refund
5
+ class Request < Remit::Request
6
+ action :Refund
7
+ parameter :caller_description
8
+ parameter :caller_reference
9
+ parameter :caller_token_id
10
+ parameter :charge_fee_to
11
+ parameter :meta_data
12
+ parameter :refund_amount, :type => Remit::RequestTypes::Amount
13
+ parameter :refund_recipient_description
14
+ parameter :refund_recipient_reference
15
+ parameter :refund_sender_description
16
+ parameter :refund_sender_reference
17
+ parameter :refund_sender_token_id
18
+ parameter :transaction_date
19
+ parameter :transaction_id
20
+
21
+
22
+ # The RefundAmount parameter has multiple components. It is specified on the query string like
23
+ # so: RefundAmount.Amount=XXX&RefundAmount.CurrencyCode=YYY
24
+ def convert_complex_key(key, parameter)
25
+ "#{convert_key(key).to_s}.#{convert_key(parameter).to_s}"
26
+ end
27
+
28
+ end
29
+
30
+ class Response < Remit::Response
31
+ parameter :transaction_response, :type => TransactionResponse
32
+ end
33
+
34
+ def refund(request = Request.new)
35
+ call(request, Response)
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,30 @@
1
+ require 'remit/common'
2
+
3
+ module Remit
4
+ module Reserve
5
+ class Request < Remit::Request
6
+ action :Reserve
7
+ parameter :recipient_token_id
8
+ parameter :sender_token_id
9
+ parameter :caller_token_id
10
+ parameter :sender_reference
11
+ parameter :recipient_reference
12
+ parameter :caller_reference
13
+ parameter :transaction_date
14
+ parameter :transaction_amount
15
+ parameter :charge_fee_to
16
+ parameter :sender_description
17
+ parameter :recipient_description
18
+ parameter :caller_description
19
+ parameter :meta_data
20
+ end
21
+
22
+ class Response < Remit::Response
23
+ parameter :transaction_response, :type => TransactionResponse
24
+ end
25
+
26
+ def reserve(request = Request.new)
27
+ call(request, Response)
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,18 @@
1
+ require 'remit/common'
2
+
3
+ module Remit
4
+ module RetryTransaction
5
+ class Request < Remit::Request
6
+ action :RetryTransaction
7
+ parameter :original_transaction_id
8
+ end
9
+
10
+ class Response < Remit::Response
11
+ parameter :transaction_response, :type => TransactionResponse
12
+ end
13
+
14
+ def retry_transaction(request = Request.new)
15
+ call(request, Response)
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,20 @@
1
+ require 'remit/common'
2
+
3
+ module Remit
4
+ module Settle
5
+ class Request < Remit::Request
6
+ action :Settle
7
+ parameter :settlement_amount
8
+ parameter :transaction_id
9
+ parameter :transaction_date
10
+ end
11
+
12
+ class Response < Remit::Response
13
+ parameter :transaction_response, :type => TransactionResponse
14
+ end
15
+
16
+ def settle(request = Request.new)
17
+ call(request, Response)
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,30 @@
1
+ require 'remit/common'
2
+
3
+ module Remit
4
+ module SettleDebt
5
+ class Request < Remit::Request
6
+ action :SettleDebt
7
+ parameter :caller_description
8
+ parameter :caller_reference
9
+ parameter :caller_token_id
10
+ parameter :charge_fee_to
11
+ parameter :credit_instrument_id
12
+ parameter :meta_data
13
+ parameter :recipient_description
14
+ parameter :recipient_reference
15
+ parameter :sender_description
16
+ parameter :sender_reference
17
+ parameter :sender_token_id
18
+ parameter :settlement_amount
19
+ parameter :transaction_date
20
+ end
21
+
22
+ class Response < Remit::Response
23
+ parameter :transaction_response, :type => TransactionResponse
24
+ end
25
+
26
+ def settle_debt(request = Request.new)
27
+ call(request, Response)
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,18 @@
1
+ require 'remit/common'
2
+
3
+ module Remit
4
+ module SubscribeForCallerNotification
5
+ class Request < Remit::Request
6
+ action :SubscribeForCallerNotification
7
+ parameter :notification_operation_name
8
+ parameter :web_service_api_url
9
+ end
10
+
11
+ class Response < Remit::Response
12
+ end
13
+
14
+ def subscribe_for_caller_notification(request = Request.new)
15
+ call(request, Response)
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,17 @@
1
+ require 'remit/common'
2
+
3
+ module Remit
4
+ module UnsubscribeForCallerNotification
5
+ class Request < Remit::Request
6
+ action :UnSubscribeForCallerNotification
7
+ parameter :notification_operation_name
8
+ end
9
+
10
+ class Response < Remit::Response
11
+ end
12
+
13
+ def unsubscribe_for_caller_notification(request = Request.new)
14
+ call(request, Response)
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,28 @@
1
+ require 'remit/common'
2
+
3
+ module Remit
4
+ module WriteOffDebt
5
+ class Request < Remit::Request
6
+ action :WriteOffDebt
7
+ parameter :caller_token_id
8
+ parameter :credit_instrument_id
9
+ parameter :adjustment_amount
10
+ parameter :transaction_date
11
+ parameter :sender_reference
12
+ parameter :caller_reference
13
+ parameter :recipient_reference
14
+ parameter :sender_description
15
+ parameter :recipient_description
16
+ parameter :caller_description
17
+ parameter :meta_data
18
+ end
19
+
20
+ class Response < Remit::Response
21
+ parameter :transaction_response, :type => TransactionResponse
22
+ end
23
+
24
+ def write_off_debt(request = Request.new)
25
+ call(request, Response)
26
+ end
27
+ end
28
+ end
data/lib/remit.rb ADDED
@@ -0,0 +1,123 @@
1
+ $:.unshift(File.dirname(__FILE__)) unless $:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__)))
2
+
3
+ require 'openssl'
4
+ require 'net/https'
5
+ require 'uri'
6
+ require 'date'
7
+ require 'base64'
8
+ require 'erb'
9
+
10
+ require 'rubygems'
11
+ require 'relax'
12
+
13
+ require 'remit/common'
14
+ require 'remit/data_types'
15
+
16
+ require 'remit/cancel_token'
17
+ require 'remit/discard_results'
18
+ require 'remit/fund_prepaid'
19
+ require 'remit/get_account_activity'
20
+ require 'remit/get_account_balance'
21
+ require 'remit/get_all_credit_instruments'
22
+ require 'remit/get_all_prepaid_instruments'
23
+ require 'remit/get_debt_balance'
24
+ require 'remit/get_outstanding_debt_balance'
25
+ require 'remit/get_payment_instruction'
26
+ require 'remit/get_pipeline'
27
+ require 'remit/get_prepaid_balance'
28
+ require 'remit/get_results'
29
+ require 'remit/get_token_usage'
30
+ require 'remit/get_tokens'
31
+ require 'remit/get_token_by_caller'
32
+ require 'remit/get_total_prepaid_liability'
33
+ require 'remit/get_transaction'
34
+ require 'remit/install_payment_instruction'
35
+ require 'remit/pay'
36
+ require 'remit/refund'
37
+ require 'remit/reserve'
38
+ require 'remit/retry_transaction'
39
+ require 'remit/settle'
40
+ require 'remit/settle_debt'
41
+ require 'remit/subscribe_for_caller_notification'
42
+ require 'remit/unsubscribe_for_caller_notification'
43
+ require 'remit/write_off_debt'
44
+
45
+ module Remit
46
+ class API < Relax::Service
47
+ include CancelToken
48
+ include DiscardResults
49
+ include FundPrepaid
50
+ include GetAccountActivity
51
+ include GetAccountBalance
52
+ include GetAllCreditInstruments
53
+ include GetAllPrepaidInstruments
54
+ include GetDebtBalance
55
+ include GetOutstandingDebtBalance
56
+ include GetPaymentInstruction
57
+ include GetPipeline
58
+ include GetPrepaidBalance
59
+ include GetResults
60
+ include GetTokenUsage
61
+ include GetTokens
62
+ include GetTokenByCaller
63
+ include GetTotalPrepaidLiability
64
+ include GetTransaction
65
+ include InstallPaymentInstruction
66
+ include Pay
67
+ include Refund
68
+ include Reserve
69
+ include RetryTransaction
70
+ include Settle
71
+ include SettleDebt
72
+ include SubscribeForCallerNotification
73
+ include UnsubscribeForCallerNotification
74
+ include WriteOffDebt
75
+
76
+ API_ENDPOINT = 'https://fps.amazonaws.com/'
77
+ API_SANDBOX = 'https://fps.sandbox.amazonaws.com/'
78
+ PIPELINE_ENDPOINT = 'https://authorize.payments.amazon.com/cobranded-ui/actions/start'
79
+ PIPELINE_SANDBOX = 'https://authorize.payments-sandbox.amazon.com/cobranded-ui/actions/start'
80
+ API_VERSION = Date.new(2007, 1, 8).to_s
81
+ SIGNATURE_VERSION = 1
82
+
83
+ attr_reader :pipeline
84
+ attr_reader :access_key
85
+ attr_reader :secret_key
86
+
87
+ def initialize(access_key, secret_key, sandbox = false)
88
+ super((not sandbox) ? API_ENDPOINT : API_SANDBOX)
89
+ @pipeline = ((not sandbox) ? PIPELINE_ENDPOINT : PIPELINE_SANDBOX)
90
+ @access_key = access_key
91
+ @secret_key = secret_key
92
+ end
93
+
94
+ private
95
+
96
+ def new_query(query = {})
97
+ SignedQuery.new(@endpoint, @secret_key, query)
98
+ end
99
+
100
+ def default_query
101
+ new_query({
102
+ :AWSAccessKeyId => @access_key,
103
+ :SignatureVersion => SIGNATURE_VERSION,
104
+ :Version => API_VERSION,
105
+ :Timestamp => Time.now.utc.strftime('%Y-%m-%dT%H:%M:%SZ')
106
+ })
107
+ end
108
+
109
+ def query(request)
110
+ query = super
111
+ query[:Signature] = sign(query)
112
+ query
113
+ end
114
+
115
+ def sign(values)
116
+ keys = values.keys.sort { |a, b| a.to_s.downcase <=> b.to_s.downcase }
117
+ signature = keys.inject('') do |signature, key|
118
+ signature += key.to_s + values[key].to_s
119
+ end
120
+ Base64.encode64(OpenSSL::HMAC.digest(OpenSSL::Digest::SHA1.new, @secret_key, signature)).strip
121
+ end
122
+ end
123
+ end
@@ -0,0 +1,36 @@
1
+ require File.dirname(__FILE__) + '/spec_helper'
2
+
3
+ describe 'a GetAccountActivity call' do
4
+ it_should_behave_like 'a successful request'
5
+
6
+ before(:all) do
7
+ request = Remit::API::GetAccountActivityRequest.new
8
+ request.start_date = Date.today - 7
9
+ @response = @remit.get_account_activity(request)
10
+ end
11
+
12
+ it 'should have a collection of transactions' do
13
+ @response.should have_at_least(1).transactions
14
+ end
15
+
16
+ it 'should have a transaction with all of its values set' do
17
+ transaction = @response.transactions.first
18
+ transaction.caller_name.should_not be_empty
19
+ transaction.caller_token_id.should_not be_empty
20
+ transaction.caller_transaction_date.should_not be_nil
21
+ transaction.date_completed.should_not be_nil
22
+ transaction.date_received.should_not be_nil
23
+ transaction.error_code.should be_empty
24
+ transaction.error_detail.should be_nil
25
+ transaction.error_message.should be_nil
26
+ transaction.fees.should_not be_nil
27
+ transaction.operation.should_not be_empty
28
+ transaction.recipient_name.should_not be_empty
29
+ transaction.sender_name.should_not be_empty
30
+ transaction.sender_token_id.should_not be_empty
31
+ transaction.status.should_not be_empty
32
+ transaction.transaction_amount.should_not be_nil
33
+ transaction.transaction_id.should_not be_empty
34
+ transaction.transaction_parts.should_not be_empty
35
+ end
36
+ end
@@ -0,0 +1,106 @@
1
+ require File.dirname(__FILE__) + '/spec_helper'
2
+
3
+ describe 'A pipeline', :shared => true do
4
+ before do
5
+ @remit = Remit::API.new(ACCESS_KEY, SECRET_KEY, true)
6
+
7
+ @pipeline_options = {
8
+ :return_URL => 'http://example.com/'
9
+ }
10
+ end
11
+
12
+ it 'should sign its URL' do
13
+ uri = URI.parse(@pipeline.url)
14
+ pipeline = Remit::SignedQuery.parse(uri, @remit.secret_key, uri.query)
15
+ query = Relax::Query.parse(uri)
16
+
17
+ pipeline[:awsSignature].should == query[:awsSignature]
18
+ end
19
+ end
20
+
21
+ describe 'A single-use pipeline' do
22
+ it_should_behave_like 'A pipeline'
23
+
24
+ before do
25
+ @pipeline_options.merge!({
26
+ :transaction_amount => 10,
27
+ :caller_reference => 'N2PCBEIA5864E27EL7C86PJL1FGUGPBL61QTJJM5GQK265SPEN8ZKIJPMQARDVJK',
28
+ :recipient_token => 'N5PCME5A5Q6FE2QEB7CD64JLGFTUGXBE61HTCJMGGAK2R5IPEQ8EKIVP3QAVD7JP',
29
+ :pipeline_name => Remit::PipelineName::SINGLE_USE
30
+ })
31
+
32
+ @pipeline = @remit.get_single_use_pipeline(@pipeline_options)
33
+ end
34
+
35
+ it 'should ignore unused parameters' do
36
+ uri = URI.parse(@pipeline.url)
37
+ query = Relax::Query.parse(uri)
38
+
39
+ query[:paymentReason].should be_nil
40
+ end
41
+ end
42
+
43
+ describe 'A recurring-use pipeline' do
44
+ it_should_behave_like 'A pipeline'
45
+
46
+ before do
47
+ @validity_start = Time.now + (3600 * 24) # 1 day from now
48
+ @validity_expiry = Time.now + (3600 * 24 * 180) # ~6 months from now
49
+ @recurring_period = '1 Month'
50
+
51
+ @pipeline_options.merge!({
52
+ :pipeline_name => Remit::PipelineName::RECURRING,
53
+ :validity_start => @validity_start,
54
+ :validity_expiry => @validity_expiry,
55
+ :recurring_period => @recurring_period,
56
+ :transaction_amount => 10,
57
+ :caller_reference => 'N2PCBEIA5864E27EL7C86PJL1FGUGPBL61QTJJM5GQK265SPEN8ZKIJPMQARDVJK',
58
+ :recipient_token => 'N5PCME5A5Q6FE2QEB7CD64JLGFTUGXBE61HTCJMGGAK2R5IPEQ8EKIVP3QAVD7JP'
59
+ })
60
+
61
+ @pipeline = @remit.get_recurring_use_pipeline(@pipeline_options)
62
+ end
63
+
64
+ it 'should convert times to seconds from epoch' do
65
+ uri = URI.parse(@pipeline.url)
66
+ query = Relax::Query.parse(uri)
67
+
68
+ @validity_start.to_i.to_s.should == query[:validityStart]
69
+ @validity_expiry.to_i.to_s.should == query[:validityExpiry]
70
+ end
71
+
72
+ it 'should allow time in seconds' do
73
+ options = @pipeline_options.merge({
74
+ :validity_start => @validity_start.to_i,
75
+ :validity_expiry => @validity_expiry.to_i
76
+ })
77
+ @pipeline = @remit.get_recurring_use_pipeline(options)
78
+
79
+ uri = URI.parse(@pipeline.url)
80
+ query = Relax::Query.parse(uri)
81
+
82
+ @validity_start.to_i.to_s.should == query[:validityStart]
83
+ @validity_expiry.to_i.to_s.should == query[:validityExpiry]
84
+ end
85
+ end
86
+
87
+ describe 'A postpaid pipeline' do
88
+ it_should_behave_like 'A pipeline'
89
+
90
+ before do
91
+ @credit_limit = 100
92
+ @global_amount_limit = 100
93
+
94
+ @pipeline_options.merge!({
95
+ :pipeline_name => Remit::PipelineName::SETUP_POSTPAID,
96
+ :credit_limit => @credit_limit,
97
+ :global_amount_limit => @global_amount_limit
98
+ })
99
+
100
+ @pipeline = @remit.get_postpaid_pipeline(@pipeline_options)
101
+ end
102
+
103
+ it 'should create a PostpaidPipeline' do
104
+ @pipeline.class.should == Remit::GetPipeline::PostpaidPipeline
105
+ end
106
+ end