tangocard-raas 1.1.2 → 2.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (72) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +28 -175
  3. data/README.md +38 -525
  4. data/lib/raas.rb +32 -19
  5. data/lib/raas/api_helper.rb +146 -54
  6. data/lib/raas/configuration.rb +22 -30
  7. data/lib/raas/controllers/accounts_controller.rb +146 -92
  8. data/lib/raas/controllers/base_controller.rb +32 -29
  9. data/lib/raas/controllers/catalog_controller.rb +31 -14
  10. data/lib/raas/controllers/customers_controller.rb +113 -72
  11. data/lib/raas/controllers/exchange_rates_controller.rb +40 -12
  12. data/lib/raas/controllers/fund_controller.rb +345 -0
  13. data/lib/raas/controllers/orders_controller.rb +166 -105
  14. data/lib/raas/controllers/status_controller.rb +31 -14
  15. data/lib/raas/exceptions/api_exception.rb +4 -2
  16. data/lib/raas/exceptions/raas_client_exception.rb +14 -12
  17. data/lib/raas/exceptions/raas_generic_exception.rb +9 -9
  18. data/lib/raas/exceptions/raas_server_exception.rb +14 -12
  19. data/lib/raas/http/auth/basic_auth.rb +7 -4
  20. data/lib/raas/http/faraday_client.rb +19 -7
  21. data/lib/raas/http/http_call_back.rb +11 -6
  22. data/lib/raas/http/http_client.rb +50 -32
  23. data/lib/raas/http/http_context.rb +5 -2
  24. data/lib/raas/http/http_method_enum.rb +6 -2
  25. data/lib/raas/http/http_request.rb +7 -3
  26. data/lib/raas/http/http_response.rb +3 -1
  27. data/lib/raas/models/account_model.rb +32 -23
  28. data/lib/raas/models/account_summary_model.rb +26 -17
  29. data/lib/raas/models/base_model.rb +11 -9
  30. data/lib/raas/models/billing_address_model.rb +105 -0
  31. data/lib/raas/models/brand_model.rb +39 -35
  32. data/lib/raas/models/catalog_model.rb +15 -13
  33. data/lib/raas/models/create_account_request_model.rb +14 -14
  34. data/lib/raas/models/create_credit_card_request_model.rb +96 -0
  35. data/lib/raas/models/create_customer_request_model.rb +12 -12
  36. data/lib/raas/models/create_order_request_model.rb +45 -35
  37. data/lib/raas/models/credit_card_model.rb +124 -0
  38. data/lib/raas/models/currency_breakdown_model.rb +18 -18
  39. data/lib/raas/models/customer_model.rb +24 -22
  40. data/lib/raas/models/deposit_request_model.rb +60 -0
  41. data/lib/raas/models/deposit_response_model.rb +80 -0
  42. data/lib/raas/models/exchange_rate_model.rb +18 -17
  43. data/lib/raas/models/exchange_rate_response_model.rb +17 -15
  44. data/lib/raas/models/full_name_email_model.rb +42 -0
  45. data/lib/raas/models/get_deposit_response_model.rb +80 -0
  46. data/lib/raas/models/get_orders_response_model.rb +16 -14
  47. data/lib/raas/models/item_model.rb +36 -34
  48. data/lib/raas/models/name_email_model.rb +14 -14
  49. data/lib/raas/models/new_credit_card_model.rb +51 -0
  50. data/lib/raas/models/order_model.rb +124 -92
  51. data/lib/raas/models/order_summary_model.rb +155 -0
  52. data/lib/raas/models/page_model.rb +16 -16
  53. data/lib/raas/models/raas_client_error_model.rb +16 -16
  54. data/lib/raas/models/raas_server_error_model.rb +12 -12
  55. data/lib/raas/models/resend_order_response_model.rb +11 -11
  56. data/lib/raas/models/reward_credential_model.rb +14 -14
  57. data/lib/raas/models/reward_model.rb +16 -14
  58. data/lib/raas/models/system_status_response_model.rb +10 -10
  59. data/lib/raas/models/unregister_credit_card_request_model.rb +51 -0
  60. data/lib/raas/models/unregister_credit_card_response_model.rb +53 -0
  61. data/lib/raas/raas_client.rb +36 -25
  62. data/test/controllers/controller_test_base.rb +31 -0
  63. data/test/controllers/test_accounts_controller.rb +79 -0
  64. data/test/controllers/test_catalog_controller.rb +65 -0
  65. data/test/controllers/test_customers_controller.rb +61 -0
  66. data/test/controllers/test_exchange_rates_controller.rb +35 -0
  67. data/test/controllers/test_fund_controller.rb +108 -0
  68. data/test/controllers/test_orders_controller.rb +86 -0
  69. data/test/controllers/test_status_controller.rb +27 -0
  70. data/test/http_response_catcher.rb +16 -0
  71. data/test/test_helper.rb +91 -0
  72. metadata +32 -10
