Ejemplo n.º 1
0
def test_create_generic_ds_with_invalid_config():
    """
    Tests creating a generic data source with invalid config using create data source function
    """
    test_config = util.read_app_config()
    data_source_list = test_config[DC.DATA_SOURCES_PARENT]

    with pytest.raises(DataSourceException):
        ds.create_datasource(data_source_list[3][DC.NAME])

    with pytest.raises(DataSourceException):
        ds.create_datasource(data_source_list[4][DC.NAME])
Ejemplo n.º 2
0
def test_create_generic_ds():
    """
    Tests creating a generic data source using create data source function
    """
    test_config = util.read_app_config()
    data_source_list = test_config[DC.DATA_SOURCES_PARENT]

    datasource = ds.create_datasource(data_source_list[0][DC.NAME])
    assert isinstance(datasource, ds.DataSource)
    assert datasource.name == data_source_list[0][DC.NAME]

    datasource = ds.create_datasource(data_source_list[1][DC.NAME])
    assert isinstance(datasource, ds.DataSource)
    assert datasource.name == data_source_list[1][DC.NAME]

    datasource = ds.create_datasource(data_source_list[2][DC.NAME])
    assert isinstance(datasource, ds.DataSource)
    assert datasource.name == data_source_list[2][DC.NAME]
Ejemplo n.º 3
0
def test_yf_data_source():
    """
    Tests creating YahooFinance data source using the default config and invoke a basic resource
    """
    yf = ds.create_datasource("YahooFinance")
    assert isinstance(yf, ds.YahooFinance)
    response = yf.call_api("summary", "aapl")
    assert isinstance(response, dict)
    assert response["longName"] == "Apple Inc."
Ejemplo n.º 4
0
def test_av_data_source():
    """
    Tests creating AlphaVantage data source using the default config and invoke a basic API call
    """
    av = ds.create_datasource("AlphaVantage")
    assert isinstance(av, ds.AlphaVantage)
    response = av.call_api("summary", "aapl")
    assert response.status_code == 200, "response code should be 200"
    data = response.json()
    assert isinstance(data, dict)
    assert response.json()["Name"] == "Apple Inc"
Ejemplo n.º 5
0
def test_iex_cloud_data_source():
    """
    Tests creating IEXCloud data source using the default config and invoke a basic API call
    """
    iex = ds.create_datasource("IEXCloud")
    assert isinstance(iex, ds.IEXCloud)
    response = iex.call_api("summary", "aapl")
    assert response.status_code == 200, "response code should be 200"
    data = response.json()
    assert isinstance(data, dict)
    assert data["companyName"] == "Apple Inc"
Ejemplo n.º 6
0
def test_create_ds_without_config():
    """
    Test creating a datasource where the data source config does not exist in the app config
    """
    with pytest.raises(ValueError):
        ds.create_datasource("XXX")