package client import ( "context" "net/http" "net/http/httptest" "testing" "time" appcrypto "netisjwt/internal/crypto" "netisjwt/internal/jws" "netisjwt/internal/statuslist" ) func TestFetchAndVerifyStatus(t *testing.T) { privatePEM, err := appcrypto.UstvariZasebniKljucECDSAP256PEM() if err != nil { t.Fatalf("key gen: %v", err) } list := statuslist.New() list.Dodaj(false) list.Dodaj(true) tokenPath := "/api/status/demo/1" var baseURL string server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { claims, err := jws.SestaviTrditve(baseURL+"/api/status/demo", list, 1, time.Now()) if err != nil { t.Fatalf("build claims: %v", err) } token, err := jws.UstvariZetonIzPEM(privatePEM, claims) if err != nil { t.Fatalf("create token: %v", err) } _, _ = w.Write([]byte(token)) })) defer server.Close() baseURL = server.URL value, err := PridobiInPreveriStatus(context.Background(), server.URL+tokenPath) if err != nil { t.Fatalf("fetch and verify: %v", err) } if !value { t.Fatalf("expected true") } }