@@ -1,17 +1,17 @@
1
- # This file was automatically generated for Tango Card, Inc. by APIMATIC v2.0 ( https://apimatic.io ).
1
+ # This file was automatically generated for Tango Card, Inc. by APIMATIC v2.0
2
+ # ( https://apimatic.io ).
2
3
 
3
4
  module Raas
5
+ # Represents the response returned from the status endpoint
4
6
  class SystemStatusResponseModel < BaseModel
5
- # System Status
7
+ # The status of the system
6
8
  # @return [String]
7
9
  attr_accessor :status
8
10
 
9
- # A mapping from model property names to API property names
11
+ # A mapping from model property names to API property names.
10
12
  def self.names
11
- if @_hash.nil?
12
- @_hash = {}
13
- @_hash["status"] = "status"
14
- end
13
+ @_hash = {} if @_hash.nil?
14
+ @_hash['status'] = 'status'
15
15
  @_hash
16
16
  end
17
17
 
@@ -19,14 +19,14 @@ module Raas
19
19
  @status = status
20
20
  end
21
21
 
22
- # Creates an instance of the object from a hash
22
+ # Creates an instance of the object from a hash.
23
23
  def self.from_hash(hash)
24
24
  return nil unless hash
25
25
 
26
- # Extract variables from the hash
26
+ # Extract variables from the hash.
27
27
  status = hash['status']
28
28
 
29
- # Create object from extracted values
29
+ # Create object from extracted values.
30
30
  SystemStatusResponseModel.new(status)
31
31
  end
32
32
  end
