moneta-api 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d1c57b143f1deaff1fd20aab54676724403a76ba
4
- data.tar.gz: 1c2ace8fff474fb919bb77dca1a145b3a243fa14
3
+ metadata.gz: 2bd8ba9619326c34b72b79371521849fe44e5b78
4
+ data.tar.gz: 1a9a33ce255cb1a7c8bdf4a40c69999659992da7
5
5
  SHA512:
6
- metadata.gz: c3b2b4bb3223ab341c26536bd36f98c777c8f10254ffef902db9d24e52ff26336faa758d5aa6d2d51fa2f5d2ee4c47f7a3a4d3755973feba121d03ea61f80638
7
- data.tar.gz: 71ddfcf91f937a1cd72ce54a1fdbbbd58be77d71fa14a35bba2d6853635f36173ad02bede4f087111725e55af70b9aa29c8b6c0d15bf1b722c4acec9b307aab3
6
+ metadata.gz: ecd96715a52e1fc07270eb7e872ec91b6b7fc69c0521ef99b79c403ec41eda12574308fad9b8b94e4a0a161e85c3d82d10fdaa0625113f4de21d2864df634f40
7
+ data.tar.gz: d35540807da05ab55e0f9c7872da1f6567b36275a046d52d7ce27701ba89f4bbfc3555e0f44bbc03ed32824bbf9405c4c06e8d0d984ec71535ea0ac606b0aaf7
@@ -1,6 +1,6 @@
1
1
  module Moneta
2
2
  module Api
3
- module Request
3
+ module Requests
4
4
  # Запрос на отмену операции. Отменять операцию можно при выполнении всех условий:
5
5
  # незавершенные операции;
6
6
  # если есть доступ к счету плательщика и счету получателя (то есть свои внутренние операции).
@@ -1,6 +1,9 @@
1
1
  module Moneta
2
2
  module Api
3
3
  class Service
4
+ DEMO = 'https://demo.moneta.ru/services.wsdl'
5
+ PRODUCTION = 'https://www.moneta.ru/services.wsdl'
6
+
4
7
  include ServiceMethods
5
8
  attr_reader :client
6
9
 
@@ -11,7 +14,15 @@ module Moneta
11
14
  private
12
15
 
13
16
  def prepare_params(username, password, params)
14
- { wsdl: 'https://demo.moneta.ru/services.wsdl', wsse_auth: [ username, password ] }
17
+ demo_mode = params.delete(:demo_mode)
18
+
19
+ { wsse_auth: [ username, password ] }
20
+ .merge(params)
21
+ .merge(wsdl: wsdl_url(demo_mode))
22
+ end
23
+
24
+ def wsdl_url(demo_mode)
25
+ demo_mode ? DEMO : PRODUCTION
15
26
  end
16
27
  end
17
28
  end
@@ -1,3 +1,5 @@
1
+ require_relative 'entity'
2
+
1
3
  module Moneta
2
4
  module Api
3
5
  module Types
@@ -1,3 +1,7 @@
1
+ require_relative 'key_value_attribute'
2
+ require_relative 'operation_info'
3
+ require_relative 'transaction_request_type'
4
+
1
5
  module Moneta
2
6
  module Api
3
7
  module Types
@@ -1,3 +1,5 @@
1
+ require_relative 'verify_transfer_response_type'
2
+
1
3
  module Moneta
2
4
  module Api
3
5
  module Types
@@ -1,5 +1,5 @@
1
1
  module Moneta
2
2
  module Api
3
- VERSION = '1.0.0'
3
+ VERSION = '1.0.1'
4
4
  end
5
5
  end
data/lib/moneta/api.rb CHANGED
@@ -5,14 +5,6 @@ require 'moneta/api/service_methods'
5
5
  require 'moneta/api/service'
6
6
  require 'moneta/api/data_mapper'
7
7
 
8
- require 'moneta/api/types/entity'
9
- require 'moneta/api/types/key_value_attribute'
10
- require 'moneta/api/types/operation_info'
11
- require 'moneta/api/types/transaction_request_type'
12
-
13
- require 'moneta/api/types/forecast_transaction_response_type'
14
- require 'moneta/api/types/verify_transfer_response_type'
15
-
16
8
  %w(types responses requests).each do |folder|
