Initial
This commit is contained in:
48
internal/client/fetch_status_test.go
Normal file
48
internal/client/fetch_status_test.go
Normal file
@@ -0,0 +1,48 @@
|
||||
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")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user