snaptrade 1.15.0 → 1.15.1

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