Implement configurable API providers from configs.yaml (#43)
* Implement configurable API providers from configs.yaml * Refactor provider filtering to use WrapperHandler helper function * Refactor API wrapper initialization to streamline configuration handling * Refactor agent retrieval to use specific API tools directly
This commit was merged in pull request #43.
This commit is contained in:
@@ -7,14 +7,14 @@ from app.api.tools import MarketAPIsTool
|
||||
@pytest.mark.api
|
||||
class TestMarketAPIsTool:
|
||||
def test_wrapper_initialization(self):
|
||||
market_wrapper = MarketAPIsTool("EUR")
|
||||
market_wrapper = MarketAPIsTool()
|
||||
assert market_wrapper is not None
|
||||
assert hasattr(market_wrapper, 'get_product')
|
||||
assert hasattr(market_wrapper, 'get_products')
|
||||
assert hasattr(market_wrapper, 'get_historical_prices')
|
||||
|
||||
def test_wrapper_capabilities(self):
|
||||
market_wrapper = MarketAPIsTool("EUR")
|
||||
market_wrapper = MarketAPIsTool()
|
||||
capabilities: list[str] = []
|
||||
if hasattr(market_wrapper, 'get_product'):
|
||||
capabilities.append('single_product')
|
||||
@@ -25,7 +25,7 @@ class TestMarketAPIsTool:
|
||||
assert len(capabilities) > 0
|
||||
|
||||
def test_market_data_retrieval(self):
|
||||
market_wrapper = MarketAPIsTool("EUR")
|
||||
market_wrapper = MarketAPIsTool()
|
||||
btc_product = market_wrapper.get_product("BTC")
|
||||
assert btc_product is not None
|
||||
assert hasattr(btc_product, 'symbol')
|
||||
@@ -34,7 +34,7 @@ class TestMarketAPIsTool:
|
||||
|
||||
def test_error_handling(self):
|
||||
try:
|
||||
market_wrapper = MarketAPIsTool("EUR")
|
||||
market_wrapper = MarketAPIsTool()
|
||||
fake_product = market_wrapper.get_product("NONEXISTENT_CRYPTO_SYMBOL_12345")
|
||||
assert fake_product is None or fake_product.price == 0
|
||||
except Exception as _:
|
||||
|
||||
@@ -19,7 +19,7 @@ class TestSocialAPIsTool:
|
||||
assert post.title is not None
|
||||
assert post.timestamp is not None
|
||||
|
||||
def test_social_api_tool_get_top__all_results(self):
|
||||
def test_social_api_tool_get_top_all_results(self):
|
||||
tool = SocialAPIsTool()
|
||||
result = tool.handler.try_call_all(lambda w: w.get_top_crypto_posts(limit=2))
|
||||
assert isinstance(result, dict)
|
||||
|
||||
Reference in New Issue
Block a user