first commit
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
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")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user