ibapi 3.0.1

A Rust implementation of the Interactive Brokers TWS API, providing a reliable and user friendly interface for TWS and IB Gateway. Designed with a focus on simplicity and performance.
Documentation
use super::*;
use crate::common::test_utils::helpers::{assert_tws_error_message, proto_error_response};

fn test_context() -> DecoderContext {
    DecoderContext::new(176, None)
}

fn error_message() -> ResponseMessage {
    proto_error_response(9000, 10089, "Requested market data is not subscribed")
}

#[test]
fn test_news_bulletin_decode_error_message() {
    // Error on the request_id channel surfaces as Error::Notice, not silently
    // skipped via UnexpectedResponse (#434).
    let mut message = error_message();
    let err = NewsBulletin::decode(&test_context(), &mut message).unwrap_err();
    assert_tws_error_message(err, 10089, "not subscribed");
}

#[test]
fn test_news_article_decode_error_message() {
    let mut message = error_message();
    let err = NewsArticle::decode(&test_context(), &mut message).unwrap_err();
    assert_tws_error_message(err, 10089, "not subscribed");
}