snaptrade 1.16.2 → 1.16.3

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.
Files changed (309) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +10 -10
  3. data/Gemfile.lock +16 -8
  4. data/README.md +222 -221
  5. data/docs/APIStatusApi.md +57 -57
  6. data/docs/AccountInformationApi.md +535 -535
  7. data/docs/AuthenticationApi.md +314 -314
  8. data/docs/BrokerageSymbolOptionSymbol.md +7 -5
  9. data/docs/ConnectionsApi.md +265 -265
  10. data/docs/ErrorLogsApi.md +68 -68
  11. data/docs/MonthlyDividends.md +1 -1
  12. data/docs/NetContributions.md +1 -1
  13. data/docs/OptionType.md +15 -0
  14. data/docs/OptionsApi.md +378 -378
  15. data/docs/OptionsSymbol.md +7 -5
  16. data/docs/PastValue.md +1 -1
  17. data/docs/ReferenceDataApi.md +595 -595
  18. data/docs/SubPeriodReturnRate.md +2 -2
  19. data/docs/TradingApi.md +478 -478
  20. data/docs/TransactionsAndReportingApi.md +183 -183
  21. data/docs/TransactionsStatus.md +1 -1
  22. data/lib/snaptrade/api/account_information_api.rb +801 -801
  23. data/lib/snaptrade/api/api_status_api.rb +98 -98
  24. data/lib/snaptrade/api/authentication_api.rb +481 -481
  25. data/lib/snaptrade/api/connections_api.rb +398 -398
  26. data/lib/snaptrade/api/error_logs_api.rb +112 -112
  27. data/lib/snaptrade/api/options_api.rb +591 -591
  28. data/lib/snaptrade/api/reference_data_api.rb +894 -894
  29. data/lib/snaptrade/api/trading_api.rb +741 -741
  30. data/lib/snaptrade/api/transactions_and_reporting_api.rb +283 -283
  31. data/lib/snaptrade/api_client.rb +427 -427
  32. data/lib/snaptrade/api_client_custom.rb +32 -32
  33. data/lib/snaptrade/api_error.rb +6 -6
  34. data/lib/snaptrade/configuration.rb +341 -341
  35. data/lib/snaptrade/models/account.rb +6 -6
  36. data/lib/snaptrade/models/account_holdings.rb +6 -6
  37. data/lib/snaptrade/models/account_holdings_account.rb +6 -6
  38. data/lib/snaptrade/models/account_order_record.rb +6 -6
  39. data/lib/snaptrade/models/account_order_record_status.rb +6 -6
  40. data/lib/snaptrade/models/account_simple.rb +6 -6
  41. data/lib/snaptrade/models/account_sync_status.rb +6 -6
  42. data/lib/snaptrade/models/action.rb +6 -6
  43. data/lib/snaptrade/models/auth_type.rb +6 -6
  44. data/lib/snaptrade/models/authentication_login_snap_trade_user200_response.rb +6 -6
  45. data/lib/snaptrade/models/balance.rb +6 -6
  46. data/lib/snaptrade/models/brokerage.rb +6 -6
  47. data/lib/snaptrade/models/brokerage_authorization.rb +6 -6
  48. data/lib/snaptrade/models/brokerage_authorization_type.rb +6 -6
  49. data/lib/snaptrade/models/brokerage_authorization_type_read_only.rb +6 -6
  50. data/lib/snaptrade/models/brokerage_authorization_type_read_only_brokerage.rb +6 -6
  51. data/lib/snaptrade/models/brokerage_authorization_type_read_only_type.rb +6 -6
  52. data/lib/snaptrade/models/brokerage_authorization_type_type.rb +6 -6
  53. data/lib/snaptrade/models/brokerage_symbol.rb +6 -6
  54. data/lib/snaptrade/models/brokerage_symbol_option_symbol.rb +46 -7
  55. data/lib/snaptrade/models/brokerage_symbol_symbol.rb +6 -6
  56. data/lib/snaptrade/models/brokerage_type.rb +6 -6
  57. data/lib/snaptrade/models/calculated_trade.rb +6 -6
  58. data/lib/snaptrade/models/cash_restriction.rb +6 -6
  59. data/lib/snaptrade/models/connection_type.rb +6 -6
  60. data/lib/snaptrade/models/connections_session_events200_response_inner.rb +6 -6
  61. data/lib/snaptrade/models/currency.rb +6 -6
  62. data/lib/snaptrade/models/delete_user_response.rb +6 -6
  63. data/lib/snaptrade/models/dividend_at_date.rb +6 -6
  64. data/lib/snaptrade/models/encrypted_response.rb +6 -6
  65. data/lib/snaptrade/models/encrypted_response_encrypted_message_data.rb +6 -6
  66. data/lib/snaptrade/models/exchange.rb +6 -6
  67. data/lib/snaptrade/models/exchange_rate_pairs.rb +6 -6
  68. data/lib/snaptrade/models/excluded_asset.rb +6 -6
  69. data/lib/snaptrade/models/jwt.rb +6 -6
  70. data/lib/snaptrade/models/login_redirect_uri.rb +6 -6
  71. data/lib/snaptrade/models/manual_trade.rb +6 -6
  72. data/lib/snaptrade/models/manual_trade_and_impact.rb +6 -6
  73. data/lib/snaptrade/models/manual_trade_balance.rb +6 -6
  74. data/lib/snaptrade/models/manual_trade_form.rb +6 -6
  75. data/lib/snaptrade/models/manual_trade_symbol.rb +6 -6
  76. data/lib/snaptrade/models/model400_failed_request_response.rb +6 -6
  77. data/lib/snaptrade/models/model401_failed_request_response.rb +6 -6
  78. data/lib/snaptrade/models/model403_failed_request_response.rb +6 -6
  79. data/lib/snaptrade/models/model404_failed_request_response.rb +6 -6
  80. data/lib/snaptrade/models/model_asset_class.rb +6 -6
  81. data/lib/snaptrade/models/model_asset_class_details.rb +6 -6
  82. data/lib/snaptrade/models/model_asset_class_target.rb +6 -6
  83. data/lib/snaptrade/models/model_portfolio.rb +6 -6
  84. data/lib/snaptrade/models/model_portfolio_asset_class.rb +6 -6
  85. data/lib/snaptrade/models/model_portfolio_details.rb +6 -6
  86. data/lib/snaptrade/models/model_portfolio_security.rb +6 -6
  87. data/lib/snaptrade/models/model_type.rb +6 -6
  88. data/lib/snaptrade/models/monthly_dividends.rb +6 -6
  89. data/lib/snaptrade/models/net_contributions.rb +6 -6
  90. data/lib/snaptrade/models/net_dividend.rb +6 -6
  91. data/lib/snaptrade/models/option_chain_inner.rb +6 -6
  92. data/lib/snaptrade/models/option_chain_inner_chain_per_root_inner.rb +6 -6
  93. data/lib/snaptrade/models/option_chain_inner_chain_per_root_inner_chain_per_strike_price_inner.rb +6 -6
  94. data/lib/snaptrade/models/option_leg.rb +6 -6
  95. data/lib/snaptrade/models/option_leg_action.rb +6 -6
  96. data/lib/snaptrade/models/option_strategy.rb +6 -6
  97. data/lib/snaptrade/models/option_strategy_legs_inner.rb +6 -6
  98. data/lib/snaptrade/models/option_type.rb +38 -0
  99. data/lib/snaptrade/models/options_get_option_strategy_request.rb +6 -6
  100. data/lib/snaptrade/models/options_holdings.rb +6 -6
  101. data/lib/snaptrade/models/options_place_option_strategy_request.rb +6 -6
  102. data/lib/snaptrade/models/options_position.rb +6 -6
  103. data/lib/snaptrade/models/options_position_currency.rb +6 -6
  104. data/lib/snaptrade/models/options_symbol.rb +46 -7
  105. data/lib/snaptrade/models/order_strategy_execute_body_order_type.rb +6 -6
  106. data/lib/snaptrade/models/order_strategy_execute_body_time_in_force.rb +6 -6
  107. data/lib/snaptrade/models/order_type.rb +6 -6
  108. data/lib/snaptrade/models/partner_data.rb +6 -6
  109. data/lib/snaptrade/models/past_value.rb +6 -6
  110. data/lib/snaptrade/models/performance_custom.rb +6 -6
  111. data/lib/snaptrade/models/portfolio_group.rb +6 -6
  112. data/lib/snaptrade/models/portfolio_group_info.rb +6 -6
  113. data/lib/snaptrade/models/portfolio_group_position.rb +6 -6
  114. data/lib/snaptrade/models/portfolio_group_settings.rb +6 -6
  115. data/lib/snaptrade/models/position.rb +6 -6
  116. data/lib/snaptrade/models/position_symbol.rb +6 -6
  117. data/lib/snaptrade/models/redirect_tokenand_pin.rb +6 -6
  118. data/lib/snaptrade/models/security_type.rb +6 -6
  119. data/lib/snaptrade/models/session_event.rb +6 -6
  120. data/lib/snaptrade/models/session_event_type.rb +6 -6
  121. data/lib/snaptrade/models/snap_trade_api_disclaimer_accept_status.rb +6 -6
  122. data/lib/snaptrade/models/snap_trade_holdings_account.rb +6 -6
  123. data/lib/snaptrade/models/snap_trade_holdings_account_account_id.rb +6 -6
  124. data/lib/snaptrade/models/snap_trade_holdings_total_value.rb +6 -6
  125. data/lib/snaptrade/models/snap_trade_login_user_request_body.rb +6 -6
  126. data/lib/snaptrade/models/snap_trade_register_user_request_body.rb +6 -6
  127. data/lib/snaptrade/models/state.rb +6 -6
  128. data/lib/snaptrade/models/status.rb +6 -6
  129. data/lib/snaptrade/models/strategy_impact.rb +6 -6
  130. data/lib/snaptrade/models/strategy_impact_legs_inner.rb +6 -6
  131. data/lib/snaptrade/models/strategy_order_place.rb +6 -6
  132. data/lib/snaptrade/models/strategy_order_place_orders_inner.rb +6 -6
  133. data/lib/snaptrade/models/strategy_order_place_orders_inner_legs_inner.rb +6 -6
  134. data/lib/snaptrade/models/strategy_order_record.rb +6 -6
  135. data/lib/snaptrade/models/strategy_order_record_order_type.rb +6 -6
  136. data/lib/snaptrade/models/strategy_order_record_status.rb +6 -6
  137. data/lib/snaptrade/models/strategy_order_record_time_in_force.rb +6 -6
  138. data/lib/snaptrade/models/strategy_quotes.rb +6 -6
  139. data/lib/snaptrade/models/strategy_quotes_greek.rb +6 -6
  140. data/lib/snaptrade/models/strategy_type.rb +6 -6
  141. data/lib/snaptrade/models/sub_period_return_rate.rb +6 -6
  142. data/lib/snaptrade/models/symbol.rb +6 -6
  143. data/lib/snaptrade/models/symbol_query.rb +6 -6
  144. data/lib/snaptrade/models/symbols_quotes_inner.rb +6 -6
  145. data/lib/snaptrade/models/target_asset.rb +6 -6
  146. data/lib/snaptrade/models/time_in_force.rb +6 -6
  147. data/lib/snaptrade/models/trade.rb +6 -6
  148. data/lib/snaptrade/models/trade_action.rb +6 -6
  149. data/lib/snaptrade/models/trade_execution_status.rb +6 -6
  150. data/lib/snaptrade/models/trade_execution_status_action.rb +6 -6
  151. data/lib/snaptrade/models/trade_impact.rb +6 -6
  152. data/lib/snaptrade/models/trading_cancel_user_account_order_request.rb +6 -6
  153. data/lib/snaptrade/models/trading_place_oco_order_request.rb +6 -6
  154. data/lib/snaptrade/models/transactions_status.rb +6 -6
  155. data/lib/snaptrade/models/type.rb +6 -6
  156. data/lib/snaptrade/models/underlying_symbol.rb +6 -6
  157. data/lib/snaptrade/models/universal_activity.rb +6 -6
  158. data/lib/snaptrade/models/universal_symbol.rb +6 -6
  159. data/lib/snaptrade/models/universal_symbol_ticker.rb +6 -6
  160. data/lib/snaptrade/models/us_exchange.rb +6 -6
  161. data/lib/snaptrade/models/user_error_log.rb +6 -6
  162. data/lib/snaptrade/models/user_i_dand_secret.rb +6 -6
  163. data/lib/snaptrade/models/user_settings.rb +6 -6
  164. data/lib/snaptrade/version.rb +7 -7
  165. data/lib/snaptrade.rb +215 -214
  166. data/snaptrade.gemspec +41 -41
  167. data/spec/api/account_information_api_spec.rb +135 -135
  168. data/spec/api/api_status_api_spec.rb +42 -42
  169. data/spec/api/authentication_api_spec.rb +88 -88
  170. data/spec/api/connections_api_spec.rb +82 -82
  171. data/spec/api/error_logs_api_spec.rb +43 -43
  172. data/spec/api/options_api_spec.rb +101 -101
  173. data/spec/api/reference_data_api_spec.rb +150 -150
  174. data/spec/api/trading_api_spec.rb +112 -112
  175. data/spec/api/transactions_and_reporting_api_spec.rb +67 -67
  176. data/spec/api_client_spec.rb +193 -193
  177. data/spec/configuration_spec.rb +6 -6
  178. data/spec/getting_started_spec.rb +114 -114
  179. data/spec/models/account_holdings_account_spec.rb +54 -54
  180. data/spec/models/account_holdings_spec.rb +48 -48
  181. data/spec/models/account_order_record_spec.rb +132 -132
  182. data/spec/models/account_order_record_status_spec.rb +24 -24
  183. data/spec/models/account_simple_spec.rb +48 -48
  184. data/spec/models/account_spec.rb +84 -84
  185. data/spec/models/account_sync_status_spec.rb +30 -30
  186. data/spec/models/action_spec.rb +24 -24
  187. data/spec/models/auth_type_spec.rb +24 -24
  188. data/spec/models/authentication_login_snap_trade_user200_response_spec.rb +27 -27
  189. data/spec/models/balance_spec.rb +36 -36
  190. data/spec/models/brokerage_authorization_spec.rb +78 -78
  191. data/spec/models/brokerage_authorization_type_read_only_brokerage_spec.rb +42 -42
  192. data/spec/models/brokerage_authorization_type_read_only_spec.rb +48 -48
  193. data/spec/models/brokerage_authorization_type_read_only_type_spec.rb +24 -24
  194. data/spec/models/brokerage_authorization_type_spec.rb +30 -30
  195. data/spec/models/brokerage_authorization_type_type_spec.rb +24 -24
  196. data/spec/models/brokerage_spec.rb +132 -132
  197. data/spec/models/brokerage_symbol_option_symbol_spec.rb +78 -72
  198. data/spec/models/brokerage_symbol_spec.rb +60 -60
  199. data/spec/models/brokerage_symbol_symbol_spec.rb +72 -72
  200. data/spec/models/brokerage_type_spec.rb +36 -36
  201. data/spec/models/calculated_trade_spec.rb +36 -36
  202. data/spec/models/cash_restriction_spec.rb +54 -54
  203. data/spec/models/connection_type_spec.rb +24 -24
  204. data/spec/models/connections_session_events200_response_inner_spec.rb +66 -66
  205. data/spec/models/currency_spec.rb +42 -42
  206. data/spec/models/delete_user_response_spec.rb +36 -36
  207. data/spec/models/dividend_at_date_spec.rb +42 -42
  208. data/spec/models/encrypted_response_encrypted_message_data_spec.rb +42 -42
  209. data/spec/models/encrypted_response_spec.rb +36 -36
  210. data/spec/models/exchange_rate_pairs_spec.rb +42 -42
  211. data/spec/models/exchange_spec.rb +72 -72
  212. data/spec/models/excluded_asset_spec.rb +30 -30
  213. data/spec/models/jwt_spec.rb +30 -30
  214. data/spec/models/login_redirect_uri_spec.rb +36 -36
  215. data/spec/models/manual_trade_and_impact_spec.rb +42 -42
  216. data/spec/models/manual_trade_balance_spec.rb +42 -42
  217. data/spec/models/manual_trade_form_spec.rb +72 -72
  218. data/spec/models/manual_trade_spec.rb +72 -72
  219. data/spec/models/manual_trade_symbol_spec.rb +60 -60
  220. data/spec/models/model400_failed_request_response_spec.rb +36 -36
  221. data/spec/models/model401_failed_request_response_spec.rb +36 -36
  222. data/spec/models/model403_failed_request_response_spec.rb +36 -36
  223. data/spec/models/model404_failed_request_response_spec.rb +36 -36
  224. data/spec/models/model_asset_class_details_spec.rb +36 -36
  225. data/spec/models/model_asset_class_spec.rb +36 -36
  226. data/spec/models/model_asset_class_target_spec.rb +30 -30
  227. data/spec/models/model_portfolio_asset_class_spec.rb +36 -36
  228. data/spec/models/model_portfolio_details_spec.rb +42 -42
  229. data/spec/models/model_portfolio_security_spec.rb +36 -36
  230. data/spec/models/model_portfolio_spec.rb +42 -42
  231. data/spec/models/model_type_spec.rb +24 -24
  232. data/spec/models/monthly_dividends_spec.rb +36 -36
  233. data/spec/models/net_contributions_spec.rb +42 -42
  234. data/spec/models/net_dividend_spec.rb +42 -42
  235. data/spec/models/option_chain_inner_chain_per_root_inner_chain_per_strike_price_inner_spec.rb +42 -42
  236. data/spec/models/option_chain_inner_chain_per_root_inner_spec.rb +42 -42
  237. data/spec/models/option_chain_inner_spec.rb +54 -54
  238. data/spec/models/option_leg_action_spec.rb +24 -24
  239. data/spec/models/option_leg_spec.rb +42 -42
  240. data/spec/models/option_strategy_legs_inner_spec.rb +48 -48
  241. data/spec/models/option_strategy_spec.rb +54 -54
  242. data/spec/models/option_type_spec.rb +24 -0
  243. data/spec/models/options_get_option_strategy_request_spec.rb +42 -42
  244. data/spec/models/options_holdings_spec.rb +60 -60
  245. data/spec/models/options_place_option_strategy_request_spec.rb +42 -42
  246. data/spec/models/options_position_currency_spec.rb +42 -42
  247. data/spec/models/options_position_spec.rb +66 -66
  248. data/spec/models/options_symbol_spec.rb +78 -72
  249. data/spec/models/order_strategy_execute_body_order_type_spec.rb +24 -24
  250. data/spec/models/order_strategy_execute_body_time_in_force_spec.rb +24 -24
  251. data/spec/models/order_type_spec.rb +24 -24
  252. data/spec/models/partner_data_spec.rb +96 -96
  253. data/spec/models/past_value_spec.rb +42 -42
  254. data/spec/models/performance_custom_spec.rb +138 -138
  255. data/spec/models/portfolio_group_info_spec.rb +90 -90
  256. data/spec/models/portfolio_group_position_spec.rb +42 -42
  257. data/spec/models/portfolio_group_settings_spec.rb +54 -54
  258. data/spec/models/portfolio_group_spec.rb +36 -36
  259. data/spec/models/position_spec.rb +60 -60
  260. data/spec/models/position_symbol_spec.rb +60 -60
  261. data/spec/models/redirect_tokenand_pin_spec.rb +36 -36
  262. data/spec/models/security_type_spec.rb +48 -48
  263. data/spec/models/session_event_spec.rb +66 -66
  264. data/spec/models/session_event_type_spec.rb +24 -24
  265. data/spec/models/snap_trade_api_disclaimer_accept_status_spec.rb +36 -36
  266. data/spec/models/snap_trade_holdings_account_account_id_spec.rb +78 -78
  267. data/spec/models/snap_trade_holdings_account_spec.rb +72 -72
  268. data/spec/models/snap_trade_holdings_total_value_spec.rb +36 -36
  269. data/spec/models/snap_trade_login_user_request_body_spec.rb +54 -54
  270. data/spec/models/snap_trade_register_user_request_body_spec.rb +36 -36
  271. data/spec/models/state_spec.rb +24 -24
  272. data/spec/models/status_spec.rb +42 -42
  273. data/spec/models/strategy_impact_legs_inner_spec.rb +66 -66
  274. data/spec/models/strategy_impact_spec.rb +90 -90
  275. data/spec/models/strategy_order_place_orders_inner_legs_inner_spec.rb +66 -66
  276. data/spec/models/strategy_order_place_orders_inner_spec.rb +282 -282
  277. data/spec/models/strategy_order_place_spec.rb +36 -36
  278. data/spec/models/strategy_order_record_order_type_spec.rb +24 -24
  279. data/spec/models/strategy_order_record_spec.rb +90 -90
  280. data/spec/models/strategy_order_record_status_spec.rb +24 -24
  281. data/spec/models/strategy_order_record_time_in_force_spec.rb +24 -24
  282. data/spec/models/strategy_quotes_greek_spec.rb +54 -54
  283. data/spec/models/strategy_quotes_spec.rb +60 -60
  284. data/spec/models/strategy_type_spec.rb +24 -24
  285. data/spec/models/sub_period_return_rate_spec.rb +42 -42
  286. data/spec/models/symbol_query_spec.rb +30 -30
  287. data/spec/models/symbol_spec.rb +66 -66
  288. data/spec/models/symbols_quotes_inner_spec.rb +60 -60
  289. data/spec/models/target_asset_spec.rb +60 -60
  290. data/spec/models/time_in_force_spec.rb +24 -24
  291. data/spec/models/trade_action_spec.rb +24 -24
  292. data/spec/models/trade_execution_status_action_spec.rb +24 -24
  293. data/spec/models/trade_execution_status_spec.rb +78 -78
  294. data/spec/models/trade_impact_spec.rb +54 -54
  295. data/spec/models/trade_spec.rb +72 -72
  296. data/spec/models/trading_cancel_user_account_order_request_spec.rb +30 -30
  297. data/spec/models/trading_place_oco_order_request_spec.rb +36 -36
  298. data/spec/models/transactions_status_spec.rb +36 -36
  299. data/spec/models/type_spec.rb +24 -24
  300. data/spec/models/underlying_symbol_spec.rb +66 -66
  301. data/spec/models/universal_activity_spec.rb +126 -126
  302. data/spec/models/universal_symbol_spec.rb +72 -72
  303. data/spec/models/universal_symbol_ticker_spec.rb +72 -72
  304. data/spec/models/us_exchange_spec.rb +78 -78
  305. data/spec/models/user_error_log_spec.rb +60 -60
  306. data/spec/models/user_i_dand_secret_spec.rb +36 -36
  307. data/spec/models/user_settings_spec.rb +84 -84
  308. data/spec/spec_helper.rb +6 -6
  309. metadata +119 -115
@@ -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
@@ -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
 
@@ -1,114 +1,114 @@
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
- describe 'setting consumer key to nil' do
109
- it 'should fail with ArgumentError' do
110
- expect { SnapTrade.consumer_key = nil }.to raise_error(ArgumentError)
111
- SnapTrade.consumer_key = ENV["SNAPTRADE_CONSUMER_KEY"]
112
- end
113
- end
114
- 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
+ describe 'setting consumer key to nil' do
109
+ it 'should fail with ArgumentError' do
110
+ expect { SnapTrade.consumer_key = nil }.to raise_error(ArgumentError)
111
+ SnapTrade.consumer_key = ENV["SNAPTRADE_CONSUMER_KEY"]
112
+ end
113
+ end
114
+ end