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,144 +1,108 @@
|
|
|
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
|
-
require 'securerandom'
|
|
14
|
-
require 'debug'
|
|
15
|
-
|
|
16
|
-
# Unit tests for SnapTrade::APIStatusApi
|
|
17
|
-
describe 'GettingStarted' do
|
|
18
|
-
before do
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
after do
|
|
22
|
-
# run after each test
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
describe 'non
|
|
26
|
-
it 'should
|
|
27
|
-
configuration = SnapTrade::Configuration.new
|
|
28
|
-
configuration.client_id = ENV["SNAPTRADE_CLIENT_ID"]
|
|
29
|
-
configuration.consumer_key = ENV["SNAPTRADE_CONSUMER_KEY"]
|
|
30
|
-
configuration.host = "http://127.0.0.1:4010"
|
|
31
|
-
snaptrade = SnapTrade::Client.new(configuration)
|
|
32
|
-
|
|
33
|
-
data = snaptrade.
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
puts
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
)
|
|
95
|
-
|
|
96
|
-
puts
|
|
97
|
-
|
|
98
|
-
# 5) Obtaining account holdings data
|
|
99
|
-
holdings =
|
|
100
|
-
puts holdings
|
|
101
|
-
|
|
102
|
-
# 6) Deleting a user
|
|
103
|
-
deleted_response =
|
|
104
|
-
puts deleted_response
|
|
105
|
-
end
|
|
106
|
-
end
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
it 'should work' do
|
|
110
|
-
# 1) Setup
|
|
111
|
-
configuration = SnapTrade::Configuration.new
|
|
112
|
-
configuration.client_id = ENV["SNAPTRADE_CLIENT_ID"]
|
|
113
|
-
configuration.consumer_key = ENV["SNAPTRADE_CONSUMER_KEY"]
|
|
114
|
-
snaptrade = SnapTrade::Client.new(configuration)
|
|
115
|
-
|
|
116
|
-
# 2) Check that the client is able to make a request to the API server.
|
|
117
|
-
response = snaptrade.api_status.check()
|
|
118
|
-
expect(response).not_to be_nil
|
|
119
|
-
puts response
|
|
120
|
-
|
|
121
|
-
# 3) Create a new user
|
|
122
|
-
user_id = SecureRandom.uuid
|
|
123
|
-
response = snaptrade.authentication.register_snap_trade_user(user_id: user_id)
|
|
124
|
-
puts response
|
|
125
|
-
|
|
126
|
-
# 4) Get a redirect URI
|
|
127
|
-
redirect_uri = snaptrade.authentication.login_snap_trade_user(user_id: user_id, user_secret: response.user_secret)
|
|
128
|
-
puts redirect_uri
|
|
129
|
-
|
|
130
|
-
snaptrade.portfolio_management.create(user_id: user_id, user_secret: response.user_secret, id: SecureRandom.uuid, name: "MyPortfolio")
|
|
131
|
-
portfolios = snaptrade.portfolio_management.list(user_id: user_id, user_secret: response.user_secret)
|
|
132
|
-
puts portfolios
|
|
133
|
-
|
|
134
|
-
# 5) Obtaining account holdings data
|
|
135
|
-
holdings = snaptrade.account_information.get_all_user_holdings(user_id: user_id, user_secret: response.user_secret)
|
|
136
|
-
puts holdings
|
|
137
|
-
|
|
138
|
-
# 6) Deleting a user
|
|
139
|
-
deleted_response = snaptrade.authentication.delete_snap_trade_user(user_id: user_id)
|
|
140
|
-
puts deleted_response
|
|
141
|
-
end
|
|
142
|
-
end
|
|
143
|
-
|
|
144
|
-
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
|
+
require 'securerandom'
|
|
14
|
+
require 'debug'
|
|
15
|
+
|
|
16
|
+
# Unit tests for SnapTrade::APIStatusApi
|
|
17
|
+
describe 'GettingStarted' do
|
|
18
|
+
before do
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
after do
|
|
22
|
+
# run after each test
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
describe 'optional non body parameters should be passed' do
|
|
26
|
+
it 'should pass' do
|
|
27
|
+
configuration = SnapTrade::Configuration.new
|
|
28
|
+
configuration.client_id = ENV["SNAPTRADE_CLIENT_ID"]
|
|
29
|
+
configuration.consumer_key = ENV["SNAPTRADE_CONSUMER_KEY"]
|
|
30
|
+
configuration.host = "http://127.0.0.1:4010"
|
|
31
|
+
snaptrade = SnapTrade::Client.new(configuration)
|
|
32
|
+
|
|
33
|
+
data, status_code, headers, response = snaptrade.account_information.get_user_account_orders_with_http_info(
|
|
34
|
+
user_id: "a",
|
|
35
|
+
user_secret: "b",
|
|
36
|
+
account_id: SecureRandom.uuid,
|
|
37
|
+
state: "all"
|
|
38
|
+
)
|
|
39
|
+
puts data
|
|
40
|
+
expect(response.env.url.query).to include("state=all")
|
|
41
|
+
expect(data).not_to be_nil
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
# integration test for getting started flow
|
|
46
|
+
describe 'getting started flow static pattern' do
|
|
47
|
+
it 'should work' do
|
|
48
|
+
# 1) Setup
|
|
49
|
+
SnapTrade.client_id = ENV["SNAPTRADE_CLIENT_ID"]
|
|
50
|
+
SnapTrade.consumer_key = ENV["SNAPTRADE_CONSUMER_KEY"]
|
|
51
|
+
|
|
52
|
+
# 2) Check API Status
|
|
53
|
+
response = SnapTrade::APIStatus.check()
|
|
54
|
+
expect(response).not_to be_nil
|
|
55
|
+
puts response
|
|
56
|
+
|
|
57
|
+
# 3) Create a new user
|
|
58
|
+
user_id = SecureRandom.uuid
|
|
59
|
+
response = SnapTrade::Authentication.register_snap_trade_user(user_id: user_id)
|
|
60
|
+
puts response
|
|
61
|
+
|
|
62
|
+
# 4) Get a redirect URI
|
|
63
|
+
redirect_uri = SnapTrade::Authentication.login_snap_trade_user(user_id: user_id, user_secret: response.user_secret)
|
|
64
|
+
puts redirect_uri
|
|
65
|
+
|
|
66
|
+
# 5) Obtaining account holdings data
|
|
67
|
+
holdings = SnapTrade::AccountInformation.get_all_user_holdings(user_id: user_id, user_secret: response.user_secret)
|
|
68
|
+
puts holdings
|
|
69
|
+
|
|
70
|
+
# 6) Deleting a user
|
|
71
|
+
deleted_response = SnapTrade::Authentication.delete_snap_trade_user(user_id: user_id)
|
|
72
|
+
puts deleted_response
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
describe 'getting started flow instance patern' do
|
|
77
|
+
it 'should work' do
|
|
78
|
+
# 1) Setup
|
|
79
|
+
configuration = SnapTrade::Configuration.new
|
|
80
|
+
configuration.client_id = ENV["SNAPTRADE_CLIENT_ID"]
|
|
81
|
+
configuration.consumer_key = ENV["SNAPTRADE_CONSUMER_KEY"]
|
|
82
|
+
snaptrade = SnapTrade::Client.new(configuration)
|
|
83
|
+
|
|
84
|
+
# 2) Check that the client is able to make a request to the API server.
|
|
85
|
+
response = snaptrade.api_status.check()
|
|
86
|
+
expect(response).not_to be_nil
|
|
87
|
+
puts response
|
|
88
|
+
|
|
89
|
+
# 3) Create a new user
|
|
90
|
+
user_id = SecureRandom.uuid
|
|
91
|
+
response = snaptrade.authentication.register_snap_trade_user(user_id: user_id)
|
|
92
|
+
puts response
|
|
93
|
+
|
|
94
|
+
# 4) Get a redirect URI
|
|
95
|
+
redirect_uri = snaptrade.authentication.login_snap_trade_user(user_id: user_id, user_secret: response.user_secret)
|
|
96
|
+
puts redirect_uri
|
|
97
|
+
|
|
98
|
+
# 5) Obtaining account holdings data
|
|
99
|
+
holdings = snaptrade.account_information.get_all_user_holdings(user_id: user_id, user_secret: response.user_secret)
|
|
100
|
+
puts holdings
|
|
101
|
+
|
|
102
|
+
# 6) Deleting a user
|
|
103
|
+
deleted_response = snaptrade.authentication.delete_snap_trade_user(user_id: user_id)
|
|
104
|
+
puts deleted_response
|
|
105
|
+
end
|
|
106
|
+
end
|
|
107
|
+
|
|
108
|
+
end
|
|
@@ -1,54 +1,54 @@
|
|
|
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
|
-
require 'date'
|
|
14
|
-
|
|
15
|
-
# Unit tests for SnapTrade::AccountHoldingsAccount
|
|
16
|
-
describe SnapTrade::AccountHoldingsAccount do
|
|
17
|
-
let(:instance) { SnapTrade::AccountHoldingsAccount.new }
|
|
18
|
-
|
|
19
|
-
describe 'test an instance of AccountHoldingsAccount' do
|
|
20
|
-
it 'should create an instance of AccountHoldingsAccount' do
|
|
21
|
-
expect(instance).to be_instance_of(SnapTrade::AccountHoldingsAccount)
|
|
22
|
-
end
|
|
23
|
-
end
|
|
24
|
-
describe 'test attribute "account"' do
|
|
25
|
-
it 'should work' do
|
|
26
|
-
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
27
|
-
end
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
describe 'test attribute "balances"' do
|
|
31
|
-
it 'should work' do
|
|
32
|
-
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
33
|
-
end
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
describe 'test attribute "positions"' do
|
|
37
|
-
it 'should work' do
|
|
38
|
-
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
39
|
-
end
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
describe 'test attribute "orders"' do
|
|
43
|
-
it 'should work' do
|
|
44
|
-
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
45
|
-
end
|
|
46
|
-
end
|
|
47
|
-
|
|
48
|
-
describe 'test attribute "total_value"' do
|
|
49
|
-
it 'should work' do
|
|
50
|
-
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
51
|
-
end
|
|
52
|
-
end
|
|
53
|
-
|
|
54
|
-
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
|
+
require 'date'
|
|
14
|
+
|
|
15
|
+
# Unit tests for SnapTrade::AccountHoldingsAccount
|
|
16
|
+
describe SnapTrade::AccountHoldingsAccount do
|
|
17
|
+
let(:instance) { SnapTrade::AccountHoldingsAccount.new }
|
|
18
|
+
|
|
19
|
+
describe 'test an instance of AccountHoldingsAccount' do
|
|
20
|
+
it 'should create an instance of AccountHoldingsAccount' do
|
|
21
|
+
expect(instance).to be_instance_of(SnapTrade::AccountHoldingsAccount)
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
describe 'test attribute "account"' do
|
|
25
|
+
it 'should work' do
|
|
26
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
describe 'test attribute "balances"' do
|
|
31
|
+
it 'should work' do
|
|
32
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
describe 'test attribute "positions"' do
|
|
37
|
+
it 'should work' do
|
|
38
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
describe 'test attribute "orders"' do
|
|
43
|
+
it 'should work' do
|
|
44
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
describe 'test attribute "total_value"' do
|
|
49
|
+
it 'should work' do
|
|
50
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
end
|
|
@@ -1,48 +1,48 @@
|
|
|
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
|
-
require 'date'
|
|
14
|
-
|
|
15
|
-
# Unit tests for SnapTrade::AccountHoldings
|
|
16
|
-
describe SnapTrade::AccountHoldings do
|
|
17
|
-
let(:instance) { SnapTrade::AccountHoldings.new }
|
|
18
|
-
|
|
19
|
-
describe 'test an instance of AccountHoldings' do
|
|
20
|
-
it 'should create an instance of AccountHoldings' do
|
|
21
|
-
expect(instance).to be_instance_of(SnapTrade::AccountHoldings)
|
|
22
|
-
end
|
|
23
|
-
end
|
|
24
|
-
describe 'test attribute "account"' do
|
|
25
|
-
it 'should work' do
|
|
26
|
-
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
27
|
-
end
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
describe 'test attribute "balances"' do
|
|
31
|
-
it 'should work' do
|
|
32
|
-
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
33
|
-
end
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
describe 'test attribute "positions"' do
|
|
37
|
-
it 'should work' do
|
|
38
|
-
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
39
|
-
end
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
describe 'test attribute "total_value"' do
|
|
43
|
-
it 'should work' do
|
|
44
|
-
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
45
|
-
end
|
|
46
|
-
end
|
|
47
|
-
|
|
48
|
-
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
|
+
require 'date'
|
|
14
|
+
|
|
15
|
+
# Unit tests for SnapTrade::AccountHoldings
|
|
16
|
+
describe SnapTrade::AccountHoldings do
|
|
17
|
+
let(:instance) { SnapTrade::AccountHoldings.new }
|
|
18
|
+
|
|
19
|
+
describe 'test an instance of AccountHoldings' do
|
|
20
|
+
it 'should create an instance of AccountHoldings' do
|
|
21
|
+
expect(instance).to be_instance_of(SnapTrade::AccountHoldings)
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
describe 'test attribute "account"' do
|
|
25
|
+
it 'should work' do
|
|
26
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
describe 'test attribute "balances"' do
|
|
31
|
+
it 'should work' do
|
|
32
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
describe 'test attribute "positions"' do
|
|
37
|
+
it 'should work' do
|
|
38
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
describe 'test attribute "total_value"' do
|
|
43
|
+
it 'should work' do
|
|
44
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
end
|