Tryout go test fuzzing
This commit is contained in:
parent
fce78d234d
commit
38ff8949b9
@ -21,3 +21,18 @@ func TestBBoltStore(t *testing.T) {
|
|||||||
}
|
}
|
||||||
testLoginAttemptStore(s, t)
|
testLoginAttemptStore(s, t)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func FuzzBBoltStore(f *testing.F) {
|
||||||
|
dir := f.TempDir()
|
||||||
|
file, err := os.CreateTemp(dir, "apiary-test-bbolt")
|
||||||
|
if err != nil {
|
||||||
|
f.Fatal(err)
|
||||||
|
}
|
||||||
|
fname := file.Name()
|
||||||
|
file.Close()
|
||||||
|
s, err := store.NewBBoltStore(fname)
|
||||||
|
if err != nil {
|
||||||
|
f.Fatal(err)
|
||||||
|
}
|
||||||
|
fuzzLoginAttemptStore(s, f)
|
||||||
|
}
|
||||||
|
@ -10,6 +10,7 @@ func TestMemoryStore(t *testing.T) {
|
|||||||
s := &store.MemoryStore{}
|
s := &store.MemoryStore{}
|
||||||
testLoginAttemptStore(s, t)
|
testLoginAttemptStore(s, t)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestMemoryStoreWithCache(t *testing.T) {
|
func TestMemoryStoreWithCache(t *testing.T) {
|
||||||
backend := &store.MemoryStore{}
|
backend := &store.MemoryStore{}
|
||||||
s := store.NewCachingStore(backend)
|
s := store.NewCachingStore(backend)
|
||||||
@ -22,3 +23,8 @@ func BenchmarkMemoryStore(b *testing.B) {
|
|||||||
}
|
}
|
||||||
benchmarkLoginAttemptStore(setupFunc, b)
|
benchmarkLoginAttemptStore(setupFunc, b)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func FuzzMemoryStore(f *testing.F) {
|
||||||
|
s := &store.MemoryStore{}
|
||||||
|
fuzzLoginAttemptStore(s, f)
|
||||||
|
}
|
||||||
|
@ -323,3 +323,22 @@ func equalAttempts(a, b []models.LoginAttempt) bool {
|
|||||||
|
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func fuzzLoginAttemptStore(s store.LoginAttemptStore, f *testing.F) {
|
||||||
|
usernames := []string{"username", "root", "ubnt", "pi", "admin"}
|
||||||
|
for _, username := range usernames {
|
||||||
|
f.Add(username)
|
||||||
|
}
|
||||||
|
f.Fuzz(func(t *testing.T, orig string) {
|
||||||
|
attempt := models.LoginAttempt{
|
||||||
|
Date: time.Now(),
|
||||||
|
Username: orig,
|
||||||
|
Password: randomString(8),
|
||||||
|
Country: "NO",
|
||||||
|
}
|
||||||
|
|
||||||
|
if err := s.AddAttempt(&attempt); err != nil {
|
||||||
|
t.Fatalf("error adding: %s", err)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user