@@ -0,0 +1,51 @@
1
+ # This file was automatically generated for Tango Card, Inc. by APIMATIC v2.0
2
+ # ( https://apimatic.io ).
3
+
4
+ module Raas
5
+ # Represents the request to remove a credit card
6
+ class UnregisterCreditCardRequestModel < BaseModel
7
+ # The customer identifier
8
+ # @return [String]
9
+ attr_accessor :customer_identifier
10
+
11
+ # The account identifier
12
+ # @return [String]
13
+ attr_accessor :account_identifier
14
+
15
+ # The credit card token
16
+ # @return [String]
17
+ attr_accessor :credit_card_token
18
+
19
+ # A mapping from model property names to API property names.
20
+ def self.names
21
+ @_hash = {} if @_hash.nil?
22
+ @_hash['customer_identifier'] = 'customerIdentifier'
23
+ @_hash['account_identifier'] = 'accountIdentifier'
24
+ @_hash['credit_card_token'] = 'creditCardToken'
25
+ @_hash
26
+ end
27
+
28
+ def initialize(customer_identifier = nil,
29
+ account_identifier = nil,
30
+ credit_card_token = nil)
31
+ @customer_identifier = customer_identifier
32
+ @account_identifier = account_identifier
33
+ @credit_card_token = credit_card_token
34
+ end
35
+
36
+ # Creates an instance of the object from a hash.
37
+ def self.from_hash(hash)
38
+ return nil unless hash
39
+
40
+ # Extract variables from the hash.
41
+ customer_identifier = hash['customerIdentifier']
42
+ account_identifier = hash['accountIdentifier']
43
+ credit_card_token = hash['creditCardToken']
44
+
45
+ # Create object from extracted values.
46
+ UnregisterCreditCardRequestModel.new(customer_identifier,
47
+ account_identifier,
48
+ credit_card_token)
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,53 @@
1
+ # This file was automatically generated for Tango Card, Inc. by APIMATIC v2.0
2
+ # ( https://apimatic.io ).
3
+
4
+ require 'date'
5
+ module Raas
6
+ # Represents the response from the unregister credit card call
7
+ class UnregisterCreditCardResponseModel < BaseModel
8
+ # The date the card was removed
9
+ # @return [DateTime]
10
+ attr_accessor :created_date
11
+
12
+ # A message describing the status of the card
13
+ # @return [String]
14
+ attr_accessor :message
15
+
16
+ # The credit card token
17
+ # @return [String]
18
+ attr_accessor :token
19
+
20
+ # A mapping from model property names to API property names.
21
+ def self.names
22
+ @_hash = {} if @_hash.nil?
23
+ @_hash['created_date'] = 'createdDate'
24
+ @_hash['message'] = 'message'
25
+ @_hash['token'] = 'token'
26
+ @_hash
27
+ end
28
+
29
+ def initialize(created_date = nil,
30
+ message = nil,
31
+ token = nil)
32
+ @created_date = created_date
33
+ @message = message
34
+ @token = token
35
+ end
36
+
37
+ # Creates an instance of the object from a hash.
38
+ def self.from_hash(hash)
39
+ return nil unless hash
40
+
41
+ # Extract variables from the hash.
42
+ created_date = APIHelper.rfc3339(hash['createdDate']) if
43
+ hash['createdDate']
44
+ message = hash['message']
45
+ token = hash['token']
46
+
47
+ # Create object from extracted values.
48
+ UnregisterCreditCardResponseModel.new(created_date,
49
+ message,
50
+ token)
51
+ end
52
+ end
53
+ end
@@ -1,53 +1,64 @@
1
- # This file was automatically generated for Tango Card, Inc. by APIMATIC v2.0 ( https://apimatic.io ).
1
+ # This file was automatically generated for Tango Card, Inc. by APIMATIC v2.0
2
+ # ( https://apimatic.io ).
2
3
 
3
4
  module Raas
5
+ # raas client class.
4
6
  class RaasClient
5
- # Singleton access to accounts controller
6
- # @return [AccountsController] Returns the controller instance
7
+ # Singleton access to status controller.
8
+ # @return [StatusController] Returns the controller instance.
9
+ def status
10
+ StatusController.instance
11
+ end
12
+
13
+ # Singleton access to accounts controller.
14
+ # @return [AccountsController] Returns the controller instance.
7
15
  def accounts
8
16
  AccountsController.instance
9
17
  end
10
18
 
11
- # Singleton access to orders controller
12
- # @return [OrdersController] Returns the controller instance
19
+ # Singleton access to orders controller.
20
+ # @return [OrdersController] Returns the controller instance.
13
21
  def orders
14
22
  OrdersController.instance
15
23
  end
16
24
 
17
- # Singleton access to catalog controller
18
- # @return [CatalogController] Returns the controller instance
19
- def catalog
20
- CatalogController.instance
25
+ # Singleton access to fund controller.
26
+ # @return [FundController] Returns the controller instance.
27
+ def fund
28
+ FundController.instance
21
29
  end
22
30
 
23
- # Singleton access to exchange_rates controller
24
- # @return [ExchangeRatesController] Returns the controller instance
31
+ # Singleton access to exchange_rates controller.
32
+ # @return [ExchangeRatesController] Returns the controller instance.
25
33
  def exchange_rates
