snaptrade 1.7.0 → 1.8.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 +4 -4
- data/Gemfile +10 -10
- data/Gemfile.lock +14 -12
- data/README.md +218 -254
- data/docs/APIStatusApi.md +57 -57
- data/docs/AccountInformationApi.md +535 -535
- data/docs/AuthenticationApi.md +314 -314
- data/docs/ConnectionsApi.md +265 -265
- data/docs/ErrorLogsApi.md +68 -68
- data/docs/OptionsApi.md +378 -378
- data/docs/ReferenceDataApi.md +595 -595
- data/docs/TradingApi.md +478 -799
- data/docs/TransactionsAndReportingApi.md +183 -183
- data/lib/snaptrade/api/account_information_api.rb +801 -801
- data/lib/snaptrade/api/api_status_api.rb +98 -98
- data/lib/snaptrade/api/authentication_api.rb +481 -481
- data/lib/snaptrade/api/connections_api.rb +398 -398
- data/lib/snaptrade/api/error_logs_api.rb +112 -112
- data/lib/snaptrade/api/options_api.rb +591 -591
- data/lib/snaptrade/api/reference_data_api.rb +894 -894
- data/lib/snaptrade/api/trading_api.rb +741 -1150
- data/lib/snaptrade/api/transactions_and_reporting_api.rb +283 -283
- data/lib/snaptrade/api_client.rb +427 -427
- data/lib/snaptrade/api_client_custom.rb +32 -32
- data/lib/snaptrade/api_error.rb +6 -6
- data/lib/snaptrade/configuration.rb +334 -334
- data/lib/snaptrade/models/account.rb +6 -6
- data/lib/snaptrade/models/account_holdings.rb +251 -249
- data/lib/snaptrade/models/account_holdings_account.rb +263 -260
- data/lib/snaptrade/models/account_order_record.rb +6 -6
- data/lib/snaptrade/models/account_order_record_status.rb +6 -6
- data/lib/snaptrade/models/account_simple.rb +6 -6
- data/lib/snaptrade/models/account_sync_status.rb +6 -6
- data/lib/snaptrade/models/action.rb +6 -6
- data/lib/snaptrade/models/auth_type.rb +6 -6
- data/lib/snaptrade/models/authentication_login_snap_trade_user200_response.rb +6 -6
- data/lib/snaptrade/models/balance.rb +6 -6
- data/lib/snaptrade/models/brokerage.rb +6 -6
- data/lib/snaptrade/models/brokerage_authorization.rb +6 -6
- data/lib/snaptrade/models/brokerage_authorization_type.rb +6 -6
- data/lib/snaptrade/models/brokerage_authorization_type_read_only.rb +6 -6
- data/lib/snaptrade/models/brokerage_authorization_type_read_only_brokerage.rb +6 -6
- data/lib/snaptrade/models/brokerage_authorization_type_read_only_type.rb +6 -6
- data/lib/snaptrade/models/brokerage_authorization_type_type.rb +6 -6
- data/lib/snaptrade/models/brokerage_symbol.rb +6 -6
- data/lib/snaptrade/models/brokerage_type.rb +6 -6
- data/lib/snaptrade/models/calculated_trade.rb +6 -6
- data/lib/snaptrade/models/cash_restriction.rb +6 -6
- data/lib/snaptrade/models/connection_type.rb +6 -6
- data/lib/snaptrade/models/connections_session_events200_response_inner.rb +6 -6
- data/lib/snaptrade/models/currency.rb +6 -6
- data/lib/snaptrade/models/delete_user_response.rb +6 -6
- data/lib/snaptrade/models/dividend_at_date.rb +6 -6
- data/lib/snaptrade/models/encrypted_response.rb +6 -6
- data/lib/snaptrade/models/encrypted_response_encrypted_message_data.rb +6 -6
- data/lib/snaptrade/models/exchange.rb +6 -6
- data/lib/snaptrade/models/exchange_rate_pairs.rb +6 -6
- data/lib/snaptrade/models/excluded_asset.rb +6 -6
- data/lib/snaptrade/models/jwt.rb +6 -6
- data/lib/snaptrade/models/login_redirect_uri.rb +6 -6
- data/lib/snaptrade/models/manual_trade.rb +6 -6
- data/lib/snaptrade/models/manual_trade_and_impact.rb +6 -6
- data/lib/snaptrade/models/manual_trade_balance.rb +6 -6
- data/lib/snaptrade/models/manual_trade_form.rb +6 -6
- data/lib/snaptrade/models/manual_trade_symbol.rb +6 -6
- data/lib/snaptrade/models/model400_failed_request_response.rb +6 -6
- data/lib/snaptrade/models/model401_failed_request_response.rb +6 -6
- data/lib/snaptrade/models/model403_failed_request_response.rb +6 -6
- data/lib/snaptrade/models/model404_failed_request_response.rb +6 -6
- data/lib/snaptrade/models/model_asset_class.rb +6 -6
- data/lib/snaptrade/models/model_asset_class_details.rb +6 -6
- data/lib/snaptrade/models/model_asset_class_target.rb +6 -6
- data/lib/snaptrade/models/model_portfolio.rb +6 -6
- data/lib/snaptrade/models/model_portfolio_asset_class.rb +6 -6
- data/lib/snaptrade/models/model_portfolio_details.rb +6 -6
- data/lib/snaptrade/models/model_portfolio_security.rb +6 -6
- data/lib/snaptrade/models/model_type.rb +6 -6
- data/lib/snaptrade/models/monthly_dividends.rb +6 -6
- data/lib/snaptrade/models/net_contributions.rb +6 -6
- data/lib/snaptrade/models/net_dividend.rb +6 -6
- data/lib/snaptrade/models/option_chain_inner.rb +6 -6
- data/lib/snaptrade/models/option_chain_inner_chain_per_root_inner.rb +6 -6
- data/lib/snaptrade/models/option_chain_inner_chain_per_root_inner_chain_per_strike_price_inner.rb +6 -6
- data/lib/snaptrade/models/option_leg.rb +6 -6
- data/lib/snaptrade/models/option_leg_action.rb +6 -6
- data/lib/snaptrade/models/option_strategy.rb +6 -6
- data/lib/snaptrade/models/option_strategy_legs_inner.rb +6 -6
- data/lib/snaptrade/models/options_get_option_strategy_request.rb +6 -6
- data/lib/snaptrade/models/options_holdings.rb +6 -6
- data/lib/snaptrade/models/options_place_option_strategy_request.rb +6 -6
- data/lib/snaptrade/models/options_position.rb +6 -6
- data/lib/snaptrade/models/options_symbol.rb +6 -6
- data/lib/snaptrade/models/order_strategy_execute_body_order_type.rb +6 -6
- data/lib/snaptrade/models/order_strategy_execute_body_time_in_force.rb +6 -6
- data/lib/snaptrade/models/order_type.rb +6 -6
- data/lib/snaptrade/models/partner_data.rb +6 -6
- data/lib/snaptrade/models/past_value.rb +6 -6
- data/lib/snaptrade/models/performance_custom.rb +6 -6
- data/lib/snaptrade/models/portfolio_group.rb +6 -6
- data/lib/snaptrade/models/portfolio_group_info.rb +6 -6
- data/lib/snaptrade/models/portfolio_group_position.rb +6 -6
- data/lib/snaptrade/models/portfolio_group_settings.rb +6 -6
- data/lib/snaptrade/models/position.rb +6 -6
- data/lib/snaptrade/models/position_symbol.rb +6 -6
- data/lib/snaptrade/models/redirect_tokenand_pin.rb +6 -6
- data/lib/snaptrade/models/security_type.rb +6 -6
- data/lib/snaptrade/models/session_event.rb +6 -6
- data/lib/snaptrade/models/session_event_type.rb +6 -6
- data/lib/snaptrade/models/snap_trade_api_disclaimer_accept_status.rb +6 -6
- data/lib/snaptrade/models/snap_trade_holdings_account.rb +6 -6
- data/lib/snaptrade/models/snap_trade_holdings_account_account_id.rb +6 -6
- data/lib/snaptrade/models/snap_trade_holdings_total_value.rb +6 -6
- data/lib/snaptrade/models/snap_trade_login_user_request_body.rb +6 -6
- data/lib/snaptrade/models/snap_trade_register_user_request_body.rb +6 -6
- data/lib/snaptrade/models/state.rb +6 -6
- data/lib/snaptrade/models/status.rb +6 -6
- data/lib/snaptrade/models/strategy_impact.rb +6 -6
- data/lib/snaptrade/models/strategy_impact_legs_inner.rb +6 -6
- data/lib/snaptrade/models/strategy_order_place.rb +6 -6
- data/lib/snaptrade/models/strategy_order_place_orders_inner.rb +6 -6
- data/lib/snaptrade/models/strategy_order_place_orders_inner_legs_inner.rb +6 -6
- data/lib/snaptrade/models/strategy_order_record.rb +6 -6
- data/lib/snaptrade/models/strategy_order_record_order_type.rb +6 -6
- data/lib/snaptrade/models/strategy_order_record_status.rb +6 -6
- data/lib/snaptrade/models/strategy_order_record_time_in_force.rb +6 -6
- data/lib/snaptrade/models/strategy_quotes.rb +6 -6
- data/lib/snaptrade/models/strategy_quotes_greek.rb +6 -6
- data/lib/snaptrade/models/strategy_type.rb +6 -6
- data/lib/snaptrade/models/sub_period_return_rate.rb +6 -6
- data/lib/snaptrade/models/symbol.rb +6 -6
- data/lib/snaptrade/models/symbol_query.rb +6 -6
- data/lib/snaptrade/models/symbols_quotes_inner.rb +6 -6
- data/lib/snaptrade/models/target_asset.rb +6 -6
- data/lib/snaptrade/models/time_in_force.rb +6 -6
- data/lib/snaptrade/models/trade.rb +6 -6
- data/lib/snaptrade/models/trade_action.rb +6 -6
- data/lib/snaptrade/models/trade_execution_status.rb +6 -6
- data/lib/snaptrade/models/trade_execution_status_action.rb +6 -6
- data/lib/snaptrade/models/trade_impact.rb +6 -6
- data/lib/snaptrade/models/trading_cancel_user_account_order_request.rb +6 -6
- data/lib/snaptrade/models/trading_place_oco_order_request.rb +6 -6
- data/lib/snaptrade/models/transactions_status.rb +6 -6
- data/lib/snaptrade/models/type.rb +6 -6
- data/lib/snaptrade/models/underlying_symbol.rb +6 -6
- data/lib/snaptrade/models/universal_activity.rb +6 -6
- data/lib/snaptrade/models/universal_symbol.rb +6 -6
- data/lib/snaptrade/models/universal_symbol_ticker.rb +6 -6
- data/lib/snaptrade/models/us_exchange.rb +6 -6
- data/lib/snaptrade/models/user_error_log.rb +6 -6
- data/lib/snaptrade/models/user_i_dand_secret.rb +6 -6
- data/lib/snaptrade/models/user_settings.rb +6 -6
- data/lib/snaptrade/version.rb +13 -13
- data/lib/snaptrade.rb +211 -214
- data/snaptrade.gemspec +41 -41
- data/spec/api/account_information_api_spec.rb +135 -135
- data/spec/api/api_status_api_spec.rb +42 -42
- data/spec/api/authentication_api_spec.rb +88 -88
- data/spec/api/connections_api_spec.rb +82 -82
- data/spec/api/error_logs_api_spec.rb +43 -43
- data/spec/api/options_api_spec.rb +101 -101
- data/spec/api/reference_data_api_spec.rb +150 -150
- data/spec/api/trading_api_spec.rb +112 -163
- data/spec/api/transactions_and_reporting_api_spec.rb +67 -67
- data/spec/api_client_spec.rb +193 -193
- data/spec/configuration_spec.rb +6 -6
- data/spec/getting_started_spec.rb +108 -144
- data/spec/models/account_holdings_account_spec.rb +54 -54
- data/spec/models/account_holdings_spec.rb +48 -48
- data/spec/models/account_order_record_spec.rb +132 -132
- data/spec/models/account_order_record_status_spec.rb +24 -24
- data/spec/models/account_simple_spec.rb +48 -48
- data/spec/models/account_spec.rb +84 -84
- data/spec/models/account_sync_status_spec.rb +30 -30
- data/spec/models/action_spec.rb +24 -24
- data/spec/models/auth_type_spec.rb +24 -24
- data/spec/models/authentication_login_snap_trade_user200_response_spec.rb +27 -27
- data/spec/models/balance_spec.rb +36 -36
- data/spec/models/brokerage_authorization_spec.rb +78 -78
- data/spec/models/brokerage_authorization_type_read_only_brokerage_spec.rb +42 -42
- data/spec/models/brokerage_authorization_type_read_only_spec.rb +48 -48
- data/spec/models/brokerage_authorization_type_read_only_type_spec.rb +24 -24
- data/spec/models/brokerage_authorization_type_spec.rb +30 -30
- data/spec/models/brokerage_authorization_type_type_spec.rb +24 -24
- data/spec/models/brokerage_spec.rb +132 -132
- data/spec/models/brokerage_symbol_spec.rb +54 -54
- data/spec/models/brokerage_type_spec.rb +36 -36
- data/spec/models/calculated_trade_spec.rb +36 -36
- data/spec/models/cash_restriction_spec.rb +54 -54
- data/spec/models/connection_type_spec.rb +24 -24
- data/spec/models/connections_session_events200_response_inner_spec.rb +66 -66
- data/spec/models/currency_spec.rb +42 -42
- data/spec/models/delete_user_response_spec.rb +36 -36
- data/spec/models/dividend_at_date_spec.rb +42 -42
- data/spec/models/encrypted_response_encrypted_message_data_spec.rb +42 -42
- data/spec/models/encrypted_response_spec.rb +36 -36
- data/spec/models/exchange_rate_pairs_spec.rb +42 -42
- data/spec/models/exchange_spec.rb +72 -72
- data/spec/models/excluded_asset_spec.rb +30 -30
- data/spec/models/jwt_spec.rb +30 -30
- data/spec/models/login_redirect_uri_spec.rb +36 -36
- data/spec/models/manual_trade_and_impact_spec.rb +42 -42
- data/spec/models/manual_trade_balance_spec.rb +42 -42
- data/spec/models/manual_trade_form_spec.rb +72 -72
- data/spec/models/manual_trade_spec.rb +72 -72
- data/spec/models/manual_trade_symbol_spec.rb +60 -60
- data/spec/models/model400_failed_request_response_spec.rb +36 -36
- data/spec/models/model401_failed_request_response_spec.rb +36 -36
- data/spec/models/model403_failed_request_response_spec.rb +36 -36
- data/spec/models/model404_failed_request_response_spec.rb +36 -36
- data/spec/models/model_asset_class_details_spec.rb +36 -36
- data/spec/models/model_asset_class_spec.rb +36 -36
- data/spec/models/model_asset_class_target_spec.rb +30 -30
- data/spec/models/model_portfolio_asset_class_spec.rb +36 -36
- data/spec/models/model_portfolio_details_spec.rb +42 -42
- data/spec/models/model_portfolio_security_spec.rb +36 -36
- data/spec/models/model_portfolio_spec.rb +42 -42
- data/spec/models/model_type_spec.rb +24 -24
- data/spec/models/monthly_dividends_spec.rb +36 -36
- data/spec/models/net_contributions_spec.rb +42 -42
- data/spec/models/net_dividend_spec.rb +42 -42
- data/spec/models/option_chain_inner_chain_per_root_inner_chain_per_strike_price_inner_spec.rb +42 -42
- data/spec/models/option_chain_inner_chain_per_root_inner_spec.rb +42 -42
- data/spec/models/option_chain_inner_spec.rb +54 -54
- data/spec/models/option_leg_action_spec.rb +24 -24
- data/spec/models/option_leg_spec.rb +42 -42
- data/spec/models/option_strategy_legs_inner_spec.rb +48 -48
- data/spec/models/option_strategy_spec.rb +54 -54
- data/spec/models/options_get_option_strategy_request_spec.rb +42 -42
- data/spec/models/options_holdings_spec.rb +60 -60
- data/spec/models/options_place_option_strategy_request_spec.rb +42 -42
- data/spec/models/options_position_spec.rb +66 -66
- data/spec/models/options_symbol_spec.rb +90 -90
- data/spec/models/order_strategy_execute_body_order_type_spec.rb +24 -24
- data/spec/models/order_strategy_execute_body_time_in_force_spec.rb +24 -24
- data/spec/models/order_type_spec.rb +24 -24
- data/spec/models/partner_data_spec.rb +96 -96
- data/spec/models/past_value_spec.rb +42 -42
- data/spec/models/performance_custom_spec.rb +138 -138
- data/spec/models/portfolio_group_info_spec.rb +90 -90
- data/spec/models/portfolio_group_position_spec.rb +42 -42
- data/spec/models/portfolio_group_settings_spec.rb +54 -54
- data/spec/models/portfolio_group_spec.rb +36 -36
- data/spec/models/position_spec.rb +60 -60
- data/spec/models/position_symbol_spec.rb +60 -60
- data/spec/models/redirect_tokenand_pin_spec.rb +36 -36
- data/spec/models/security_type_spec.rb +48 -48
- data/spec/models/session_event_spec.rb +66 -66
- data/spec/models/session_event_type_spec.rb +24 -24
- data/spec/models/snap_trade_api_disclaimer_accept_status_spec.rb +36 -36
- data/spec/models/snap_trade_holdings_account_account_id_spec.rb +78 -78
- data/spec/models/snap_trade_holdings_account_spec.rb +72 -72
- data/spec/models/snap_trade_holdings_total_value_spec.rb +36 -36
- data/spec/models/snap_trade_login_user_request_body_spec.rb +54 -54
- data/spec/models/snap_trade_register_user_request_body_spec.rb +36 -36
- data/spec/models/state_spec.rb +24 -24
- data/spec/models/status_spec.rb +42 -42
- data/spec/models/strategy_impact_legs_inner_spec.rb +66 -66
- data/spec/models/strategy_impact_spec.rb +90 -90
- data/spec/models/strategy_order_place_orders_inner_legs_inner_spec.rb +66 -66
- data/spec/models/strategy_order_place_orders_inner_spec.rb +282 -282
- data/spec/models/strategy_order_place_spec.rb +36 -36
- data/spec/models/strategy_order_record_order_type_spec.rb +24 -24
- data/spec/models/strategy_order_record_spec.rb +90 -90
- data/spec/models/strategy_order_record_status_spec.rb +24 -24
- data/spec/models/strategy_order_record_time_in_force_spec.rb +24 -24
- data/spec/models/strategy_quotes_greek_spec.rb +54 -54
- data/spec/models/strategy_quotes_spec.rb +60 -60
- data/spec/models/strategy_type_spec.rb +24 -24
- data/spec/models/sub_period_return_rate_spec.rb +42 -42
- data/spec/models/symbol_query_spec.rb +30 -30
- data/spec/models/symbol_spec.rb +66 -66
- data/spec/models/symbols_quotes_inner_spec.rb +60 -60
- data/spec/models/target_asset_spec.rb +60 -60
- data/spec/models/time_in_force_spec.rb +24 -24
- data/spec/models/trade_action_spec.rb +24 -24
- data/spec/models/trade_execution_status_action_spec.rb +24 -24
- data/spec/models/trade_execution_status_spec.rb +78 -78
- data/spec/models/trade_impact_spec.rb +54 -54
- data/spec/models/trade_spec.rb +72 -72
- data/spec/models/trading_cancel_user_account_order_request_spec.rb +30 -30
- data/spec/models/trading_place_oco_order_request_spec.rb +36 -36
- data/spec/models/transactions_status_spec.rb +36 -36
- data/spec/models/type_spec.rb +24 -24
- data/spec/models/underlying_symbol_spec.rb +66 -66
- data/spec/models/universal_activity_spec.rb +120 -120
- data/spec/models/universal_symbol_spec.rb +72 -72
- data/spec/models/universal_symbol_ticker_spec.rb +72 -72
- data/spec/models/us_exchange_spec.rb +78 -78
- data/spec/models/user_error_log_spec.rb +60 -60
- data/spec/models/user_i_dand_secret_spec.rb +36 -36
- data/spec/models/user_settings_spec.rb +84 -84
- data/spec/spec_helper.rb +6 -6
- metadata +113 -117
- data/docs/PortfolioManagementApi.md +0 -2064
- data/lib/snaptrade/api/portfolio_management_api.rb +0 -2867
- data/spec/api/portfolio_management_api_spec.rb +0 -403
|
@@ -1,67 +1,67 @@
|
|
|
1
|
-
=begin
|
|
2
|
-
#SnapTrade
|
|
3
|
-
|
|
4
|
-
#Connect brokerage accounts to your app for live positions and trading
|
|
5
|
-
|
|
6
|
-
The version of the OpenAPI document: 1.0.0
|
|
7
|
-
Contact: api@snaptrade.com
|
|
8
|
-
|
|
9
|
-
=end
|
|
10
|
-
|
|
11
|
-
require 'spec_helper'
|
|
12
|
-
require 'json'
|
|
13
|
-
|
|
14
|
-
# Unit tests for SnapTrade::TransactionsAndReportingApi
|
|
15
|
-
describe 'TransactionsAndReportingApi' do
|
|
16
|
-
before do
|
|
17
|
-
# run before each test
|
|
18
|
-
@api_instance = SnapTrade::TransactionsAndReportingApi.new
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
after do
|
|
22
|
-
# run after each test
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
describe 'test an instance of TransactionsAndReportingApi' do
|
|
26
|
-
it 'should create an instance of TransactionsAndReportingApi' do
|
|
27
|
-
expect(@api_instance).to be_instance_of(SnapTrade::TransactionsAndReportingApi)
|
|
28
|
-
end
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
# unit tests for get_activities
|
|
32
|
-
# Get transaction history for a user
|
|
33
|
-
# Returns activities (transactions) for a user. Specifing start and end date is highly recommended for automatic calls for better performance
|
|
34
|
-
# @param user_id
|
|
35
|
-
# @param user_secret
|
|
36
|
-
# @param [Hash] opts the optional parameters
|
|
37
|
-
# @option opts [Date] :start_date
|
|
38
|
-
# @option opts [Date] :end_date
|
|
39
|
-
# @option opts [String] :accounts Optional comma seperated list of account IDs used to filter the request on specific accounts
|
|
40
|
-
# @option opts [String] :brokerage_authorizations Optional comma seperated list of brokerage authorization IDs used to filter the request on only accounts that belong to those authorizations
|
|
41
|
-
# @option opts [String] :type Optional comma seperated list of types to filter activities by. Potential values include - DIVIDEND - BUY - SELL - CONTRIBUTION - WITHDRAWAL - EXTERNAL_ASSET_TRANSFER_IN - EXTERNAL_ASSET_TRANSFER_OUT - INTERNAL_CASH_TRANSFER_IN - INTERNAL_CASH_TRANSFER_OUT - INTERNAL_ASSET_TRANSFER_IN - INTERNAL_ASSET_TRANSFER_OUT - INTEREST - REBATE - GOV_GRANT - TAX - FEE - REI - FXT
|
|
42
|
-
# @return [Array<UniversalActivity>]
|
|
43
|
-
describe 'get_activities test' do
|
|
44
|
-
it 'should work' do
|
|
45
|
-
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
46
|
-
end
|
|
47
|
-
end
|
|
48
|
-
|
|
49
|
-
# unit tests for get_reporting_custom_range
|
|
50
|
-
# Get performance information for a specific timeframe
|
|
51
|
-
# Returns performance information (contributions, dividends, rate of return, etc) for a specific timeframe. Total Equity Timeframe and Rate of Returns are experimental and should not be trusted to be 100% accurate
|
|
52
|
-
# @param start_date
|
|
53
|
-
# @param end_date
|
|
54
|
-
# @param user_id
|
|
55
|
-
# @param user_secret
|
|
56
|
-
# @param [Hash] opts the optional parameters
|
|
57
|
-
# @option opts [String] :accounts Optional comma seperated list of account IDs used to filter the request on specific accounts
|
|
58
|
-
# @option opts [Boolean] :detailed Optional, increases frequency of data points for the total value and contribution charts if set to true
|
|
59
|
-
# @option opts [String] :frequency Optional frequency for the rate of return chart (defaults to monthly). Possible values are daily, weekly, monthly, quarterly, yearly.
|
|
60
|
-
# @return [PerformanceCustom]
|
|
61
|
-
describe 'get_reporting_custom_range test' do
|
|
62
|
-
it 'should work' do
|
|
63
|
-
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
64
|
-
end
|
|
65
|
-
end
|
|
66
|
-
|
|
67
|
-
end
|
|
1
|
+
=begin
|
|
2
|
+
#SnapTrade
|
|
3
|
+
|
|
4
|
+
#Connect brokerage accounts to your app for live positions and trading
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 1.0.0
|
|
7
|
+
Contact: api@snaptrade.com
|
|
8
|
+
|
|
9
|
+
=end
|
|
10
|
+
|
|
11
|
+
require 'spec_helper'
|
|
12
|
+
require 'json'
|
|
13
|
+
|
|
14
|
+
# Unit tests for SnapTrade::TransactionsAndReportingApi
|
|
15
|
+
describe 'TransactionsAndReportingApi' do
|
|
16
|
+
before do
|
|
17
|
+
# run before each test
|
|
18
|
+
@api_instance = SnapTrade::TransactionsAndReportingApi.new
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
after do
|
|
22
|
+
# run after each test
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
describe 'test an instance of TransactionsAndReportingApi' do
|
|
26
|
+
it 'should create an instance of TransactionsAndReportingApi' do
|
|
27
|
+
expect(@api_instance).to be_instance_of(SnapTrade::TransactionsAndReportingApi)
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
# unit tests for get_activities
|
|
32
|
+
# Get transaction history for a user
|
|
33
|
+
# Returns activities (transactions) for a user. Specifing start and end date is highly recommended for automatic calls for better performance
|
|
34
|
+
# @param user_id
|
|
35
|
+
# @param user_secret
|
|
36
|
+
# @param [Hash] opts the optional parameters
|
|
37
|
+
# @option opts [Date] :start_date
|
|
38
|
+
# @option opts [Date] :end_date
|
|
39
|
+
# @option opts [String] :accounts Optional comma seperated list of account IDs used to filter the request on specific accounts
|
|
40
|
+
# @option opts [String] :brokerage_authorizations Optional comma seperated list of brokerage authorization IDs used to filter the request on only accounts that belong to those authorizations
|
|
41
|
+
# @option opts [String] :type Optional comma seperated list of types to filter activities by. Potential values include - DIVIDEND - BUY - SELL - CONTRIBUTION - WITHDRAWAL - EXTERNAL_ASSET_TRANSFER_IN - EXTERNAL_ASSET_TRANSFER_OUT - INTERNAL_CASH_TRANSFER_IN - INTERNAL_CASH_TRANSFER_OUT - INTERNAL_ASSET_TRANSFER_IN - INTERNAL_ASSET_TRANSFER_OUT - INTEREST - REBATE - GOV_GRANT - TAX - FEE - REI - FXT
|
|
42
|
+
# @return [Array<UniversalActivity>]
|
|
43
|
+
describe 'get_activities test' do
|
|
44
|
+
it 'should work' do
|
|
45
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
# unit tests for get_reporting_custom_range
|
|
50
|
+
# Get performance information for a specific timeframe
|
|
51
|
+
# Returns performance information (contributions, dividends, rate of return, etc) for a specific timeframe. Total Equity Timeframe and Rate of Returns are experimental and should not be trusted to be 100% accurate
|
|
52
|
+
# @param start_date
|
|
53
|
+
# @param end_date
|
|
54
|
+
# @param user_id
|
|
55
|
+
# @param user_secret
|
|
56
|
+
# @param [Hash] opts the optional parameters
|
|
57
|
+
# @option opts [String] :accounts Optional comma seperated list of account IDs used to filter the request on specific accounts
|
|
58
|
+
# @option opts [Boolean] :detailed Optional, increases frequency of data points for the total value and contribution charts if set to true
|
|
59
|
+
# @option opts [String] :frequency Optional frequency for the rate of return chart (defaults to monthly). Possible values are daily, weekly, monthly, quarterly, yearly.
|
|
60
|
+
# @return [PerformanceCustom]
|
|
61
|
+
describe 'get_reporting_custom_range test' do
|
|
62
|
+
it 'should work' do
|
|
63
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
end
|
data/spec/api_client_spec.rb
CHANGED
|
@@ -1,193 +1,193 @@
|
|
|
1
|
-
=begin
|
|
2
|
-
#SnapTrade
|
|
3
|
-
|
|
4
|
-
#Connect brokerage accounts to your app for live positions and trading
|
|
5
|
-
|
|
6
|
-
The version of the OpenAPI document: 1.0.0
|
|
7
|
-
Contact: api@snaptrade.com
|
|
8
|
-
|
|
9
|
-
=end
|
|
10
|
-
|
|
11
|
-
require 'spec_helper'
|
|
12
|
-
|
|
13
|
-
describe SnapTrade::ApiClient do
|
|
14
|
-
context 'initialization' do
|
|
15
|
-
context 'URL stuff' do
|
|
16
|
-
context 'host' do
|
|
17
|
-
it 'removes http from host' do
|
|
18
|
-
|
|
19
|
-
configuration = SnapTrade::Configuration.new
|
|
20
|
-
configuration.host = 'http://example.com'
|
|
21
|
-
expect(configuration.host).to eq('example.com')
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
it 'removes https from host' do
|
|
25
|
-
configuration = SnapTrade::Configuration.new
|
|
26
|
-
configuration.host = 'https://wookiee.com'
|
|
27
|
-
expect(configuration.host).to eq('wookiee.com')
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
it 'removes trailing path from host' do
|
|
31
|
-
configuration = SnapTrade::Configuration.new
|
|
32
|
-
configuration.host = 'hello.com/v4'
|
|
33
|
-
expect(configuration.host).to eq('hello.com')
|
|
34
|
-
end
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
context 'base_path' do
|
|
38
|
-
it "prepends a slash to base_path" do
|
|
39
|
-
configuration = SnapTrade::Configuration.new
|
|
40
|
-
configuration.base_path = 'v4/dog'
|
|
41
|
-
expect(configuration.base_path).to eq('/v4/dog')
|
|
42
|
-
end
|
|
43
|
-
|
|
44
|
-
it "doesn't prepend a slash if one is already there" do
|
|
45
|
-
configuration = SnapTrade::Configuration.new
|
|
46
|
-
configuration.base_path = '/v4/dog'
|
|
47
|
-
expect(configuration.base_path).to eq('/v4/dog')
|
|
48
|
-
end
|
|
49
|
-
|
|
50
|
-
it "ends up as a blank string if nil" do
|
|
51
|
-
configuration = SnapTrade::Configuration.new
|
|
52
|
-
configuration.base_path = nil
|
|
53
|
-
expect(configuration.base_path).to eq('')
|
|
54
|
-
end
|
|
55
|
-
end
|
|
56
|
-
end
|
|
57
|
-
end
|
|
58
|
-
|
|
59
|
-
describe '#deserialize' do
|
|
60
|
-
it "handles Array<Integer>" do
|
|
61
|
-
api_client = SnapTrade::ApiClient.new
|
|
62
|
-
headers = { 'Content-Type' => 'application/json' }
|
|
63
|
-
response = double('response', headers: headers, body: '[12, 34]')
|
|
64
|
-
data = api_client.deserialize(response, 'Array<Integer>')
|
|
65
|
-
expect(data).to be_instance_of(Array)
|
|
66
|
-
expect(data).to eq([12, 34])
|
|
67
|
-
end
|
|
68
|
-
|
|
69
|
-
it 'handles Array<Array<Integer>>' do
|
|
70
|
-
api_client = SnapTrade::ApiClient.new
|
|
71
|
-
headers = { 'Content-Type' => 'application/json' }
|
|
72
|
-
response = double('response', headers: headers, body: '[[12, 34], [56]]')
|
|
73
|
-
data = api_client.deserialize(response, 'Array<Array<Integer>>')
|
|
74
|
-
expect(data).to be_instance_of(Array)
|
|
75
|
-
expect(data).to eq([[12, 34], [56]])
|
|
76
|
-
end
|
|
77
|
-
|
|
78
|
-
it 'handles Hash<String, String>' do
|
|
79
|
-
api_client = SnapTrade::ApiClient.new
|
|
80
|
-
headers = { 'Content-Type' => 'application/json' }
|
|
81
|
-
response = double('response', headers: headers, body: '{"message": "Hello"}')
|
|
82
|
-
data = api_client.deserialize(response, 'Hash<String, String>')
|
|
83
|
-
expect(data).to be_instance_of(Hash)
|
|
84
|
-
expect(data).to eq(:message => 'Hello')
|
|
85
|
-
end
|
|
86
|
-
end
|
|
87
|
-
|
|
88
|
-
describe "#object_to_hash" do
|
|
89
|
-
it 'ignores nils and includes empty arrays' do
|
|
90
|
-
# uncomment below to test object_to_hash for model
|
|
91
|
-
# api_client = SnapTrade::ApiClient.new
|
|
92
|
-
# _model = SnapTrade::ModelName.new
|
|
93
|
-
# update the model attribute below
|
|
94
|
-
# _model.id = 1
|
|
95
|
-
# update the expected value (hash) below
|
|
96
|
-
# expected = {id: 1, name: '', tags: []}
|
|
97
|
-
# expect(api_client.object_to_hash(_model)).to eq(expected)
|
|
98
|
-
end
|
|
99
|
-
end
|
|
100
|
-
|
|
101
|
-
describe '#build_collection_param' do
|
|
102
|
-
let(:param) { ['aa', 'bb', 'cc'] }
|
|
103
|
-
let(:api_client) { SnapTrade::ApiClient.new }
|
|
104
|
-
|
|
105
|
-
it 'works for csv' do
|
|
106
|
-
expect(api_client.build_collection_param(param, :csv)).to eq('aa,bb,cc')
|
|
107
|
-
end
|
|
108
|
-
|
|
109
|
-
it 'works for ssv' do
|
|
110
|
-
expect(api_client.build_collection_param(param, :ssv)).to eq('aa bb cc')
|
|
111
|
-
end
|
|
112
|
-
|
|
113
|
-
it 'works for tsv' do
|
|
114
|
-
expect(api_client.build_collection_param(param, :tsv)).to eq("aa\tbb\tcc")
|
|
115
|
-
end
|
|
116
|
-
|
|
117
|
-
it 'works for pipes' do
|
|
118
|
-
expect(api_client.build_collection_param(param, :pipes)).to eq('aa|bb|cc')
|
|
119
|
-
end
|
|
120
|
-
|
|
121
|
-
it 'works for multi' do
|
|
122
|
-
expect(api_client.build_collection_param(param, :multi)).to eq(['aa', 'bb', 'cc'])
|
|
123
|
-
end
|
|
124
|
-
|
|
125
|
-
it 'fails for invalid collection format' do
|
|
126
|
-
expect { api_client.build_collection_param(param, :INVALID) }.to raise_error(RuntimeError, 'unknown collection format: :INVALID')
|
|
127
|
-
end
|
|
128
|
-
end
|
|
129
|
-
|
|
130
|
-
describe '#json_mime?' do
|
|
131
|
-
let(:api_client) { SnapTrade::ApiClient.new }
|
|
132
|
-
|
|
133
|
-
it 'works' do
|
|
134
|
-
expect(api_client.json_mime?(nil)).to eq false
|
|
135
|
-
expect(api_client.json_mime?('')).to eq false
|
|
136
|
-
|
|
137
|
-
expect(api_client.json_mime?('application/json')).to eq true
|
|
138
|
-
expect(api_client.json_mime?('application/json; charset=UTF8')).to eq true
|
|
139
|
-
expect(api_client.json_mime?('APPLICATION/JSON')).to eq true
|
|
140
|
-
|
|
141
|
-
expect(api_client.json_mime?('application/xml')).to eq false
|
|
142
|
-
expect(api_client.json_mime?('text/plain')).to eq false
|
|
143
|
-
expect(api_client.json_mime?('application/jsonp')).to eq false
|
|
144
|
-
end
|
|
145
|
-
end
|
|
146
|
-
|
|
147
|
-
describe '#select_header_accept' do
|
|
148
|
-
let(:api_client) { SnapTrade::ApiClient.new }
|
|
149
|
-
|
|
150
|
-
it 'works' do
|
|
151
|
-
expect(api_client.select_header_accept(nil)).to be_nil
|
|
152
|
-
expect(api_client.select_header_accept([])).to be_nil
|
|
153
|
-
|
|
154
|
-
expect(api_client.select_header_accept(['application/json'])).to eq('application/json')
|
|
155
|
-
expect(api_client.select_header_accept(['application/xml', 'application/json; charset=UTF8'])).to eq('application/json; charset=UTF8')
|
|
156
|
-
expect(api_client.select_header_accept(['APPLICATION/JSON', 'text/html'])).to eq('APPLICATION/JSON')
|
|
157
|
-
|
|
158
|
-
expect(api_client.select_header_accept(['application/xml'])).to eq('application/xml')
|
|
159
|
-
expect(api_client.select_header_accept(['text/html', 'application/xml'])).to eq('text/html,application/xml')
|
|
160
|
-
end
|
|
161
|
-
end
|
|
162
|
-
|
|
163
|
-
describe '#select_header_content_type' do
|
|
164
|
-
let(:api_client) { SnapTrade::ApiClient.new }
|
|
165
|
-
|
|
166
|
-
it 'works' do
|
|
167
|
-
expect(api_client.select_header_content_type(nil)).to be_nil
|
|
168
|
-
expect(api_client.select_header_content_type([])).to be_nil
|
|
169
|
-
|
|
170
|
-
expect(api_client.select_header_content_type(['application/json'])).to eq('application/json')
|
|
171
|
-
expect(api_client.select_header_content_type(['application/xml', 'application/json; charset=UTF8'])).to eq('application/json; charset=UTF8')
|
|
172
|
-
expect(api_client.select_header_content_type(['APPLICATION/JSON', 'text/html'])).to eq('APPLICATION/JSON')
|
|
173
|
-
expect(api_client.select_header_content_type(['application/xml'])).to eq('application/xml')
|
|
174
|
-
expect(api_client.select_header_content_type(['text/plain', 'application/xml'])).to eq('text/plain')
|
|
175
|
-
end
|
|
176
|
-
end
|
|
177
|
-
|
|
178
|
-
describe '#sanitize_filename' do
|
|
179
|
-
let(:api_client) { SnapTrade::ApiClient.new }
|
|
180
|
-
|
|
181
|
-
it 'works' do
|
|
182
|
-
expect(api_client.sanitize_filename('sun')).to eq('sun')
|
|
183
|
-
expect(api_client.sanitize_filename('sun.gif')).to eq('sun.gif')
|
|
184
|
-
expect(api_client.sanitize_filename('../sun.gif')).to eq('sun.gif')
|
|
185
|
-
expect(api_client.sanitize_filename('/var/tmp/sun.gif')).to eq('sun.gif')
|
|
186
|
-
expect(api_client.sanitize_filename('./sun.gif')).to eq('sun.gif')
|
|
187
|
-
expect(api_client.sanitize_filename('..\sun.gif')).to eq('sun.gif')
|
|
188
|
-
expect(api_client.sanitize_filename('\var\tmp\sun.gif')).to eq('sun.gif')
|
|
189
|
-
expect(api_client.sanitize_filename('c:\var\tmp\sun.gif')).to eq('sun.gif')
|
|
190
|
-
expect(api_client.sanitize_filename('.\sun.gif')).to eq('sun.gif')
|
|
191
|
-
end
|
|
192
|
-
end
|
|
193
|
-
end
|
|
1
|
+
=begin
|
|
2
|
+
#SnapTrade
|
|
3
|
+
|
|
4
|
+
#Connect brokerage accounts to your app for live positions and trading
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 1.0.0
|
|
7
|
+
Contact: api@snaptrade.com
|
|
8
|
+
|
|
9
|
+
=end
|
|
10
|
+
|
|
11
|
+
require 'spec_helper'
|
|
12
|
+
|
|
13
|
+
describe SnapTrade::ApiClient do
|
|
14
|
+
context 'initialization' do
|
|
15
|
+
context 'URL stuff' do
|
|
16
|
+
context 'host' do
|
|
17
|
+
it 'removes http from host' do
|
|
18
|
+
|
|
19
|
+
configuration = SnapTrade::Configuration.new
|
|
20
|
+
configuration.host = 'http://example.com'
|
|
21
|
+
expect(configuration.host).to eq('example.com')
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
it 'removes https from host' do
|
|
25
|
+
configuration = SnapTrade::Configuration.new
|
|
26
|
+
configuration.host = 'https://wookiee.com'
|
|
27
|
+
expect(configuration.host).to eq('wookiee.com')
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
it 'removes trailing path from host' do
|
|
31
|
+
configuration = SnapTrade::Configuration.new
|
|
32
|
+
configuration.host = 'hello.com/v4'
|
|
33
|
+
expect(configuration.host).to eq('hello.com')
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
context 'base_path' do
|
|
38
|
+
it "prepends a slash to base_path" do
|
|
39
|
+
configuration = SnapTrade::Configuration.new
|
|
40
|
+
configuration.base_path = 'v4/dog'
|
|
41
|
+
expect(configuration.base_path).to eq('/v4/dog')
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
it "doesn't prepend a slash if one is already there" do
|
|
45
|
+
configuration = SnapTrade::Configuration.new
|
|
46
|
+
configuration.base_path = '/v4/dog'
|
|
47
|
+
expect(configuration.base_path).to eq('/v4/dog')
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
it "ends up as a blank string if nil" do
|
|
51
|
+
configuration = SnapTrade::Configuration.new
|
|
52
|
+
configuration.base_path = nil
|
|
53
|
+
expect(configuration.base_path).to eq('')
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
describe '#deserialize' do
|
|
60
|
+
it "handles Array<Integer>" do
|
|
61
|
+
api_client = SnapTrade::ApiClient.new
|
|
62
|
+
headers = { 'Content-Type' => 'application/json' }
|
|
63
|
+
response = double('response', headers: headers, body: '[12, 34]')
|
|
64
|
+
data = api_client.deserialize(response, 'Array<Integer>')
|
|
65
|
+
expect(data).to be_instance_of(Array)
|
|
66
|
+
expect(data).to eq([12, 34])
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
it 'handles Array<Array<Integer>>' do
|
|
70
|
+
api_client = SnapTrade::ApiClient.new
|
|
71
|
+
headers = { 'Content-Type' => 'application/json' }
|
|
72
|
+
response = double('response', headers: headers, body: '[[12, 34], [56]]')
|
|
73
|
+
data = api_client.deserialize(response, 'Array<Array<Integer>>')
|
|
74
|
+
expect(data).to be_instance_of(Array)
|
|
75
|
+
expect(data).to eq([[12, 34], [56]])
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
it 'handles Hash<String, String>' do
|
|
79
|
+
api_client = SnapTrade::ApiClient.new
|
|
80
|
+
headers = { 'Content-Type' => 'application/json' }
|
|
81
|
+
response = double('response', headers: headers, body: '{"message": "Hello"}')
|
|
82
|
+
data = api_client.deserialize(response, 'Hash<String, String>')
|
|
83
|
+
expect(data).to be_instance_of(Hash)
|
|
84
|
+
expect(data).to eq(:message => 'Hello')
|
|
85
|
+
end
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
describe "#object_to_hash" do
|
|
89
|
+
it 'ignores nils and includes empty arrays' do
|
|
90
|
+
# uncomment below to test object_to_hash for model
|
|
91
|
+
# api_client = SnapTrade::ApiClient.new
|
|
92
|
+
# _model = SnapTrade::ModelName.new
|
|
93
|
+
# update the model attribute below
|
|
94
|
+
# _model.id = 1
|
|
95
|
+
# update the expected value (hash) below
|
|
96
|
+
# expected = {id: 1, name: '', tags: []}
|
|
97
|
+
# expect(api_client.object_to_hash(_model)).to eq(expected)
|
|
98
|
+
end
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
describe '#build_collection_param' do
|
|
102
|
+
let(:param) { ['aa', 'bb', 'cc'] }
|
|
103
|
+
let(:api_client) { SnapTrade::ApiClient.new }
|
|
104
|
+
|
|
105
|
+
it 'works for csv' do
|
|
106
|
+
expect(api_client.build_collection_param(param, :csv)).to eq('aa,bb,cc')
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
it 'works for ssv' do
|
|
110
|
+
expect(api_client.build_collection_param(param, :ssv)).to eq('aa bb cc')
|
|
111
|
+
end
|
|
112
|
+
|
|
113
|
+
it 'works for tsv' do
|
|
114
|
+
expect(api_client.build_collection_param(param, :tsv)).to eq("aa\tbb\tcc")
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
it 'works for pipes' do
|
|
118
|
+
expect(api_client.build_collection_param(param, :pipes)).to eq('aa|bb|cc')
|
|
119
|
+
end
|
|
120
|
+
|
|
121
|
+
it 'works for multi' do
|
|
122
|
+
expect(api_client.build_collection_param(param, :multi)).to eq(['aa', 'bb', 'cc'])
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
it 'fails for invalid collection format' do
|
|
126
|
+
expect { api_client.build_collection_param(param, :INVALID) }.to raise_error(RuntimeError, 'unknown collection format: :INVALID')
|
|
127
|
+
end
|
|
128
|
+
end
|
|
129
|
+
|
|
130
|
+
describe '#json_mime?' do
|
|
131
|
+
let(:api_client) { SnapTrade::ApiClient.new }
|
|
132
|
+
|
|
133
|
+
it 'works' do
|
|
134
|
+
expect(api_client.json_mime?(nil)).to eq false
|
|
135
|
+
expect(api_client.json_mime?('')).to eq false
|
|
136
|
+
|
|
137
|
+
expect(api_client.json_mime?('application/json')).to eq true
|
|
138
|
+
expect(api_client.json_mime?('application/json; charset=UTF8')).to eq true
|
|
139
|
+
expect(api_client.json_mime?('APPLICATION/JSON')).to eq true
|
|
140
|
+
|
|
141
|
+
expect(api_client.json_mime?('application/xml')).to eq false
|
|
142
|
+
expect(api_client.json_mime?('text/plain')).to eq false
|
|
143
|
+
expect(api_client.json_mime?('application/jsonp')).to eq false
|
|
144
|
+
end
|
|
145
|
+
end
|
|
146
|
+
|
|
147
|
+
describe '#select_header_accept' do
|
|
148
|
+
let(:api_client) { SnapTrade::ApiClient.new }
|
|
149
|
+
|
|
150
|
+
it 'works' do
|
|
151
|
+
expect(api_client.select_header_accept(nil)).to be_nil
|
|
152
|
+
expect(api_client.select_header_accept([])).to be_nil
|
|
153
|
+
|
|
154
|
+
expect(api_client.select_header_accept(['application/json'])).to eq('application/json')
|
|
155
|
+
expect(api_client.select_header_accept(['application/xml', 'application/json; charset=UTF8'])).to eq('application/json; charset=UTF8')
|
|
156
|
+
expect(api_client.select_header_accept(['APPLICATION/JSON', 'text/html'])).to eq('APPLICATION/JSON')
|
|
157
|
+
|
|
158
|
+
expect(api_client.select_header_accept(['application/xml'])).to eq('application/xml')
|
|
159
|
+
expect(api_client.select_header_accept(['text/html', 'application/xml'])).to eq('text/html,application/xml')
|
|
160
|
+
end
|
|
161
|
+
end
|
|
162
|
+
|
|
163
|
+
describe '#select_header_content_type' do
|
|
164
|
+
let(:api_client) { SnapTrade::ApiClient.new }
|
|
165
|
+
|
|
166
|
+
it 'works' do
|
|
167
|
+
expect(api_client.select_header_content_type(nil)).to be_nil
|
|
168
|
+
expect(api_client.select_header_content_type([])).to be_nil
|
|
169
|
+
|
|
170
|
+
expect(api_client.select_header_content_type(['application/json'])).to eq('application/json')
|
|
171
|
+
expect(api_client.select_header_content_type(['application/xml', 'application/json; charset=UTF8'])).to eq('application/json; charset=UTF8')
|
|
172
|
+
expect(api_client.select_header_content_type(['APPLICATION/JSON', 'text/html'])).to eq('APPLICATION/JSON')
|
|
173
|
+
expect(api_client.select_header_content_type(['application/xml'])).to eq('application/xml')
|
|
174
|
+
expect(api_client.select_header_content_type(['text/plain', 'application/xml'])).to eq('text/plain')
|
|
175
|
+
end
|
|
176
|
+
end
|
|
177
|
+
|
|
178
|
+
describe '#sanitize_filename' do
|
|
179
|
+
let(:api_client) { SnapTrade::ApiClient.new }
|
|
180
|
+
|
|
181
|
+
it 'works' do
|
|
182
|
+
expect(api_client.sanitize_filename('sun')).to eq('sun')
|
|
183
|
+
expect(api_client.sanitize_filename('sun.gif')).to eq('sun.gif')
|
|
184
|
+
expect(api_client.sanitize_filename('../sun.gif')).to eq('sun.gif')
|
|
185
|
+
expect(api_client.sanitize_filename('/var/tmp/sun.gif')).to eq('sun.gif')
|
|
186
|
+
expect(api_client.sanitize_filename('./sun.gif')).to eq('sun.gif')
|
|
187
|
+
expect(api_client.sanitize_filename('..\sun.gif')).to eq('sun.gif')
|
|
188
|
+
expect(api_client.sanitize_filename('\var\tmp\sun.gif')).to eq('sun.gif')
|
|
189
|
+
expect(api_client.sanitize_filename('c:\var\tmp\sun.gif')).to eq('sun.gif')
|
|
190
|
+
expect(api_client.sanitize_filename('.\sun.gif')).to eq('sun.gif')
|
|
191
|
+
end
|
|
192
|
+
end
|
|
193
|
+
end
|
data/spec/configuration_spec.rb
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
=begin
|
|
2
|
-
#SnapTrade
|
|
3
|
-
|
|
4
|
-
#Connect brokerage accounts to your app for live positions and trading
|
|
5
|
-
|
|
6
|
-
The version of the OpenAPI document: 1.0.0
|
|
7
|
-
Contact: api@snaptrade.com
|
|
2
|
+
#SnapTrade
|
|
3
|
+
|
|
4
|
+
#Connect brokerage accounts to your app for live positions and trading
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 1.0.0
|
|
7
|
+
Contact: api@snaptrade.com
|
|
8
8
|
|
|
9
9
|
=end
|
|
10
10
|
|