12th_fix error
This commit is contained in:
74
test_notification_api.py
Normal file
74
test_notification_api.py
Normal file
@@ -0,0 +1,74 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
測試通知 API
|
||||
"""
|
||||
|
||||
import requests
|
||||
import json
|
||||
|
||||
# API 基礎 URL
|
||||
BASE_URL = 'http://127.0.0.1:5000/api/v1'
|
||||
|
||||
def test_notification_api():
|
||||
"""測試通知 API 端點"""
|
||||
|
||||
# 首先需要登入獲取 JWT Token
|
||||
# 這裡使用預設的管理員帳號
|
||||
login_data = {
|
||||
'username': 'ymirliu',
|
||||
'password': 'password123' # LDAP 系統預設密碼
|
||||
}
|
||||
|
||||
try:
|
||||
print("Testing notification API...")
|
||||
|
||||
# 登入
|
||||
print("1. Testing login...")
|
||||
login_response = requests.post(f'{BASE_URL}/auth/login', json=login_data, timeout=10)
|
||||
print(f"Login status: {login_response.status_code}")
|
||||
|
||||
if login_response.status_code == 200:
|
||||
token = login_response.json()['data']['access_token']
|
||||
headers = {'Authorization': f'Bearer {token}'}
|
||||
|
||||
# 測試獲取通知列表
|
||||
print("2. Testing get notifications...")
|
||||
notifications_response = requests.get(f'{BASE_URL}/notifications', headers=headers, timeout=10)
|
||||
print(f"Get notifications status: {notifications_response.status_code}")
|
||||
if notifications_response.status_code == 200:
|
||||
data = notifications_response.json()
|
||||
print(f"Response: {json.dumps(data, indent=2, ensure_ascii=False)}")
|
||||
else:
|
||||
print(f"Error response: {notifications_response.text}")
|
||||
|
||||
# 測試創建測試通知
|
||||
print("3. Testing create test notification...")
|
||||
test_notification_response = requests.post(f'{BASE_URL}/notifications/test', headers=headers, timeout=10)
|
||||
print(f"Create test notification status: {test_notification_response.status_code}")
|
||||
if test_notification_response.status_code == 200:
|
||||
data = test_notification_response.json()
|
||||
print(f"Test notification created: {json.dumps(data, indent=2, ensure_ascii=False)}")
|
||||
else:
|
||||
print(f"Error response: {test_notification_response.text}")
|
||||
|
||||
# 再次獲取通知列表,應該能看到測試通知
|
||||
print("4. Testing get notifications again...")
|
||||
notifications_response = requests.get(f'{BASE_URL}/notifications', headers=headers, timeout=10)
|
||||
print(f"Get notifications status: {notifications_response.status_code}")
|
||||
if notifications_response.status_code == 200:
|
||||
data = notifications_response.json()
|
||||
print(f"Updated notifications: {json.dumps(data, indent=2, ensure_ascii=False)}")
|
||||
else:
|
||||
print(f"Error response: {notifications_response.text}")
|
||||
|
||||
else:
|
||||
print(f"Login failed: {login_response.text}")
|
||||
|
||||
except requests.exceptions.ConnectionError:
|
||||
print("Error: Could not connect to server. Make sure the Flask app is running on http://127.0.0.1:5000")
|
||||
except Exception as e:
|
||||
print(f"Error testing notification API: {e}")
|
||||
|
||||
if __name__ == '__main__':
|
||||
test_notification_api()
|
Reference in New Issue
Block a user