Esempio n. 1
0
def test_order_trades(kiteconnect):
    """Test individual order get."""
    trades = kiteconnect.trades()

    if len(trades) == 0:
        warnings.warn(UserWarning("Trades: Couldn't perform individual order test since trades is empty."))
        return

    order_trades = kiteconnect.order_trades(order_id=trades[0]["order_id"])

    mock_resp = utils.get_json_response("order.trades")["data"]
    utils.assert_responses(order_trades, mock_resp)
Esempio n. 2
0
def test_order_history(kiteconnect):
    """Test individual order get."""
    orders = kiteconnect.orders()

    if len(orders) == 0:
        warnings.warn(UserWarning("Order info: Couldn't perform individual order test since orderbook is empty."))
        return

    order = kiteconnect.order_history(order_id=orders[0]["order_id"])

    mock_resp = utils.get_json_response("order.info")["data"]
    utils.assert_responses(order, mock_resp)
Esempio n. 3
0
def test_trigger_range(kiteconnect):
    """Test ltp."""
    instruments = ["NSE:INFY", "NSE:RELIANCE"]

    # Test sending instruments as a list
    buy_resp = kiteconnect.trigger_range(kiteconnect.TRANSACTION_TYPE_BUY,
                                         *instruments)
    mock_resp = utils.get_json_response("market.trigger_range")["data"]
    utils.assert_responses(buy_resp, mock_resp)

    buy_resp = kiteconnect.trigger_range(kiteconnect.TRANSACTION_TYPE_SELL,
                                         *instruments)
    mock_resp = utils.get_json_response("market.trigger_range")["data"]
    utils.assert_responses(buy_resp, mock_resp)

    # Test sending instruments as a args
    buy_resp = kiteconnect.trigger_range(kiteconnect.TRANSACTION_TYPE_BUY,
                                         instruments)
    mock_resp = utils.get_json_response("market.trigger_range")["data"]
    utils.assert_responses(buy_resp, mock_resp)

    buy_resp = kiteconnect.trigger_range(kiteconnect.TRANSACTION_TYPE_SELL,
                                         instruments)
    mock_resp = utils.get_json_response("market.trigger_range")["data"]
    utils.assert_responses(buy_resp, mock_resp)
Esempio n. 4
0
def test_quote(kiteconnect):
    """Test quote."""
    instruments = ["NSE:INFY"]

    # Test sending instruments as a list
    time.sleep(1.1)
    quote = kiteconnect.quote(instruments)
    mock_resp = utils.get_json_response("market.quote")["data"]
    utils.assert_responses(quote, mock_resp)

    # Test sending instruments as args
    time.sleep(1.1)
    quote = kiteconnect.quote(*instruments)
    mock_resp = utils.get_json_response("market.quote")["data"]
    utils.assert_responses(quote, mock_resp)
Esempio n. 5
0
def test_quote_ohlc(kiteconnect):
    """Test ohlc."""
    instruments = ["NSE:INFY"]

    # Test sending instruments as a list
    time.sleep(1.1)
    ohlc = kiteconnect.ohlc(instruments)
    mock_resp = utils.get_json_response("market.quote.ohlc")["data"]
    utils.assert_responses(ohlc, mock_resp)

    # Test sending instruments as args
    time.sleep(1.1)
    ohlc = kiteconnect.ohlc(*instruments)
    mock_resp = utils.get_json_response("market.quote.ohlc")["data"]
    utils.assert_responses(ohlc, mock_resp)
Esempio n. 6
0
def test_quote_ltp(kiteconnect):
    """Test ltp."""
    instruments = ["NSE:INFY"]

    # Test sending instruments as a list
    time.sleep(1.1)
    ltp = kiteconnect.ltp(instruments)
    mock_resp = utils.get_json_response("market.quote.ltp")["data"]
    utils.assert_responses(ltp, mock_resp)

    # Test sending instruments as args
    time.sleep(1.1)
    ltp = kiteconnect.ltp(*instruments)
    mock_resp = utils.get_json_response("market.quote.ltp")["data"]
    utils.assert_responses(ltp, mock_resp)
Esempio n. 7
0
def test_order_history(kiteconnect):
    """Test individual order get."""
    orders = kiteconnect.orders()

    if len(orders) == 0:
        warnings.warn(UserWarning("Order info: Couldn't perform individual order test since orderbook is empty."))
        return

    order = kiteconnect.order_history(order_id=orders[0]["order_id"])

    mock_resp = utils.get_json_response("order.info")["data"]
    utils.assert_responses(order, mock_resp)

    # check order info statuses order. OPEN, COMPLETE, REJECTED should be the at the end
    # and "PUT ORDER REQ RECEIVED" in front.
    assert "RECEIVED" in order[0]["status"].upper()
    assert order[-1]["status"] in ["OPEN", "COMPLETE", "REJECTED"]
