Files
2026-10-01 09:50:59 +07:00

43 lines
1.3 KiB
Go

package lexicomai
import "testing"
func TestParseLicense(t *testing.T) {
l, err := ParseLicense([]byte(`{"service":"cls","expire":"2045-01-01","licenses":0,"key":"abc"}`))
if err != nil {
t.Fatalf("ParseLicense error: %v", err)
}
if l.Service != "cls" || l.Expire != "2045-01-01" || l.Licenses != 0 || l.Key != "abc" {
t.Errorf("unexpected license %+v", l)
}
if _, err := ParseLicense([]byte(`{}`)); err == nil {
t.Error("empty license should error (missing service)")
}
if _, err := ParseLicense([]byte(`not json`)); err == nil {
t.Error("malformed license should error")
}
}
func TestVerifyFields(t *testing.T) {
good := &License{Service: "cls", Expire: "2099-01-01", Licenses: 5, Key: "k"}
if notes := good.VerifyFields("cls"); len(notes) != 0 {
t.Errorf("good license warnings: %v", notes)
}
wrong := &License{Service: "spr", Expire: "2099-01-01", Licenses: 5}
if notes := wrong.VerifyFields("cls"); len(notes) == 0 {
t.Error("wrong service should warn")
}
expired := &License{Service: "cls", Expire: "2000-01-01", Licenses: 5}
if notes := expired.VerifyFields("cls"); len(notes) == 0 {
t.Error("expired license should warn")
}
noSeats := &License{Service: "cls", Expire: "2099-01-01", Licenses: 0}
if notes := noSeats.VerifyFields("cls"); len(notes) == 0 {
t.Error("0 seats should warn")
}
}