test: add astra integration test (#2189)

* add first astra integ test framework

* use fixtures

* remove old tests from merge

* Add correct sender type

* chore: Update unit test command in GitHub workflow

---------

Co-authored-by: ogabrielluiz <gabriel@langflow.org>
This commit is contained in:
Jordan Frazier 2024-06-15 19:50:38 -07:00 committed by GitHub
commit ca660cf8df
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
31 changed files with 211 additions and 12 deletions

View file

@ -89,6 +89,7 @@ class AstraDBMessageWriterComponent(BaseMemoryComponent):
sender_name=sender_name,
metadata=metadata,
session_id=session_id,
type=sender,
)
]

View file

@ -163,4 +163,3 @@ class AstraDBVectorStoreComponent(CustomComponent):
)
return vector_store
return vector_store

View file

@ -4,19 +4,21 @@ from typing import TYPE_CHECKING, List, Optional, Union
import duckdb
from langflow.services.base import Service
from langflow.services.monitor.schema import MessageModel, TransactionModel, VertexBuildModel
from langflow.services.monitor.utils import add_row_to_table, drop_and_create_table_if_schema_mismatch
from loguru import logger
from platformdirs import user_cache_dir
if TYPE_CHECKING:
from langflow.services.settings.manager import SettingsService
from langflow.services.monitor.schema import MessageModel, TransactionModel, VertexBuildModel
class MonitorService(Service):
name = "monitor_service"
def __init__(self, settings_service: "SettingsService"):
from langflow.services.monitor.schema import MessageModel, TransactionModel, VertexBuildModel
self.settings_service = settings_service
self.base_cache_dir = Path(user_cache_dir("langflow"))
self.db_path = self.base_cache_dir / "monitor.duckdb"
@ -45,7 +47,7 @@ class MonitorService(Service):
def add_row(
self,
table_name: str,
data: Union[dict, TransactionModel, MessageModel, VertexBuildModel],
data: Union[dict, "TransactionModel", "MessageModel", "VertexBuildModel"],
):
# Make sure the model passed matches the table
@ -127,7 +129,7 @@ class MonitorService(Service):
return self.exec_query(query, read_only=False)
def add_message(self, message: MessageModel):
def add_message(self, message: "MessageModel"):
self.add_row("messages", message)
def get_messages(