Esempio n. 8
0
def test_historical_data_intervals(max_interval, candle_interval, kiteconnect):
    """Test historical data for each intervals"""
    # Reliance token
    instrument_token = 256265
    to_date = datetime.datetime.now()
    diff = int(max_interval / 3)

    from_date = (to_date - datetime.timedelta(days=diff))

    # minute data
    data = kiteconnect.historical_data(instrument_token, from_date, to_date, candle_interval)
    mock_resp = kiteconnect._format_historical(utils.get_json_response("market.historical")["data"])
    utils.assert_responses(data, mock_resp)

    # Max interval
    from_date = (to_date - datetime.timedelta(days=(max_interval + 1)))
    with pytest.raises(ex.InputException):
        kiteconnect.historical_data(instrument_token, from_date, to_date, candle_interval)
Esempio n. 9
0
def test_order_history(kiteconnect):
    """Test individual order get."""
    orders = kiteconnect.orders()

    if len(orders) == 0:
        warnings.warn(
            UserWarning(
                "Order info: Couldn't perform individual order test since orderbook is empty."
            ))
        return

    order = kiteconnect.order_history(order_id=orders[0]["order_id"])

    mock_resp = utils.get_json_response("order.info")["data"]
    utils.assert_responses(order, mock_resp)

    # check order info statuses order. if its not REJECTED order
    for o in order:
        if "REJECTED" not in o["status"]:
            assert "RECEIVED" in o["status"].upper()
            break

    assert order[-1]["status"] in ["OPEN", "COMPLETE", "REJECTED"]
Esempio n. 10
0
def test_mf_holdings(kiteconnect):
    """Test mf holdings."""
    mf_holdings = kiteconnect.mf_holdings()
    mock_resp = utils.get_json_response("mf.holdings")["data"]
    utils.assert_responses(mf_holdings, mock_resp)
Esempio n. 11
0
def test_margins(kiteconnect):
    """Test margins."""
    margins = kiteconnect.margins()
    mock_resp = utils.get_json_response("user.margins")["data"]
    utils.assert_responses(margins, mock_resp)
Esempio n. 12
0
def test_holdings(kiteconnect):
    """Test holdings."""
    holdings = kiteconnect.holdings()
    mock_resp = utils.get_json_response("portfolio.holdings")["data"]
    utils.assert_responses(holdings, mock_resp)
Esempio n. 13
0
def test_positions(kiteconnect):
    """Test positions."""
    positions = kiteconnect.positions()
    mock_resp = utils.get_json_response("portfolio.positions")["data"]
    utils.assert_responses(positions, mock_resp)
Esempio n. 14
0
def test_trades(kiteconnect):
    """Test trades."""
    trades = kiteconnect.trades()
    mock_resp = utils.get_json_response("trades")["data"]
    utils.assert_responses(trades, mock_resp)
Esempio n. 15
0
def test_all_instruments(kiteconnect):
    """Test mf instruments fetch."""
    instruments = kiteconnect.instruments()
    mock_resp = kiteconnect._parse_instruments(utils.get_response("market.instruments"))
    utils.assert_responses(instruments, mock_resp)
Esempio n. 16
0
def test_mf_instruments(kiteconnect):
    """Test mf instruments fetch."""
    mf_instruments = kiteconnect.mf_instruments()
    mock_resp = kiteconnect._parse_mf_instruments(utils.get_response("mf.instruments"))
    utils.assert_responses(mf_instruments, mock_resp)
Esempio n. 17
0
def test_exchange_instruments(kiteconnect):
    """Test mf instruments fetch."""
    instruments = kiteconnect.instruments(exchange=kiteconnect.EXCHANGE_NSE)
    mock_resp = kiteconnect._parse_instruments(utils.get_response("market.instruments"))
    utils.assert_responses(instruments, mock_resp)
Esempio n. 18
0
def test_mf_sips(kiteconnect):
    """Test mf sips get."""
    mf_sips = kiteconnect.mf_sips()
    mock_resp = utils.get_json_response("mf.sips")["data"]
    utils.assert_responses(mf_sips, mock_resp)
Esempio n. 19
0
def test_mf_orders(kiteconnect):
    """Test mf orders get."""
    mf_orders = kiteconnect.mf_orders()
    mock_resp = utils.get_json_response("mf.orders")["data"]
    utils.assert_responses(mf_orders, mock_resp)