Stav 23.06.2026
This commit is contained in:
+148
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user