Prva verzija mini web serverja (flask). Hvala, Github Copilot.
This commit is contained in:
143
tests/test_api.py
Normal file
143
tests/test_api.py
Normal file
@@ -0,0 +1,143 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import requests
|
||||
import time
|
||||
import json
|
||||
|
||||
BASE_URL = 'http://127.0.0.1:5000'
|
||||
|
||||
def test_api():
|
||||
"""Testiraj web API"""
|
||||
|
||||
print("=" * 60)
|
||||
print("Testiranje Web API-ja")
|
||||
print("=" * 60)
|
||||
|
||||
# Testiranje GET /api/state
|
||||
print("\n1. Test GET /api/state (početno stanje)")
|
||||
try:
|
||||
response = requests.get(f'{BASE_URL}/api/state')
|
||||
data = response.json()
|
||||
print(f" Status: {response.status_code}")
|
||||
print(f" Current text: {data.get('current_text', '')[:50]}...")
|
||||
print(f" Caps mode: {data.get('caps_mode')}")
|
||||
print(" ✓ PASS")
|
||||
except Exception as e:
|
||||
print(f" ✗ FAIL: {e}")
|
||||
|
||||
# Testiranje POST /api/load_song
|
||||
print("\n2. Test POST /api/load_song (broj 1)")
|
||||
try:
|
||||
response = requests.post(
|
||||
f'{BASE_URL}/api/load_song',
|
||||
json={'song_number': '1'}
|
||||
)
|
||||
print(f" Status: {response.status_code}")
|
||||
data = response.json()
|
||||
print(f" Response: {data}")
|
||||
|
||||
# Pričekaj da se pesma naloži
|
||||
time.sleep(0.5)
|
||||
|
||||
# Provjeri stanje
|
||||
response = requests.get(f'{BASE_URL}/api/state')
|
||||
state = response.json()
|
||||
print(f" Current text: {state.get('current_text', '')[:50]}...")
|
||||
print(f" Can next: {state.get('can_next')}")
|
||||
print(f" Can prev: {state.get('can_prev')}")
|
||||
print(" ✓ PASS")
|
||||
except Exception as e:
|
||||
print(f" ✗ FAIL: {e}")
|
||||
|
||||
# Testiranje POST /api/next_page
|
||||
print("\n3. Test POST /api/next_page")
|
||||
try:
|
||||
response = requests.post(f'{BASE_URL}/api/next_page')
|
||||
print(f" Status: {response.status_code}")
|
||||
|
||||
# Provjeri stanje
|
||||
time.sleep(0.3)
|
||||
response = requests.get(f'{BASE_URL}/api/state')
|
||||
state = response.json()
|
||||
print(f" Page info: {state.get('page_info')}")
|
||||
print(" ✓ PASS")
|
||||
except Exception as e:
|
||||
print(f" ✗ FAIL: {e}")
|
||||
|
||||
# Testiranje POST /api/prev_page
|
||||
print("\n4. Test POST /api/prev_page")
|
||||
try:
|
||||
response = requests.post(f'{BASE_URL}/api/prev_page')
|
||||
print(f" Status: {response.status_code}")
|
||||
|
||||
# Provjeri stanje
|
||||
time.sleep(0.3)
|
||||
response = requests.get(f'{BASE_URL}/api/state')
|
||||
state = response.json()
|
||||
print(f" Page info: {state.get('page_info')}")
|
||||
print(" ✓ PASS")
|
||||
except Exception as e:
|
||||
print(f" ✗ FAIL: {e}")
|
||||
|
||||
# Testiranje POST /api/toggle_caps
|
||||
print("\n5. Test POST /api/toggle_caps")
|
||||
try:
|
||||
response = requests.post(f'{BASE_URL}/api/toggle_caps')
|
||||
print(f" Status: {response.status_code}")
|
||||
|
||||
time.sleep(0.3)
|
||||
response = requests.get(f'{BASE_URL}/api/state')
|
||||
state = response.json()
|
||||
print(f" Caps mode: {state.get('caps_mode')}")
|
||||
print(f" Text (caps): {state.get('current_text', '')[:50]}...")
|
||||
print(" ✓ PASS")
|
||||
except Exception as e:
|
||||
print(f" ✗ FAIL: {e}")
|
||||
|
||||
# Testiranje POST /api/clear_screen
|
||||
print("\n6. Test POST /api/clear_screen")
|
||||
try:
|
||||
response = requests.post(f'{BASE_URL}/api/clear_screen')
|
||||
print(f" Status: {response.status_code}")
|
||||
|
||||
time.sleep(0.3)
|
||||
response = requests.get(f'{BASE_URL}/api/state')
|
||||
state = response.json()
|
||||
print(f" Current text: {state.get('current_text', '')[:50]}...")
|
||||
print(" ✓ PASS")
|
||||
except Exception as e:
|
||||
print(f" ✗ FAIL: {e}")
|
||||
|
||||
# Testiranje POST /api/search_songs
|
||||
print("\n7. Test POST /api/search_songs")
|
||||
try:
|
||||
response = requests.post(
|
||||
f'{BASE_URL}/api/search_songs',
|
||||
json={'query': 'pesem'}
|
||||
)
|
||||
print(f" Status: {response.status_code}")
|
||||
data = response.json()
|
||||
results = data.get('results', [])
|
||||
print(f" Rezultati: {results}")
|
||||
print(" ✓ PASS")
|
||||
except Exception as e:
|
||||
print(f" ✗ FAIL: {e}")
|
||||
|
||||
# Testiranje GET /
|
||||
print("\n8. Test GET / (HTML stranicu)")
|
||||
try:
|
||||
response = requests.get(f'{BASE_URL}/')
|
||||
print(f" Status: {response.status_code}")
|
||||
print(f" HTML length: {len(response.text)} bytes")
|
||||
print(f" Contains 'Flask': {'Flask' in response.text}")
|
||||
print(" ✓ PASS")
|
||||
except Exception as e:
|
||||
print(f" ✗ FAIL: {e}")
|
||||
|
||||
print("\n" + "=" * 60)
|
||||
print("Testiranje završeno!")
|
||||
print("=" * 60)
|
||||
|
||||
if __name__ == "__main__":
|
||||
test_api()
|
||||
Reference in New Issue
Block a user