예제 #1
0
파일: test_accounts.py 프로젝트: Dboe2/brrr
 def test_get_account_portfolio(self, MockOAuthSession):
     """test_get_account_positions(MockOAuthSession) -> None
        param: MockOAuthSession
        type: mock.MagicMock
        description: MagicMock object for OAuth1Sessions"""
     # Set Mock returns
     MockOAuthSession().get().json.return_value = {"account": "abc123"}
     MockOAuthSession().get().text = r"<xml> returns </xml>"
     account = accounts.ETradeAccounts("abc123", "xyz123", "abctoken",
                                       "xyzsecret")
     # Test Dev
     result = account.get_account_portfolio("12345")
     self.assertTrue(isinstance(result, dict))
     # Test API URL
     MockOAuthSession().get.assert_called_with(
         "https://apisb.etrade.com/v1/accounts/12345/portfolio", params={})
     result = account.get_account_portfolio("12345", resp_format="json")
     self.assertTrue(isinstance(result, dict))
     # Test Prod
     account = accounts.ETradeAccounts("abc123",
                                       "xyz123",
                                       "abctoken",
                                       "xyzsecret",
                                       dev=False)
     result = account.get_account_portfolio("12345")
     self.assertTrue(isinstance(result, dict))
     # Test API URL
     MockOAuthSession().get.assert_called_with(
         "https://api.etrade.com/v1/accounts/12345/portfolio", params={})
     self.assertTrue(MockOAuthSession().get().json.called)
     self.assertTrue(MockOAuthSession().get.called)
     result = account.get_account_portfolio("12345", resp_format="xml")
     self.assertTrue(isinstance(result, dict))
예제 #2
0
파일: test_accounts.py 프로젝트: Dboe2/brrr
    def test_get_account_balance(self, MockOAuthSession):
        """test_get_account_balance(MockOAuthSession) -> None
           param: MockOAuthSession
           type: mock.MagicMock
           description: MagicMock object for OAuth1Sessions"""
        # Set Mock returns
        MockOAuthSession().get().json.return_value = {"account": "abc123"}
        MockOAuthSession().get().text = r"<xml> returns </xml>"
        account = accounts.ETradeAccounts("abc123", "xyz123", "abctoken",
                                          "xyzsecret")
        # Test Dev XML
        result = account.get_account_balance("12345", resp_format="xml")
        self.assertTrue(isinstance(result, dict))
        # Test Dev JSON
        result = account.get_account_balance("12345", resp_format="json")
        self.assertTrue(isinstance(result, dict))
        # Test API URL
        MockOAuthSession().get.assert_called_with(
            "https://apisb.etrade.com/v1/accounts/12345/balance.json",
            params={
                "instType": "BROKERAGE",
                "realTimeNAV": True
            },
        )
        account = accounts.ETradeAccounts("abc123",
                                          "xyz123",
                                          "abctoken",
                                          "xyzsecret",
                                          dev=False)
        # Test Prod JSON
        result = account.get_account_balance("12345", resp_format="json")
        self.assertTrue(isinstance(result, dict))
        # Test API URL
        MockOAuthSession().get.assert_called_with(
            "https://api.etrade.com/v1/accounts/12345/balance.json",
            params={
                "instType": "BROKERAGE",
                "realTimeNAV": True
            },
        )
        # xml prod
        result = account.get_account_balance("12345", resp_format="xml")
        self.assertTrue(isinstance(result, dict))

        # Test API URL
        MockOAuthSession().get.assert_called_with(
            "https://api.etrade.com/v1/accounts/12345/balance",
            params={
                "instType": "BROKERAGE",
                "realTimeNAV": True
            },
        )

        self.assertTrue(MockOAuthSession().get().json.called)
        self.assertTrue(MockOAuthSession().get.called)