26
34
  ExchangeRatesController.instance
27
35
  end
28
36
 
29
- # Singleton access to status controller
30
- # @return [StatusController] Returns the controller instance
31
- def status
32
- StatusController.instance
33
- end
34
-
35
- # Singleton access to customers controller
36
- # @return [CustomersController] Returns the controller instance
37
+ # Singleton access to customers controller.
38
+ # @return [CustomersController] Returns the controller instance.
37
39
  def customers
38
40
  CustomersController.instance
39
41
  end
40
42
 
41
- # Returns the configuration class for easy access
42
- # @return [Configuration] Returns the actual configuration class
43
+ # Singleton access to catalog controller.
44
+ # @return [CatalogController] Returns the controller instance.
45
+ def catalog
46
+ CatalogController.instance
47
+ end
48
+
49
+ # Returns the configuration class for easy access.
50
+ # @return [Configuration] Returns the actual configuration class.
43
51
  def config
44
52
  Configuration
45
53
  end
46
54
 
47
- # Initializer with authentication and configuration parameters
48
- def initialize(platform_name: 'QAPlatform2', platform_key: 'apYPfT6HNONpDRUj3CLGWYt7gvIHONpDRUYPfT6Hj')
49
- Configuration.platform_name = platform_name if platform_name
50
- Configuration.platform_key = platform_key if platform_key
55
+ # Initializer with authentication and configuration parameters.
56
+ def initialize(platform_name: 'QAPlatform2',
57
+ platform_key: 'apYPfT6HNONpDRUj3CLGWYt7gvIHONpDRUYPfT6Hj')
58
+ Configuration.platform_name = platform_name if
59
+ platform_name
60
+ Configuration.platform_key = platform_key if
61
+ platform_key
51
62
  end
52
63
  end
53
64
  end
