Пример #1
0
class TestLendingClubConnection(unittest.TestCase):
    def setUp(self):
        self.lc_connection = LendingClubConnection(authorization='topsecret', investor_id='123')

    @httpretty.activate
    def test_get_listed_loans(self):
        httpretty.register_uri(
            method=httpretty.GET,
            uri='/'.join([API_CONFIG['base_url'], API_CONFIG['version'], 'loans/listing']),
            body=json.dumps({"loans": "Listed Loans"})
        )

        response = self.lc_connection.get_listed_loans()
        self.assertEqual(response.json()['loans'], 'Listed Loans')
        self.assertEqual(response.status_code, 200)

    @httpretty.activate
    def test_get_balance(self):
        httpretty.register_uri(
            method=httpretty.GET,
            uri='/'.join([API_CONFIG['base_url'],
                          API_CONFIG['version'],
                          'accounts/123/availablecash']),
            body=json.dumps({"availableCash": 10})
        )

        response = self.lc_connection.get_balance()
        self.assertEqual(response.json()["availableCash"], 10)
        self.assertEqual(response.status_code, 200)

    @httpretty.activate
    def test_get_loans_owned(self):
        httpretty.register_uri(
            method=httpretty.GET,
            uri='/'.join([API_CONFIG['base_url'],
                          API_CONFIG['version'],
                          'accounts/123/notes']),
            body=json.dumps({"notes": []})
        )

        response = self.lc_connection.get_loans_owned()
        self.assertEqual(response.json()["notes"], [])
        self.assertEqual(response.status_code, 200)

    @httpretty.activate
    def test_submit_order(self):
        expected_body = {
                    "orderInstructId": 10,
                    "loanId": "XYZ",
                    "requestedAmount": 25,
                    "investedAmount": 25,
                    "execution_status": "ORDER_FULFILLED"
        }

        httpretty.register_uri(
            method=httpretty.POST,
            uri='/'.join([API_CONFIG['base_url'],
                          API_CONFIG['version'],
                          'accounts/123/orders']),
            body=json.dumps(expected_body)
        )

        response = self.lc_connection.submit_order(
            loan_ids=['XYZ', 'sss'],
            loan_amounts=[25, 25],
            portfolio_id=0,
            safe_mode=False
        )

        self.assertEqual(response.json(), expected_body)
        self.assertEqual(response.status_code, 200)

    def test_safe_mode(self):
        response = self.lc_connection.submit_order(
            loan_ids=['XYZ', 'sss'],
            loan_amounts=[25, 25],
            portfolio_id='testing',
            safe_mode=True
        )
        self.assertIs(response, None)