Spaces:
Paused
Paused
| import os | |
| from dotenv import dotenv_values | |
| from fastapi import FastAPI | |
| from pymongo import MongoClient | |
| from main import requests | |
| import uuid | |
| import pytest | |
| from dotenv import load_dotenv | |
| import requests | |
| import json | |
| # Test Root endpoint | |
| def test_root_pass(): | |
| response = requests.get("http://127.0.0.1:8080/") | |
| assert response.status_code == 200 | |
| assert response.json() == {"message": "Welcome to InterpreTalk!"} | |
| # POST /user/ | |
| # Test DB user record creation including response validation | |
| def test_create_user_pass(): | |
| payload = { | |
| "name": "Tester1", | |
| "user_id": "testerID", | |
| "email": "tester1@gmail.com" | |
| } | |
| response = requests.post("http://127.0.0.1:8080/user/", json=payload) | |
| assert response.status_code == 201 | |
| '''Test User Endpoints''' | |
| # GET /user/ | |
| # Test finding DB user record based on user ID | |
| def test_find_user_pass(): | |
| response = requests.get("http://localhost:8080/user/ozpHhyum3sayTdxIKUAtF51uvWJ2") # existing user record | |
| assert response.status_code == 200 | |
| assert response.json() == { | |
| "user_id": "ozpHhyum3sayTdxIKUAtF51uvWJ2", | |
| "name": "Benjamin", | |
| "email": "benjolounchained@gmail.com" | |
| } | |
| def test_find_user_fail(): | |
| response = requests.get(f"http://127.0.0.1:8080/users/fakeID") # non-existing user record | |
| # check if response is inteded error code | |
| assert response.status_code == 404 | |
| # PUT /user/{user_id} | |
| # Updating DB user record based on user ID | |
| def test_update_user_pass(): | |
| payload = { | |
| "name": "TesterNewName" | |
| } | |
| response = requests.patch(f"http://127.0.0.1:8080/users/testerID", json=payload) | |
| assert response.status_code == 202 | |
| assert response.json() == { | |
| "name": "TesterNewName", | |
| "user_id": "testerID", | |
| "email": "tester1@gmail.com" | |
| } | |
| # Test with non-existing user ID | |
| def test_update_user_fail(): | |
| payload = { | |
| "name": "TesterNewName" | |
| } | |
| response = requests.patch(f"http://127.0.0.1:8080/users/falseID", json=payload) | |
| assert response.status_code == 404 | |
| # DELETE /user/{user_id} | |
| def test_delete_user_pass(): | |
| response = requests.delete(f"http://127.0.0.1:8080/users/testerID") | |
| assert response.status_code == 200 | |
| def test_delete_user_fail(): | |
| response = requests.delete(f"http://127.0.0.1:8080/users/fakeID") | |
| assert response.status_code == 404 | |
| # GET /user/find-name-id/{user_ud} | |
| def test_find_name_id_pass(): | |
| response = requests.get("http://127.0.0.1:8080/user/find-name-id/ozpHhyum3sayTdxIKUAtF51uvWJ2") | |
| assert response.status_code == 201 | |
| assert response.json == { | |
| 'name': "Benjamin" | |
| } | |
| def test_find_name_id_fail(): | |
| response = requests.get("http://127.0.0.1:8080/user/find-name-id/falseID") | |
| assert response.status_code == 404 | |
| '''Test Call endpoints''' | |
| # POST /call/create-call | |
| # Test creating call record | |
| def test_create_call_pass(): | |
| payload = { | |
| "call_id": "test001", | |
| "caller_id": "tester01", | |
| "callee_id": "tester02", | |
| "captions": [ | |
| { | |
| "author_id": "tester01", | |
| "author_username": "tester", | |
| "original_text": "It is a test", | |
| "translated_text": "Es un prueba", | |
| } | |
| ] | |
| } | |
| response = requests.post("http://127.0.0.1:8080/call/create-call", json=payload) | |
| assert response.status_code == 201 | |
| # GET /call/find-call | |
| # Test finding DB call record based on call ID | |
| def test_find_call_pass(): | |
| response = requests.get(f"http://127.0.0.1:8080/call/test001") # existing user record | |
| assert response.status_code == 200 | |
| assert response.json() == { | |
| "call_id": "test001", | |
| "caller_id": "tester01", | |
| "callee_id": "tester02", | |
| "captions": [ | |
| { | |
| "author_id": "tester01", | |
| "author_username": "tester", | |
| "original_text": "It is a test", | |
| "translated_text": "Es un prueba", | |
| } | |
| ] | |
| } | |
| def test_find_call_fail(): | |
| response = requests.get(f"http://127.0.0.1:8080/call/fakeID") # non-existing user record | |
| # check if response is inteded error code | |
| assert response.status_code == 404 | |
| # GET /call/find-user-call | |
| # Test finding DB call record based on user ID | |
| def test_find_user_call_pass(): | |
| response = requests.get(f"http://127.0.0.1:8080/call/find-user-calls/tester01") # existing user record | |
| assert response.status_code == 200 | |
| assert response.json() == { | |
| "call_id": "test001", | |
| "caller_id": "tester01", | |
| "callee_id": "tester02", | |
| "captions": [ | |
| { | |
| "author_id": "tester01", | |
| "author_username": "tester", | |
| "original_text": "It is a test", | |
| "translated_text": "Es un prueba", | |
| } | |
| ] | |
| } | |
| def test_find_user_call_fail(): | |
| response = requests.get(f"http://127.0.0.1:8080/calls/fakeID") # non-existing user record | |
| # check if response is inteded error code | |
| assert response.status_code == 404 | |
| # GET /call/get-captions | |
| # Test finding DB call record based on user ID | |
| def test_get_captions_pass(): | |
| response = requests.get(f"http://127.0.0.1:8080/call/find-user-calls/test001/tester01") # existing user record | |
| assert response.status_code == 200 | |
| assert response.json() == { | |
| "call_id": "test001", | |
| "caller_id": "tester01", | |
| "callee_id": "tester02", | |
| "captions": [ | |
| { | |
| "author_id": "tester01", | |
| "author_username": "tester", | |
| "original_text": "It is a test", | |
| "translated_text": "Es un prueba", | |
| } | |
| ] | |
| } | |
| def test_get_captions_fail(): | |
| response = requests.get(f"http://127.0.0.1:8080/call/find-user-calls/test001/tester00") # fake user record | |
| # check if response is inteded error code | |
| assert response.status_code == 404 | |
| def test_get_captions_fail(): | |
| response = requests.get(f"http://127.0.0.1:8080/call/find-user-calls/test000/tester01") # fake call record | |
| # check if response is inteded error code | |
| assert response.status_code == 404 | |
| # GET /call/update-call/{call_id} | |
| # test updating call record based on id | |
| def test_update_call_pass(): | |
| payload = { | |
| "callee_id": "TesterNewName" | |
| } | |
| response = requests.patch(f"http://127.0.0.1:8080/call/update-call/tester02", json=payload) | |
| assert response.status_code == 202 | |
| assert response.json() == { | |
| "call_id": "test001", | |
| "caller_id": "tester01", | |
| "callee_id": "tester02", | |
| "captions": [ | |
| { | |
| "author_id": "tester01", | |
| "author_username": "tester", | |
| "original_text": "It is a test", | |
| "translated_text": "Es un prueba", | |
| } | |
| ] | |
| } | |
| # Test with non-existing user ID | |
| def test_update_call_fail(): | |
| payload = { | |
| "callee_id": "testName" | |
| } | |
| response = requests.patch(f"http://127.0.0.1:8080/users/falseID", json=payload) | |
| assert response.status_code == 404 | |
| # GET /call/update-captions/{call_id} | |
| # test updating caption record based on id | |
| def test_update_caption_pass(): | |
| payload = { | |
| "author_username": "testerNew" | |
| } | |
| response = requests.patch(f"http://127.0.0.1:8080/call/update-caption/tester01", json=payload) | |
| assert response.status_code == 202 | |
| # Test with non-existing user ID | |
| def test_update_call_fail(): | |
| payload = { | |
| "callee_id": "testName" | |
| } | |
| response = requests.patch(f"http://127.0.0.1:8080/update-caption/falseID", json=payload) | |
| assert response.status_code == 404 | |
| # DELETE /call/delete-call/{call_id} | |
| def test_delete_user_pass(): | |
| response = requests.delete(f"http://127.0.0.1:8080//call/delete-call/test001") | |
| assert response.status_code == 200 | |
| def test_delete_user_fail(): | |
| response = requests.delete(f"http://127.0.0.1:8080//call/delete-call/test009") | |
| assert response.status_code == 404 | |