package inmemdb_test import ( "testing" "time" "git.arav.top/Arav/justcaptcha/pkg/captcha" "git.arav.top/Arav/justcaptcha/pkg/captcha/inmemdb" "git.arav.top/Arav/justcaptcha/pkg/dwcaptcha" ) const expiry = 10 * time.Minute const testData = "192.168.0.1" func TestInMemDBDefaultInstance(t *testing.T) { if inmemdb.GetExpiry() != captcha.DefaultExpiredScanInterval { t.Errorf("expiration is different from a default one (%v != %v)", inmemdb.GetExpiry(), captcha.DefaultExpiredScanInterval) } inmemdb.SetExpiry(expiry) if expiry != inmemdb.GetExpiry() { t.Errorf("Expected %v, but got %v", expiry, inmemdb.GetExpiry()) } captcha, captchaID := inmemdb.New(testData, dwcaptcha.NewDwellingCaptcha(expiry)) if inmemdb.Image(captchaID, "") == nil { t.Error("nil returned instead of an image.Image struct") } if !inmemdb.Solve(captchaID, captcha.Answer()) { t.Error("CAPTCHA not solved. Looks like provided ID wasn't found") } if !inmemdb.IsSolved(captchaID) { t.Error("last test solved a CAPTCHA, but IsSolved() returned false") } } func TestInMemDBNewInstance(t *testing.T) { db := inmemdb.NewInMemoryCaptchaDB(expiry) if db.GetExpiry() != expiry { t.Errorf("expected expiry %v, but got %v", expiry, db.GetExpiry()) } }