Exporting Zone.File to avoid getters and setters Updating getter and setter for Zone.File to be less racy Renaming GetFile to File in zone plugin
This commit is contained in:
parent
908d4fbd23
commit
c2780f42c4
4 changed files with 68 additions and 5 deletions
|
@ -51,4 +51,51 @@ func TestWatcher(t *testing.T) {
|
|||
if _, ok := a.Zones.Z["example.org."]; !ok {
|
||||
t.Errorf("Expected %q to still be there.", "example.org.")
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func TestSymlinks(t *testing.T) {
|
||||
tempdir, err := createFiles()
|
||||
if err != nil {
|
||||
if tempdir != "" {
|
||||
os.RemoveAll(tempdir)
|
||||
}
|
||||
t.Fatal(err)
|
||||
}
|
||||
defer os.RemoveAll(tempdir)
|
||||
|
||||
ldr := loader{
|
||||
directory: tempdir,
|
||||
re: regexp.MustCompile(`db\.(.*)`),
|
||||
template: `${1}`,
|
||||
}
|
||||
|
||||
a := Auto{
|
||||
loader: ldr,
|
||||
Zones: &Zones{},
|
||||
}
|
||||
|
||||
a.Walk()
|
||||
|
||||
// Now create a duplicate file in a subdirectory and repoint the symlink
|
||||
if err := os.Remove(path.Join(tempdir, "db.example.com")); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
dataDir := path.Join(tempdir, "..data")
|
||||
if err = os.Mkdir(dataDir, 0755); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
newFile := path.Join(dataDir, "db.example.com")
|
||||
if err = os.Symlink(path.Join(tempdir, "db.example.org"), newFile); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
a.Walk()
|
||||
|
||||
if storedZone, ok := a.Zones.Z["example.com."]; ok {
|
||||
storedFile := storedZone.File()
|
||||
if storedFile != newFile {
|
||||
t.Errorf("Expected %q to reflect new path %q", storedFile, newFile)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue