Merge pull request #6 from plastic-labs/ayush/dev-132

address comments from earlier
This commit is contained in:
Vineeth Voruganti 2024-01-30 21:21:52 -08:00 committed by GitHub
commit f734fd77c1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 24 additions and 14 deletions

View File

@ -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:

View File

@ -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