예제 #3
0
    def test_get_account_balance(self, MockOAuthSession):
        '''test_get_account_balance(MockOAuthSession) -> None
           param: MockOAuthSession
           type: mock.MagicMock
           description: MagicMock object for OAuth1Sessions'''
        # Set Mock returns
        MockOAuthSession().get().json.return_value = "{'account': 'abc123'}"
        MockOAuthSession().get().text = r'<xml> returns </xml>'
        account = accounts.ETradeAccounts('abc123', 'xyz123', 'abctoken',
                                          'xyzsecret')
        # Test Dev JSON
        self.assertEqual(account.get_account_balance(12345),
                         "{'account': 'abc123'}")
        # Test API URL
        MockOAuthSession().get.assert_called_with(
            ('https://etwssandbox.etrade.com/accounts/'
             'sandbox/rest/accountbalance/12345.json'))
        # Test Prod JSON
        self.assertEqual(account.get_account_balance(12345, dev=False),
                         "{'account': 'abc123'}")
        # Test API URL
        MockOAuthSession().get.assert_called_with(
            ('https://etws.etrade.com/accounts/'
             'rest/accountbalance/12345.json'))
        # Test Dev XML
        self.assertEqual(account.get_account_balance(12345, resp_format='xml'),
                         r'<xml> returns </xml>')
        #MockOAuthSession().get.assert_called_with(
        #        ('https://etws.etrade.com/accounts/'
        #        'rest/accountbalance/12345')
        #        )

        self.assertTrue(MockOAuthSession().get().json.called)
        self.assertTrue(MockOAuthSession().get.called)
예제 #4
0
    def test_get_account_balance(self, MockOAuthSession):
        """test_get_account_balance(MockOAuthSession) -> None
           param: MockOAuthSession
           type: mock.MagicMock
           description: MagicMock object for OAuth1Sessions"""
        # Set Mock returns
        MockOAuthSession().get().json.return_value = "{'account': 'abc123'}"
        MockOAuthSession().get().text = r"<xml> returns </xml>"
        account = accounts.ETradeAccounts("abc123", "xyz123", "abctoken", "xyzsecret")
        # Test Dev JSON
        self.assertEqual(account.get_account_balance(12345), "{'account': 'abc123'}")
        # Test API URL
        MockOAuthSession().get.assert_called_with(
            "https://apisb.etrade.com/v1/accounts/12345/balance.json",
            params={"instType": "BROKERAGE", "realTimeNAV": True},
        )
        # Test Prod JSON
        self.assertEqual(
            account.get_account_balance(12345, dev=False), "{'account': 'abc123'}"
        )
        # Test API URL
        MockOAuthSession().get.assert_called_with(
            "https://api.etrade.com/v1/accounts/12345/balance.json",
            params={"instType": "BROKERAGE", "realTimeNAV": True},
        )
        # Test Dev XML
        result = str(account.get_account_balance(12345, resp_format="xml"))
        self.assertEqual(result, "{'xml': 'returns'}")
        # MockOAuthSession().get.assert_called_with(
        #        ('https://etws.etrade.com/accounts/'
        #        'rest/accountbalance/12345')
        #        )

        self.assertTrue(MockOAuthSession().get().json.called)
        self.assertTrue(MockOAuthSession().get.called)
예제 #5
0
 def test_list_accounts(self, MockOAuthSession):
     """test_list_accounts(MockOAuthSession) -> None
        param: MockOAuthSession
        type: mock.MagicMock
        description: MagicMock object for OAuth1Sessions"""
     # Set Mock returns
     MockOAuthSession().get().json.return_value = "{'account': 'abc123'}"
     MockOAuthSession().get().text = r"<xml> returns </xml>"
     account = accounts.ETradeAccounts("abc123", "xyz123", "abctoken", "xyzsecret")
     # Test Dev JSON
     self.assertEqual(account.list_accounts(), "{'account': 'abc123'}")
     # Test API URL
     MockOAuthSession().get.assert_called_with(
         ("https://apisb.etrade.com/v1/accounts/list.json")
     )
     # Test Prod JSON
     self.assertEqual(account.list_accounts(dev=False), "{'account': 'abc123'}")
     # Test API URL
     MockOAuthSession().get.assert_called_with(
         ("https://api.etrade.com/v1/accounts/list.json")
     )
     # Test Dev XML
     result = str(account.list_accounts(resp_format="xml"))
     self.assertEqual(result, "{'xml': 'returns'}")
     self.assertTrue(MockOAuthSession().get().json.called)
     self.assertTrue(MockOAuthSession().get.called)
예제 #6
0
    def test_get_transaction_details(self, MockOAuthSession):
        """test_get_transaction_details(MockOAuthSession) -> None
           param: MockOAuthSession
           type: mock.MagicMock
           description: MagicMock object for OAuth1Sessions"""
        # Set Mock returns
        MockOAuthSession().get().json.return_value = "{'transaction': 'abc123'}"
        MockOAuthSession().get().text = r"<xml> returns </xml>"
        account = accounts.ETradeAccounts("abc123", "xyz123", "abctoken", "xyzsecret")
        # Test Dev JSON
        self.assertEqual(
            account.get_transaction_details(12345, 67890), "{'transaction': 'abc123'}"
        )
        # Test API URL
        MockOAuthSession().get.assert_called_with(
            (
                "https://apisb.etrade.com/accounts/v1"
                "sandbox/rest/12345/transactions/67890.json"
            ),
            params={},
        )
        # Test Prod JSON
        self.assertEqual(
            account.get_transaction_details(12345, 67890, dev=False),
            "{'transaction': 'abc123'}",
        )
        # Test API URL
        MockOAuthSession().get.assert_called_with(
            (
                "https://api.etrade.com/v1/accounts/"
                "rest/12345/transactions/67890.json"
            ),
            params={},
        )
        # Test Dev XML
        self.assertEqual(
            account.get_transaction_details(12345, 67890, resp_format="xml"),
            r"<xml> returns </xml>",
        )
        MockOAuthSession().get.assert_called_with(
            (
                "https://apisb.etrade.com/v1/accounts/"
                "sandbox/rest/12345/transactions/67890"
            ),
            params={},
        )
        # Test Prod XML
        self.assertEqual(
            account.get_transaction_details(12345, 67890, dev=False, resp_format="xml"),
            r"<xml> returns </xml>",
        )
        MockOAuthSession().get.assert_called_with(
            ("https://api.etrade.com/v1/accounts/" "rest/12345/transactions/67890"),
            params={},
        )

        self.assertTrue(MockOAuthSession().get().json.called)
        self.assertTrue(MockOAuthSession().get.called)
예제 #7
0
 def test_get_transaction_history(self, MockOAuthSession):
     '''test_get_transaction_history(MockOAuthSession) -> None
        param: MockOAuthSession
        type: mock.MagicMock
        description: MagicMock object for OAuth1Sessions'''
     # Set Mock returns
     MockOAuthSession().get(
     ).json.return_value = "{'transaction': 'abc123'}"
     MockOAuthSession().get().text = r'<xml> returns </xml>'
     account = accounts.ETradeAccounts('abc123', 'xyz123', 'abctoken',
                                       'xyzsecret')
     # Test Dev JSON
     self.assertEqual(account.get_transaction_history(12345),
                      "{'transaction': 'abc123'}")
     # Test API URL
     MockOAuthSession().get.assert_called_with(
         ('https://etwssandbox.etrade.com/accounts/'
          'sandbox/rest/12345/transactions.json'),
         params={})
     # Test Prod JSON
     self.assertEqual(account.get_transaction_history(12345, dev=False),
                      "{'transaction': 'abc123'}")
     # Test API URL
     MockOAuthSession().get.assert_called_with(
         ('https://etws.etrade.com/accounts/'
          'rest/12345/transactions.json'),
         params={})
     # Test Dev XML
     self.assertEqual(
         account.get_transaction_history(12345, resp_format='xml'),
         r'<xml> returns </xml>')
     # Test API URL
     MockOAuthSession().get.assert_called_with(
         ('https://etwssandbox.etrade.com/accounts/'
          'sandbox/rest/12345/transactions'),
         params={})
     # Test Prod XML
     self.assertEqual(
         account.get_transaction_history(12345,
                                         dev=False,
                                         resp_format='xml'),
         r'<xml> returns </xml>')
     # Test API URL
     MockOAuthSession().get.assert_called_with(
         ('https://etws.etrade.com/accounts/'
          'rest/12345/transactions'),
         params={})
     # Test optional_args
     self.assertEqual(
         account.get_transaction_history(12345, group='WITHDRAWALS'),
         "{'transaction': 'abc123'}")
     self.assertTrue(MockOAuthSession().get().json.called)
     self.assertTrue(MockOAuthSession().get.called)
예제 #8
0
 def test_list_accounts(self, MockOAuthSession):
     '''test_list_accounts(MockOAuthSession) -> None
        param: MockOAuthSession
        type: mock.MagicMock
        description: MagicMock object for OAuth1Sessions'''
     # Set Mock returns
     MockOAuthSession().get().json.return_value = "{'account': 'abc123'}"
     MockOAuthSession().get().text.return_value = r'<xml> returns </xml>'
     account = accounts.ETradeAccounts('abc123', 'xyz123', 'abctoken', 'xyzsecret')
     # Test Dev JSON
     self.assertEqual(account.list_accounts(), "{'account': 'abc123'}")
     # Test Prod JSON
     self.assertEqual(account.list_accounts(dev=False), "{'account': 'abc123'}")
     # Test Dev XML
     self.assertEqual(account.list_accounts(resp_format='xml'), r'<xml> returns </xml>')
     self.assertTrue(MockOAuthSession().get().json.called)
     self.assertTrue(MockOAuthSession().get().text.called)
     self.assertTrue(MockOAuthSession().get.called)
예제 #9
0
 def test_get_account_positions(self, MockOAuthSession):
     """test_get_account_positions(MockOAuthSession) -> None
        param: MockOAuthSession
        type: mock.MagicMock
        description: MagicMock object for OAuth1Sessions"""
     # Set Mock returns
     MockOAuthSession().get().json.return_value = "{'account': 'abc123'}"
     MockOAuthSession().get().text = r"<xml> returns </xml>"
     account = accounts.ETradeAccounts("abc123", "xyz123", "abctoken", "xyzsecret")
     # Test Dev JSON
     self.assertEqual(
         account.get_account_positions("12345"), "{'account': 'abc123'}"
     )
     # Test API URL
     MockOAuthSession().get.assert_called_with(
         ("https://apisb.etrade.com/v1/accounts" "/12345/portfolio.json")
     )
     # Test Prod JSON
     self.assertEqual(
         account.get_account_positions("12345", dev=False), "{'account': 'abc123'}"
     )
     # Test API URL
     MockOAuthSession().get.assert_called_with(
         ("https://api.etrade.com/v1/accounts" "/12345/portfolio.json")
     )  # Test Dev XML
     self.assertEqual(
         account.get_account_positions("12345", resp_format="xml"),
         r"<xml> returns </xml>",
     )
     MockOAuthSession().get.assert_called_with(
         ("https://apisb.etrade.com/v1/accounts" "/12345/portfolio")
     )
     self.assertEqual(
         account.get_account_positions("12345", dev=False, resp_format="xml"),
         r"<xml> returns </xml>",
     )
     MockOAuthSession().get.assert_called_with(
         ("https://api.etrade.com/v1/accounts" "/12345/portfolio")
     )
     self.assertTrue(MockOAuthSession().get().json.called)
     self.assertTrue(MockOAuthSession().get.called)