17
9
  Dir["lib/moneta/api/#{ folder }/*.rb"].each do |file|
18
10
  require File.join(File.dirname(__FILE__), '../../', file)
@@ -27,7 +27,8 @@ describe Moneta::Api::Requests::AuthoriseTransactionBatchRequest do
27
27
  end
28
28
 
29
29
  describe 'use', vcr: true do
30
- let(:service) { Moneta::Api::Service.new($username, $password) }
30
+ include_context 'moneta'
31
+
31
32
  let(:data) {
32
33
  {
33
34
  amount: 10,
@@ -1,14 +1,10 @@
1
1
  describe Moneta::Api::Requests::AuthoriseTransactionRequest, vcr: true do
2
- let(:service) { Moneta::Api::Service.new($username, $password) }
2
+ include_context 'moneta'
3
3
 
4
4
  describe '#authorise_transaction' do
5
5
  let(:request) do
6
6
  described_class.new.tap do |request|
7
- request.payee = 28988504
8
- request.payer = 10999
9
- request.amount = 10
10
- request.is_payer_amount = false
11
- request.payment_password = '12345'
7
+ fill_base_settings.(request)
12
8
  end
13
9
  end
14
10
 
@@ -1,5 +1,5 @@
1
1
  describe Moneta::Api::Requests::CreateAccountRequest, vcr: true do
2
- let(:service) { Moneta::Api::Service.new($username, $password) }
2
+ include_context 'moneta'
3
3
 
4
4
  describe 'create account' do
5
5
  let(:request) do
@@ -1,5 +1,5 @@
1
1
  describe Moneta::Api::Requests::FindOperationsListRequest, vcr: true do
2
- let(:service) { Moneta::Api::Service.new($username, $password) }
2
+ include_context 'moneta'
3
3
 
4
4
  describe 'find_operations_list' do
5
5
  let(:request) do
@@ -1,14 +1,9 @@
1
1
  describe Moneta::Api::Requests::ForecastTransactionRequest, vcr: true do
2
- let(:service) { Moneta::Api::Service.new($username, $password) }
3
-
2
+ include_context 'moneta'
4
3
  describe 'forecast_transaction' do
5
4
  let(:request) do
6
5
  described_class.new.tap do |request|
7
- request.amount = 10
8
- request.payee = 28988504
9
- request.payer = 10999
10
- request.is_payer_amount = false
11
- request.payment_password = '12345'
6
+ fill_base_settings.(request)
12
7
  end
13
8
  end
14
9
 
@@ -1,5 +1,5 @@
1
1
  describe Moneta::Api::Requests::GetAccountPaymentPasswordChallengeRequest, vcr: true do
2
- let(:service) { Moneta::Api::Service.new($username, $password) }
2
+ include_context 'moneta'
3
3
 
4
4
  describe 'get_account_payment_password_challenge' do
5
5
  let(:request) do
@@ -1,14 +1,10 @@
1
1
  describe Moneta::Api::Requests::PaymentRequest, vcr: true do
2
- let(:service) { Moneta::Api::Service.new($username, $password) }
2
+ include_context 'moneta'
3
3
 
4
4
  describe 'payment' do
5
5
  let(:request) do
6
6
  described_class.new.tap do |request|
7
- request.payee = 28988504
8
- request.payer = 10999
9
- request.amount = 10
10
- request.is_payer_amount = false
11
- request.payment_password = '12345'
7
+ fill_base_settings.(request)
12
8
  end
13
9
  end
14
10
 
@@ -1,14 +1,10 @@
1
1
  describe Moneta::Api::Requests::TransferRequest, vcr: true do
2
- let(:service) { Moneta::Api::Service.new($username, $password) }
2
+ include_context 'moneta'
3
3
 
4
4
  describe 'transfer' do
5
5
  let(:request) do
6
6
  described_class.new.tap do |request|
7
- request.amount = 10
8
- request.payee = 28988504
9
- request.payer = 10999
10
- request.is_payer_amount = false
11
- request.payment_password = '12345'
7
+ fill_base_settings.(request)
12
8
  end
13
9
  end
14
10
 
@@ -1,9 +1,24 @@
1
- describe Moneta::Api::Service, vcr: true do
2
- let(:service) { described_class.new($username, $password) }
1
+ describe Moneta::Api::Service do
2
+ let(:params) { { demo_mode: true } }
3
+ let(:service) { described_class.new($username, $password, params) }
3
4
 
4
- describe '#find_account_by_id' do
5
+ describe '#find_account_by_id', vcr: true do
5
6
  subject { service.find_account_by_id(10999) }
6
7
 
7
8
  its('account.id') { is_expected.to eq '10999' }
8
9
  end
10
+
11
+ describe 'wsdl url' do
12
+ subject{ service.client.globals.instance_variable_get('@options')[:wsdl] }
13
+
14
+ context 'when demo mode' do
15
+ it { is_expected.to eq 'https://demo.moneta.ru/services.wsdl' }
16
+ end
17
+
18
+ context 'when demo mode' do
19
+ let(:params) { {} }
20
+
21
+ it { is_expected.to eq 'https://www.moneta.ru/services.wsdl' }
22
+ end
23
+ end
9
24
  end
@@ -0,0 +1,13 @@
1
+ RSpec.shared_context 'moneta' do
2
+ let(:service) { Moneta::Api::Service.new($username, $password, { demo_mode: true }) }
3
+
4
+ let(:fill_base_settings) do
5
+ Proc.new do |request|
6
+ request.payee = 28988504
7
+ request.payer = 10999
8
+ request.amount = 10
9
+ request.is_payer_amount = false
10
+ request.payment_password = '12345'
11
+ end
12
+ end
13
+ end
@@ -21,7 +21,7 @@ http_interactions:
21
21
  server:
22
22
  - nginx
23
23
  date:
24
- - Fri, 10 Apr 2015 12:27:00 GMT
24
+ - Tue, 14 Apr 2015 08:37:20 GMT
25
25
  content-type:
26
26
  - text/xml
27
27
  transfer-encoding:
@@ -10733,7 +10733,7 @@ http_interactions:
10733
10733
  ZXMiLz4KICAgICAgPC93c2RsOnBvcnQ+CiAgIDwvd3NkbDpzZXJ2aWNlPgo8
10734
10734
  L3dzZGw6ZGVmaW5pdGlvbnM+
10735
10735
  http_version: '1.1'
10736
- recorded_at: Fri, 10 Apr 2015 12:27:03 GMT
10736
+ recorded_at: Tue, 14 Apr 2015 08:37:23 GMT
10737
10737
  - request:
10738
10738
  method: post
10739
10739
  uri: https://demo.moneta.ru/services
@@ -10766,7 +10766,7 @@ http_interactions:
10766
10766
  server:
10767
10767
  - nginx
10768
10768
  date:
10769
- - Fri, 10 Apr 2015 12:27:03 GMT
10769
+ - Tue, 14 Apr 2015 08:37:23 GMT
10770
10770
  content-type:
10771
10771
  - text/xml;charset=utf-8
10772
10772
  content-length:
@@ -10784,7 +10784,7 @@ http_interactions:
10784
10784
  body:
10785
10785
  encoding: UTF-8
10786
10786
  string: <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Header/><SOAP-ENV:Body><ns2:AuthoriseTransactionResponse
10787
- xmlns:ns2="http://www.moneta.ru/schemas/messages.xsd"><ns2:id>340023</ns2:id><ns2:attribute><ns2:key>category</ns2:key><ns2:value>BUSINESS</ns2:value></ns2:attribute><ns2:attribute><ns2:key>sourcecurrencycode</ns2:key><ns2:value>RUB</ns2:value></ns2:attribute><ns2:attribute><ns2:key>sourceamount</ns2:key><ns2:value>10</ns2:value></ns2:attribute><ns2:attribute><ns2:key>typeid</ns2:key><ns2:value>10</ns2:value></ns2:attribute><ns2:attribute><ns2:key>targetamount</ns2:key><ns2:value>-10</ns2:value></ns2:attribute><ns2:attribute><ns2:key>protectioncode</ns2:key><ns2:value>88776</ns2:value></ns2:attribute><ns2:attribute><ns2:key>targetcurrencycode</ns2:key><ns2:value>RUB</ns2:value></ns2:attribute><ns2:attribute><ns2:key>statusid</ns2:key><ns2:value>INPROGRESS</ns2:value></ns2:attribute><ns2:attribute><ns2:key>sourceamounttotal</ns2:key><ns2:value>10</ns2:value></ns2:attribute><ns2:attribute><ns2:key>modified</ns2:key><ns2:value>2015-04-10T15:27:03.000+03:00</ns2:value></ns2:attribute><ns2:attribute><ns2:key>targetaccountid</ns2:key><ns2:value>10999</ns2:value></ns2:attribute><ns2:attribute><ns2:key>protectioncodeexpirationdate</ns2:key><ns2:value>2015-04-11T15:27:02.000+03:00</ns2:value></ns2:attribute><ns2:attribute><ns2:key>sourceaccountid</ns2:key><ns2:value>28988504</ns2:value></ns2:attribute><ns2:attribute><ns2:key>isreversed</ns2:key><ns2:value>true</ns2:value></ns2:attribute></ns2:AuthoriseTransactionResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
10787
+ xmlns:ns2="http://www.moneta.ru/schemas/messages.xsd"><ns2:id>340167</ns2:id><ns2:attribute><ns2:key>category</ns2:key><ns2:value>BUSINESS</ns2:value></ns2:attribute><ns2:attribute><ns2:key>sourcecurrencycode</ns2:key><ns2:value>RUB</ns2:value></ns2:attribute><ns2:attribute><ns2:key>sourceamount</ns2:key><ns2:value>10</ns2:value></ns2:attribute><ns2:attribute><ns2:key>typeid</ns2:key><ns2:value>10</ns2:value></ns2:attribute><ns2:attribute><ns2:key>targetamount</ns2:key><ns2:value>-10</ns2:value></ns2:attribute><ns2:attribute><ns2:key>protectioncode</ns2:key><ns2:value>49754</ns2:value></ns2:attribute><ns2:attribute><ns2:key>targetcurrencycode</ns2:key><ns2:value>RUB</ns2:value></ns2:attribute><ns2:attribute><ns2:key>statusid</ns2:key><ns2:value>INPROGRESS</ns2:value></ns2:attribute><ns2:attribute><ns2:key>sourceamounttotal</ns2:key><ns2:value>10</ns2:value></ns2:attribute><ns2:attribute><ns2:key>modified</ns2:key><ns2:value>2015-04-14T11:37:23.000+03:00</ns2:value></ns2:attribute><ns2:attribute><ns2:key>targetaccountid</ns2:key><ns2:value>10999</ns2:value></ns2:attribute><ns2:attribute><ns2:key>protectioncodeexpirationdate</ns2:key><ns2:value>2015-04-15T11:37:22.000+03:00</ns2:value></ns2:attribute><ns2:attribute><ns2:key>sourceaccountid</ns2:key><ns2:value>28988504</ns2:value></ns2:attribute><ns2:attribute><ns2:key>isreversed</ns2:key><ns2:value>true</ns2:value></ns2:attribute></ns2:AuthoriseTransactionResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
10788
10788
  http_version: '1.1'
10789
- recorded_at: Fri, 10 Apr 2015 12:27:04 GMT
10789
+ recorded_at: Tue, 14 Apr 2015 08:37:24 GMT
10790
10790
  recorded_with: VCR 2.9.3
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: moneta-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - ssnikolay
@@ -238,6 +238,7 @@ files:
238
238
  - spec/lib/moneta/api/service_spec.rb
239
239
  - spec/lib/moneta/api/types/operation_info_spec.rb
240
240
  - spec/spec_helper.rb
241
+ - spec/support/context.rb
241
242
  - spec/support/matchers.rb
242
243
  - spec/support/wsdl
243
244
  - spec/vcr/moneta_api_requests_authorisetransactionbatchrequest/use_when_one_operation_transaction_transaction_.yml
@@ -287,6 +288,7 @@ test_files:
287
288
  - spec/lib/moneta/api/service_spec.rb
288
289
  - spec/lib/moneta/api/types/operation_info_spec.rb
289
290
  - spec/spec_helper.rb
291
+ - spec/support/context.rb
290
292
  - spec/support/matchers.rb
291
293
  - spec/support/wsdl
292
294
  - spec/vcr/moneta_api_requests_authorisetransactionbatchrequest/use_when_one_operation_transaction_transaction_.yml