snaptrade 1.16.1 → 1.16.2

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