Add tests for model.GetIgnores model.SetIgnores
This commit is contained in:
@@ -369,3 +369,89 @@ func TestClusterConfig(t *testing.T) {
|
|||||||
t.Errorf("Incorrect node ID %x != %x", id, node2)
|
t.Errorf("Incorrect node ID %x != %x", id, node2)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestIgnores(t *testing.T) {
|
||||||
|
arrEqual := func(a, b []string) bool {
|
||||||
|
if len(a) != len(b) {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
for i := range a {
|
||||||
|
if a[i] != b[i] {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
db, _ := leveldb.Open(storage.NewMemStorage(), nil)
|
||||||
|
m := NewModel("/tmp", nil, "node", "syncthing", "dev", db)
|
||||||
|
m.AddRepo(config.RepositoryConfiguration{ID: "default", Directory: "testdata"})
|
||||||
|
|
||||||
|
expected := []string{
|
||||||
|
".*",
|
||||||
|
"quux",
|
||||||
|
}
|
||||||
|
|
||||||
|
ignores, err := m.GetIgnores("default")
|
||||||
|
if err != nil {
|
||||||
|
t.Error(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
if !arrEqual(ignores, expected) {
|
||||||
|
t.Errorf("Incorrect ignores: %v != %v", ignores, expected)
|
||||||
|
}
|
||||||
|
|
||||||
|
ignores = append(ignores, "pox")
|
||||||
|
|
||||||
|
err = m.SetIgnores("default", ignores)
|
||||||
|
if err != nil {
|
||||||
|
t.Error(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
ignores2, err := m.GetIgnores("default")
|
||||||
|
if err != nil {
|
||||||
|
t.Error(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
if arrEqual(expected, ignores2) {
|
||||||
|
t.Errorf("Incorrect ignores: %v == %v", ignores2, expected)
|
||||||
|
}
|
||||||
|
|
||||||
|
if !arrEqual(ignores, ignores2) {
|
||||||
|
t.Errorf("Incorrect ignores: %v != %v", ignores2, ignores)
|
||||||
|
}
|
||||||
|
|
||||||
|
err = m.SetIgnores("default", expected)
|
||||||
|
if err != nil {
|
||||||
|
t.Error(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
ignores, err = m.GetIgnores("default")
|
||||||
|
if err != nil {
|
||||||
|
t.Error(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
if !arrEqual(ignores, expected) {
|
||||||
|
t.Errorf("Incorrect ignores: %v != %v", ignores, expected)
|
||||||
|
}
|
||||||
|
|
||||||
|
ignores, err = m.GetIgnores("doesnotexist")
|
||||||
|
if err == nil {
|
||||||
|
t.Error("No error")
|
||||||
|
}
|
||||||
|
|
||||||
|
err = m.SetIgnores("doesnotexist", expected)
|
||||||
|
if err == nil {
|
||||||
|
t.Error("No error")
|
||||||
|
}
|
||||||
|
|
||||||
|
m.AddRepo(config.RepositoryConfiguration{ID: "fresh", Directory: "XXX"})
|
||||||
|
ignores, err = m.GetIgnores("fresh")
|
||||||
|
if err != nil {
|
||||||
|
t.Error(err)
|
||||||
|
}
|
||||||
|
if len(ignores) > 0 {
|
||||||
|
t.Errorf("Expected no ignores, got: %v", ignores)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user