From daae76203cc94204991ac9348c684443827cca79 Mon Sep 17 00:00:00 2001 From: hyusap Date: Tue, 30 Jan 2024 22:30:11 -0500 Subject: [PATCH 1/2] =?UTF-8?q?=E2=9C=85=20fix=20tests?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sdk/tests/test_honcho.py | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/sdk/tests/test_honcho.py b/sdk/tests/test_honcho.py index ff94522a..9abfb293 100644 --- a/sdk/tests/test_honcho.py +++ b/sdk/tests/test_honcho.py @@ -4,8 +4,9 @@ from uuid import uuid1 def test_session_creation_retrieval(): client = Client("http://localhost:8000") - created_session = client.create_session("ayush") - retrieved_session = client.get_session("ayush", created_session.id) + user_id = str(uuid1()) + created_session = client.create_session(user_id) + retrieved_session = client.get_session(user_id, created_session.id) assert retrieved_session.id == created_session.id assert retrieved_session.is_active == True assert retrieved_session.location_id == "default" @@ -14,38 +15,43 @@ def test_session_creation_retrieval(): def test_session_multiple_retrieval(): client = Client("http://localhost:8000") - user = str(uuid1()) - created_session_1 = client.create_session(user) - created_session_2 = client.create_session(user) - retrieved_sessions = client.get_sessions(user) + user_id = str(uuid1()) + created_session_1 = client.create_session(user_id) + created_session_2 = client.create_session(user_id) + retrieved_sessions = client.get_sessions(user_id) assert len(retrieved_sessions) == 2 assert retrieved_sessions[0].id == created_session_1.id assert retrieved_sessions[1].id == created_session_2.id def test_session_update(): + user_id = str(uuid1()) client = Client("http://localhost:8000") - created_session = client.create_session("ayush") + created_session = client.create_session(user_id) assert created_session.update({"foo": "bar"}) - retrieved_session = client.get_session("ayush", created_session.id) + retrieved_session = client.get_session(user_id, created_session.id) assert retrieved_session.session_data == {"foo": "bar"} def test_session_deletion(): + user_id = str(uuid1()) client = Client("http://localhost:8000") - created_session = client.create_session("ayush") + created_session = client.create_session(user_id) + assert created_session.is_active == True created_session.delete() - retrieved_session = client.get_session("ayush", created_session.id) + assert created_session.is_active == False + retrieved_session = client.get_session(user_id, created_session.id) assert retrieved_session.is_active == False assert retrieved_session.id == created_session.id def test_messages(): + user_id = str(uuid1()) client = Client("http://localhost:8000") - created_session = client.create_session("ayush") + created_session = client.create_session(user_id) created_session.create_message(is_user=True, content="Hello") created_session.create_message(is_user=False, content="Hi") - retrieved_session = client.get_session("ayush", created_session.id) + retrieved_session = client.get_session(user_id, created_session.id) messages = retrieved_session.get_messages() assert len(messages) == 2 user_message, ai_message = messages From 391b969123ac0b843ce9453d424b48be4aac6047 Mon Sep 17 00:00:00 2001 From: hyusap Date: Tue, 30 Jan 2024 22:31:38 -0500 Subject: [PATCH 2/2] =?UTF-8?q?=F0=9F=9A=B8=20make=20is=20active=20safe?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sdk/honcho/client.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/sdk/honcho/client.py b/sdk/honcho/client.py index f39de5f6..7ac0d427 100644 --- a/sdk/honcho/client.py +++ b/sdk/honcho/client.py @@ -104,11 +104,15 @@ class Session: self.session_data = ( session_data if isinstance(session_data, dict) else json.loads(session_data) ) - self.is_active = is_active + self._is_active = is_active def __str__(self): return f"Session(id={self.id}, user_id={self.user_id}, location_id={self.location_id}, session_data={self.session_data}, is_active={self.is_active})" + @property + def is_active(self): + return self._is_active + def create_message(self, is_user: bool, content: str): """Adds a message to the session @@ -173,7 +177,7 @@ class Session: """Delete a session by marking it as inactive""" url = f"{self.base_url}/users/{self.user_id}/sessions/{self.id}" response = requests.delete(url) - self.is_active = False + self._is_active = False class Message: