Stav 23.06.2026

This commit is contained in:
2026-06-23 15:20:56 +02:00
commit 6d91e83e8c
5670 changed files with 1145969 additions and 0 deletions
+148
View File
@@ -0,0 +1,148 @@
# -------------------------------
# --- TEST API serveru
import data as dta
import tst_data
import api_call
import json
import sys
from datetime import datetime
base_url="http://127.0.0.1:8000"
id_kas = "01" #pro testovani
username = "Kobrle" #identifikace zakazky
passwor ="heslo"
cenik = tst_data.create_tst_cenik(id_kas)
ucet = tst_data.create_tst_ucet(id_kas, True) #jen se @ polozkami, ready pro update
print(f'Cenik----------\n{cenik}\n')
print(f'Ucet-----------\n{ucet}\n')
# ----------------------------------------------------------
# prihlaseni a ziskani tokenu, id_kas a terminal client_id
client_id = "01"
ok, response, token = api_call.call_api( "POST", base_url = base_url, endpoint="/login/", client_id=client_id, json={"username": "Kobrle","password": "heslo"})
if ok:
token0000101 = (token:=response["access_token"]) #walrus ma nizsi prioritu, proto ()
refresh_token0000101 = (refresh_token:=response["refresh_token"])
print(f"\nPrihlaseni uspesne-------\n"
f" token= {token0000101}\n"
f" refr_token= {refresh_token0000101}\n{response}\n")
else:
print(f'Bad user name or password\n')
sys.exit(1) #ukonci program s chybovym kodem nebo bez sys muze byt quit()
# -----------------------------------------------------
# nacteni setupu pro pokladnu 09
id_kas = "01"
ok, response, token = api_call.call_api("GET", base_url = base_url, endpoint="/setup/", client_id="01", token=token0000101,
refresh_token=refresh_token0000101, params={"id_kas": id_kas} )
if ok:
print(f"\nSetup nacten OK-------\n{response}\n")
else:
print("Setup failed:\n", response)
sys.exit(1)
# ------------------------------------------------------
# zapis uctu na server, stejny client -> stejne tokeny
ucet.open_at = dta.now_clk_str()
payload = ucet.model_dump()
print(json.dumps(payload, indent=2, ensure_ascii=False))
errtoken = token
ok, resp, token = api_call.call_api("POST",base_url = base_url, endpoint="/ucet/", client_id="01", token=errtoken,
refresh_token=refresh_token, json=payload)
if ok:
print(f'\nUcet pridan OK-------\n{resp}\n')
#ucislo = resp # pro dalsi testy (radeji vezmes z dumpu
else:
print(f'\nAdd ucet fail')
sys.exit(1)
# -----------------------------------------------------
# vypis cislel vsech uctu
ok, resp, token = api_call.call_api(
"GET",
base_url,
"/ucty/",
client_id=client_id,
token=token,
refresh_token=refresh_token,
params={"id_kas": id_kas, "closed": "true", }
)
if not ok:
sys.exit("Nelze načíst účty")
# resp je rovnou list dict → Ucet
ucty = resp["ucty"]
print(ucty )
stul = ucty[-1]["stul"]
print(stul)
sys.exit(0)
# -----------------------------------------------------
# nacte zpet ucet z databaze na serveru dle cisla uctu, i uzavrene
print(f"\nbude se nacitat ucet s cislem stolu {stul}\n")
ok, resp, token = api_call.call_api("GET", base_url = base_url, endpoint="/ucet/", client_id=client_id, token=token, refresh_token=refresh_token,
params={"stul": stul, "block": True})
if ok:
print(f'\nNacteni uctu (zablokovaneho) z DB zpet OK--------\n{resp}\n')
else:
print(f'Nacteni uctu selhalo')
sys.exit(1)
ucet2 = dta.Ucet(**resp) # nacte ucet ze serveru a rozsirime o jednu polozku pro test
ucet2.poloz.append(
dta.UcPol(nazev="Pohar Kiwi", id_card=5, pocet=1, delitel=1, cena=139., dph='1.20', cenhlad='1'))
# -----------------------------------------------------
# provede update uctu na serveru
#token += "123" #simulace expirovaneho tokenu
ok, resp, token = api_call.call_api("POST", base_url = base_url, endpoint="/ucet/", client_id="01", token=token,
refresh_token=refresh_token, json=ucet2.model_dump())
if ok:
print(f'\nUpdate uctu v DB OK-----------\n{resp}\n')
else:
print(f'Ucet update fail')
sys.exit(1)
# -----------------------------------------------------
# nacte zpet ucet z databaze na serveru dle cisla uctu, i uzavrene
print(f"\nbude se nacitat ucet s cislem stolu {stul}\n")
ok, resp, token = api_call.call_api("GET", base_url = base_url, endpoint="/ucet/", client_id=client_id, token=token, refresh_token=refresh_token,
params={"stul": stul, "block": False})
if ok:
print(f'\nNacteni uctu (zablokovaneho) z DB zpet OK--------\n{resp}\n')
else:
print(f'Nacteni uctu selhalo')
sys.exit(1)
ucet2 = dta.Ucet(**resp) # nacte ucet ze serveru a rozsirime o jednu polozku pro test
ucet2.poloz.append(
dta.UcPol(nazev="Pohar Kiwi", id_card=5, pocet=1, delitel=1, cena=139., dph='1.20', cenhlad='1'))
ucet2.sumdph()
suma_czk = ucet2.total_czk()
print(f'{ucet2}\nCelkem:{suma_czk}')
# -----------------------------------------------------
# provede delete uctu na serveru s refresi tokenu
ok, resp, token = api_call.call_api("DELETE", base_url = base_url, endpoint="/ucet/", client_id="01",
token=token, refresh_token=refresh_token,params={"stul": stul} )
if ok:
print(f'\nDelete uctu v DB OK------------\n{resp}\n')
else:
print(f'Ucet delete fail')
sys.exit(1)
# ----------------------------------------------------
# zbyva dodelat testy manualniho blokovani
# kooperace nekolika klientu na jedne zakazce vcetne blokovani
# kooperace nekolika zakazek