import json import unittest from app import app from models.base import with_session from utils.testcase import base_url, headers from models.user_preference import Preference, UserPreference class UserFeedbackTests(unittest.TestCase): def setUp(self): with with_session() as s: preference = UserPreference.load_by_email_suffix("pingcap.com") preference.internal_api_enabled = True Preference.upsert_by_email_suffix(s, "pingcap.com", preference.to_json()) def test_feedback(self): with app.test_client() as client: url = f"{base_url}/feedback" # good case payload = { "feedback": "like", "comment": "I like this SQL", "session_context_id": 1, "question_id": "question id...", } response = client.post(url, data=json.dumps(payload), headers=headers, content_type="application/json") assert response.status_code == 200, response.text # bad case payload = { "feedback": "like????", "comment": "I like this SQL", "session_context_id": 1, "question_id": "question id...", } response = client.post(url, data=json.dumps(payload), headers=headers, content_type="application/json") assert response.status_code == 400, response.text