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)
def is_being_hosted(user): user_dict = get_json_response('https://api.twitch.tv/kraken/channels/{}'.format(user)) if '_id' not in user_dict: return False user_id = user_dict['_id'] hosts = get_json_response('https://tmi.twitch.tv/hosts?include_logins=1&target={}'.format(user_id)) if 'hosts' not in hosts: return False return hosts['hosts'] != []
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)
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)
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)
def get_social_counts(urlparam="http://www.google.com"): API_KEY = ["8ca7bc67af37fe0affd10a53c818e431b8d8bfba", "115a154ac6fe21c051c0346cbebf42d9a5a00c8d"] domain = "http://free.sharedcount.com/" params = { 'url' : urlparam, 'apikey' : random.choice(API_KEY)} url = domain + "?"+urllib.urlencode(params) return utils.get_json_response(url)
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)
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)
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"]
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)
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"]
def test_holdings(kiteconnect): """Test holdings.""" holdings = kiteconnect.holdings() mock_resp = utils.get_json_response("portfolio.holdings")["data"] utils.assert_responses(holdings, mock_resp)
def test_margins(kiteconnect): """Test margins.""" margins = kiteconnect.margins() mock_resp = utils.get_json_response("user.margins")["data"] utils.assert_responses(margins, mock_resp)
def test_positions(kiteconnect): """Test positions.""" positions = kiteconnect.positions() mock_resp = utils.get_json_response("portfolio.positions")["data"] utils.assert_responses(positions, mock_resp)
def test_trades(kiteconnect): """Test trades.""" trades = kiteconnect.trades() mock_resp = utils.get_json_response("trades")["data"] utils.assert_responses(trades, mock_resp)
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)
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)
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)