예제 #10
0
 def test_delete_alert(self, MockOAuthSession):
     """test_list_alerts(MockOAuthSession) -> None
        param: MockOAuthSession
        type: mock.MagicMock
        description: MagicMock object for OAuth1Sessions"""
     # Set Mock returns
     MockOAuthSession().delete().json.return_value = "{'account': 'abc123'}"
     MockOAuthSession().delete().text = r"<xml> returns </xml>"
     account = accounts.ETradeAccounts("abc123", "xyz123", "abctoken", "xyzsecret")
     # Test Dev JSON
     self.assertEqual(account.delete_alert(1234), "{'account': 'abc123'}")
     # Test API URL
     MockOAuthSession().delete.assert_called_with(
         ("https://apisb.etrade.com/v1/accounts/" "sandbox/rest/alerts/1234.json")
     )
     # Test Prod JSON
     self.assertEqual(account.delete_alert(1234, dev=False), "{'account': 'abc123'}")
     # Test API URL
     MockOAuthSession().delete.assert_called_with(
         ("https://api.etrade.com/v1/accounts/" "rest/alerts/1234.json")
     )
     # Test Dev XML
     self.assertEqual(
         account.delete_alert(1234, resp_format="xml"), r"<xml> returns </xml>"
     )
     MockOAuthSession().delete.assert_called_with(
         ("https://apisb.etrade.com/v1/accounts/" "sandbox/rest/alerts/1234")
     )
     self.assertEqual(
         account.delete_alert(1234, dev=False, resp_format="xml"),
         r"<xml> returns </xml>",
     )
     MockOAuthSession().delete.assert_called_with(
         ("https://api.etrade.com/v1/accounts/" "rest/alerts/1234")
     )
     self.assertTrue(MockOAuthSession().delete().json.called)
     self.assertTrue(MockOAuthSession().delete.called)
예제 #11
0
파일: test_accounts.py 프로젝트: Dboe2/brrr
    def test_list_transactions(self, MockOAuthSession):
        """test_list_transactions(MockOAuthSession) -> None
           param: MockOAuthSession
           type: mock.MagicMock
           description: MagicMock object for OAuth1Sessions"""
        # Set Mock returns
        MockOAuthSession().get(
        ).json.return_value = "{'transaction': 'abc123'}"
        MockOAuthSession().get().text = r"<xml> returns </xml>"
        account = accounts.ETradeAccounts("abc123", "xyz123", "abctoken",
                                          "xyzsecret")
        # Test Dev JSON
        self.assertEqual(
            account.list_transactions(12345, resp_format="json"),
            "{'transaction': 'abc123'}",
        )
        # Test API URL
        MockOAuthSession().get.assert_called_with(
            ("https://apisb.etrade.com/v1/accounts/12345/transactions.json"),
            params={},
        )

        # Test Dev XML
        self.assertEqual(
            dict(account.list_transactions(12345, resp_format="xml")),
            {"xml": "returns"},
        )
        # Test API URL
        MockOAuthSession().get.assert_called_with(
            ("https://apisb.etrade.com/v1/accounts/12345/transactions"),
            params={},
        )
        account = accounts.ETradeAccounts("abc123",
                                          "xyz123",
                                          "abctoken",
                                          "xyzsecret",
                                          dev=False)
        # Test Prod JSON
        self.assertEqual(
            account.list_transactions(12345, resp_format="json"),
            "{'transaction': 'abc123'}",
        )
        # Test API URL
        MockOAuthSession().get.assert_called_with(
            ("https://api.etrade.com/v1/accounts/12345/transactions.json"),
            params={},
        )
        # Test Prod XML
        self.assertEqual(
            dict(account.list_transactions(12345, resp_format="xml")),
            {"xml": "returns"},
        )
        # Test API URL
        MockOAuthSession().get.assert_called_with(
            ("https://api.etrade.com/v1/accounts/12345/transactions"),
            params={})
        # Test optional_args
        self.assertEqual(
            account.list_transactions(12345,
                                      group="WITHDRAWALS",
                                      resp_format="json"),
            "{'transaction': 'abc123'}",
        )
        self.assertTrue(MockOAuthSession().get().json.called)
        self.assertTrue(MockOAuthSession().get.called)