@@ -0,0 +1,31 @@
1
+ # This file was automatically generated for Tango Card, Inc. by APIMATIC v2.0 ( https://apimatic.io ).
2
+
3
+ require 'json'
4
+ require 'test/unit'
5
+ require 'raas.rb'
6
+ require_relative '../test_helper.rb'
7
+ require_relative '../http_response_catcher.rb'
8
+
9
+ class ControllerTestBase < Test::Unit::TestCase
10
+ include Raas
11
+
12
+ class << self
13
+ attr_accessor :controller
14
+ end
15
+
16
+ # Called only once for a test class before any test has executed.
17
+ def self.startup
18
+ @@api_client = RaasClient.new
19
+ @@request_timeout = 30
20
+ @@assert_precision = 0.01
21
+
22
+ # Set Configuration parameters for test execution
23
+ Configuration.environment = Configuration::Environment::SANDBOX
24
+ end
25
+
26
+ # Called once before every test case.
27
+ def setup
28
+ @response_catcher = HttpResponseCatcher.new
29
+ self.class.controller.http_call_back = @response_catcher
30
+ end
31
+ end
@@ -0,0 +1,79 @@
1
+ # This file was automatically generated for Tango Card, Inc. by APIMATIC v2.0 ( https://apimatic.io ).
2
+
3
+ require_relative 'controller_test_base'
4
+
5
+ class AccountsControllerTests < ControllerTestBase
6
+ # Called only once for the class before any test has executed
7
+ def self.startup
8
+ self.controller = @@api_client.accounts
9
+ end
10
+
11
+ # Tests retrieving all accounts under a specific customer
12
+ def test_test_get_all_customer_accounts()
13
+ # Parameters for the API call
14
+ customer_identifier = 'sdkautotest1'
15
+
16
+ # Perform the API call through the SDK function
17
+ result = self.class.controller.get_accounts_by_customer(customer_identifier)
18
+
19
+ # Test response code
20
+ assert_equal(@response_catcher.response.status_code, 200)
21
+
22
+ # Test whether the captured response is as we expected
23
+ assert_not_nil(result)
24
+ expected_body = JSON.parse(
25
+ '[{"accountIdentifier":"sdkautotest3","accountNumber":"A01335766","displayN'\
26
+ 'ame":"SDK Auto Testing 3","createdAt":"2018-04-26T18:16:51.652Z","status":"'\
27
+ 'ACTIVE"},{"accountIdentifier":"sdkautotest2","accountNumber":"A11720237","d'\
28
+ 'isplayName":"SDK Auto Testing 2","createdAt":"2018-04-26T18:13:45.196Z","st'\
29
+ 'atus":"ACTIVE"}]'
30
+ )
31
+ received_body = JSON.parse(@response_catcher.response.raw_body)
32
+ assert(TestHelper.match_body(expected_body, received_body, check_values: true))
33
+ end
34
+
35
+ # Tests retrieving all accounts
36
+ def test_test_get_all_accounts()
37
+
38
+ # Perform the API call through the SDK function
39
+ result = self.class.controller.get_all_accounts()
40
+
41
+ # Test response code
42
+ assert_equal(@response_catcher.response.status_code, 200)
43
+
44
+ # Test whether the captured response is as we expected
45
+ assert_not_nil(result)
46
+ expected_body = JSON.parse(
47
+ '[{"accountIdentifier":"sdkautotest2","accountNumber":"A11720237","displayN'\
48
+ 'ame":"SDK Auto Testing 2","currencyCode":"USD","currentBalance":0,"createdA'\
49
+ 't":"2018-04-26T18:13:45.196Z","status":"ACTIVE","contactEmail":"test@exampl'\
50
+ 'e.com"}]'
51
+ )
52
+ received_body = JSON.parse(@response_catcher.response.raw_body)
53
+ assert(TestHelper.match_body(expected_body, received_body, check_values: true))
54
+ end
55
+
56
+ # Tests retrieving a single account
57
+ def test_test_get_single_account()
58
+ # Parameters for the API call
59
+ account_identifier = 'sdkautotest2'
60
+
61
+ # Perform the API call through the SDK function
62
+ result = self.class.controller.get_account(account_identifier)
63
+
64
+ # Test response code
65
+ assert_equal(@response_catcher.response.status_code, 200)
66
+
67
+ # Test whether the captured response is as we expected
68
+ assert_not_nil(result)
69
+ expected_body = JSON.parse(
70
+ '{"accountIdentifier":"sdkautotest2","accountNumber":"A11720237","displayNa'\
71
+ 'me":"SDK Auto Testing 2","currencyCode":"USD","currentBalance":0,"createdAt'\
72
+ '":"2018-04-26T18:13:45.196Z","status":"ACTIVE","contactEmail":"test@example'\
73
+ '.com"}'
74
+ )
75
+ received_body = JSON.parse(@response_catcher.response.raw_body)
76
+ assert(TestHelper.match_body(expected_body, received_body, check_values: true))
77
+ end
78
+
79
+ end
@@ -0,0 +1,65 @@
1
+ # This file was automatically generated for Tango Card, Inc. by APIMATIC v2.0 ( https://apimatic.io ).
2
+
3
+ require_relative 'controller_test_base'
4
+
5
+ class CatalogControllerTests < ControllerTestBase
6
+ # Called only once for the class before any test has executed
7
+ def self.startup
8
+ self.controller = @@api_client.catalog
9
+ end
10
+
11
+ # Tests if we can successfully retrieve a platform's catalog
12
+ def test_test_retrieve_catalog()
13
+
14
+ # Perform the API call through the SDK function
15
+ result = self.class.controller.get_catalog()
16
+
17
+ # Test response code
18
+ assert_equal(@response_catcher.response.status_code, 200)
19
+
20
+ # Test whether the captured response is as we expected
21
+ assert_not_nil(result)
22
+ expected_body = JSON.parse(
23
+ '{"catalogName":"TestCatalog","brands":[{"brandKey":"B916708","brandName":"'\
24
+ 'Amazon.com","disclaimer":"disclaimer","description":"desc","shortDescriptio'\
25
+ 'n":"short desc","terms":"terms","createdDate":"2016-06-17T16:52:24Z","lastU'\
26
+ 'pdateDate":"2017-10-23T22:18:51Z","imageUrls":{"80w-326ppi":"https://d30s7y'\
27
+ 'zk2az89n.cloudfront.net/images/brands/b916708-80w-326ppi.png","130w-326ppi"'\
28
+ ':"https://d30s7yzk2az89n.cloudfront.net/images/brands/b916708-130w-326ppi.p'\
29
+ 'ng","200w-326ppi":"https://d30s7yzk2az89n.cloudfront.net/images/brands/b916'\
30
+ '708-200w-326ppi.png","278w-326ppi":"https://d30s7yzk2az89n.cloudfront.net/i'\
31
+ 'mages/brands/b916708-278w-326ppi.png","300w-326ppi":"https://d30s7yzk2az89n'\
32
+ '.cloudfront.net/images/brands/b916708-300w-326ppi.png","1200w-326ppi":"http'\
33
+ 's://d30s7yzk2az89n.cloudfront.net/images/brands/b916708-1200w-326ppi.png"},'\
34
+ '"status":"active","items":[{"utid":"U666425","rewardName":"Amazon.com Gift '\
35
+ 'Card","currencyCode":"USD","status":"active","valueType":"VARIABLE_VALUE","'\
36
+ 'rewardType":"gift card","minValue":0.01,"maxValue":2000,"createdDate":"2016'\
37
+ '-06-17T17:38:45.294Z","lastUpdateDate":"2017-12-15T01:27:49.607Z","countrie'\
38
+ 's":["US"]}]},{"brandKey":"B725361","brandName":"AMC Theatres®","disclaimer"'\
39
+ ':"discl","description":"desc","shortDescription":"short desc","terms":"term'\
40
+ 's","createdDate":"2016-06-23T21:53:45Z","lastUpdateDate":"2016-07-25T22:41:'\
41
+ '11Z","imageUrls":{"80w-326ppi":"https://d30s7yzk2az89n.cloudfront.net/image'\
42
+ 's/brands/b725361-80w-326ppi.png","130w-326ppi":"https://d30s7yzk2az89n.clou'\
43
+ 'dfront.net/images/brands/b725361-130w-326ppi.png","200w-326ppi":"https://d3'\
44
+ '0s7yzk2az89n.cloudfront.net/images/brands/b725361-200w-326ppi.png","278w-32'\
45
+ '6ppi":"https://d30s7yzk2az89n.cloudfront.net/images/brands/b725361-278w-326'\
46
+ 'ppi.png","300w-326ppi":"https://d30s7yzk2az89n.cloudfront.net/images/brands'\
47
+ '/b725361-300w-326ppi.png","1200w-326ppi":"https://d30s7yzk2az89n.cloudfront'\
48
+ '.net/images/brands/b725361-1200w-326ppi.png"},"status":"active","items":[{"'\
49
+ 'utid":"U154092","rewardName":"AMC® Gift Card $10.00","currencyCode":"USD","'\
50
+ 'status":"active","valueType":"FIXED_VALUE","rewardType":"gift card","faceVa'\
51
+ 'lue":10,"createdDate":"2016-07-27T02:54:30.142Z","lastUpdateDate":"2016-09-'\
52
+ '21T20:59:01.874Z","countries":["US"]},{"utid":"U913336","rewardName":"AMC® '\
53
+ 'Gift Card $25.00","currencyCode":"USD","status":"active","valueType":"FIXED'\
54
+ '_VALUE","rewardType":"gift card","faceValue":25,"createdDate":"2016-07-27T0'\
55
+ '2:55:37.899Z","lastUpdateDate":"2016-10-17T20:55:00.386Z","countries":["US"'\
56
+ ']},{"utid":"U652361","rewardName":"AMC® Gift Card $50.00","currencyCode":"U'\
57
+ 'SD","status":"active","valueType":"FIXED_VALUE","rewardType":"gift card","f'\
58
+ 'aceValue":50,"createdDate":"2016-07-27T02:56:53.391Z","lastUpdateDate":"201'\
59
+ '6-09-21T20:59:16.283Z","countries":["US"]}]}]}'
60
+ )
61
+ received_body = JSON.parse(@response_catcher.response.raw_body)
62
+ assert(TestHelper.match_body(expected_body, received_body))
63
+ end
64
+
65
+ end
@@ -0,0 +1,61 @@
1
+ # This file was automatically generated for Tango Card, Inc. by APIMATIC v2.0 ( https://apimatic.io ).
2
+
3
+ require_relative 'controller_test_base'
4
+
5
+ class CustomersControllerTests < ControllerTestBase
6
+ # Called only once for the class before any test has executed
7
+ def self.startup
8
+ self.controller = @@api_client.customers
9
+ end
10
+
11
+ # Tests retrieving all customers
12
+ def test_test_get_all_customers()
13
+
14
+ # Perform the API call through the SDK function
15
+ result = self.class.controller.get_all_customers()
16
+
17
+ # Test response code
18
+ assert_equal(@response_catcher.response.status_code, 200)
19
+
20
+ # Test whether the captured response is as we expected
21
+ assert_not_nil(result)
22
+ expected_body = JSON.parse(
23
+ '[{"customerIdentifier":"sdkautotest1","displayName":"SDK Auto Testing 1","'\
24
+ 'status":"active","createdAt":"2018-04-26T18:13:12.874Z","accounts":[{"accou'\
25
+ 'ntIdentifier":"sdkautotest3","accountNumber":"A01335766","displayName":"SDK'\
26
+ ' Auto Testing 3","createdAt":"2018-04-26T18:16:51.652Z","status":"ACTIVE"},'\
27
+ '{"accountIdentifier":"sdkautotest2","accountNumber":"A11720237","displayNam'\
28
+ 'e":"SDK Auto Testing 2","createdAt":"2018-04-26T18:13:45.196Z","status":"AC'\
29
+ 'TIVE"}]}]'
30
+ )
31
+ received_body = JSON.parse(@response_catcher.response.raw_body)
32
+ assert(TestHelper.match_body(expected_body, received_body, check_values: true))
33
+ end
34
+
35
+ # Tests retrieving a single customer
36
+ def test_test_get_customer()
37
+ # Parameters for the API call
38
+ customer_identifier = 'sdkautotest1'
39
+
40
+ # Perform the API call through the SDK function
41
+ result = self.class.controller.get_customer(customer_identifier)
42
+
43
+ # Test response code
44
+ assert_equal(@response_catcher.response.status_code, 200)
45
+
46
+ # Test whether the captured response is as we expected
47
+ assert_not_nil(result)
48
+ expected_body = JSON.parse(
49
+ '{"customerIdentifier":"sdkautotest1","displayName":"SDK Auto Testing 1","s'\
50
+ 'tatus":"active","createdAt":"2018-04-26T18:13:12.874Z","accounts":[{"accoun'\
51
+ 'tIdentifier":"sdkautotest3","accountNumber":"A01335766","displayName":"SDK '\
52
+ 'Auto Testing 3","createdAt":"2018-04-26T18:16:51.652Z","status":"ACTIVE"},{'\
53
+ '"accountIdentifier":"sdkautotest2","accountNumber":"A11720237","displayName'\
54
+ '":"SDK Auto Testing 2","createdAt":"2018-04-26T18:13:45.196Z","status":"ACT'\
55
+ 'IVE"}]}'
56
+ )
57
+ received_body = JSON.parse(@response_catcher.response.raw_body)
58
+ assert(TestHelper.match_body(expected_body, received_body, check_values: true))
59
+ end
60
+
61
+ end