|
|
|
@ -1030,3 +1030,56 @@ func TestReadConfigPaths_dir(t *testing.T) {
|
|
|
|
|
t.Fatalf("bad: %#v", config)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func TestKeyringFileExists(t *testing.T) {
|
|
|
|
|
tempDir, err := ioutil.TempDir("", "consul")
|
|
|
|
|
if err != nil {
|
|
|
|
|
t.Fatalf("err: %s", err)
|
|
|
|
|
}
|
|
|
|
|
defer os.RemoveAll(tempDir)
|
|
|
|
|
|
|
|
|
|
fileLAN := filepath.Join(tempDir, SerfLANKeyring)
|
|
|
|
|
fileWAN := filepath.Join(tempDir, SerfWANKeyring)
|
|
|
|
|
config := &Config{DataDir: tempDir, Server: true}
|
|
|
|
|
|
|
|
|
|
// Returns false if we are a server and no keyring files present
|
|
|
|
|
if config.keyringFileExists() {
|
|
|
|
|
t.Fatalf("should return false")
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Returns false if we are a client and no keyring files present
|
|
|
|
|
config.Server = false
|
|
|
|
|
if config.keyringFileExists() {
|
|
|
|
|
t.Fatalf("should return false")
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Returns true if we are a client and the lan file exists
|
|
|
|
|
if err := ioutil.WriteFile(fileLAN, nil, 0600); err != nil {
|
|
|
|
|
t.Fatalf("err: %s", err)
|
|
|
|
|
}
|
|
|
|
|
if !config.keyringFileExists() {
|
|
|
|
|
t.Fatalf("should return true")
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Returns true if we are a server and only the lan file exists
|
|
|
|
|
config.Server = true
|
|
|
|
|
if !config.keyringFileExists() {
|
|
|
|
|
t.Fatalf("should return true")
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Returns true if we are a server and both files exist
|
|
|
|
|
if err := ioutil.WriteFile(fileWAN, nil, 0600); err != nil {
|
|
|
|
|
t.Fatalf("err: %s", err)
|
|
|
|
|
}
|
|
|
|
|
if !config.keyringFileExists() {
|
|
|
|
|
t.Fatalf("should return true")
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Returns true if we are a server and only the wan file exists
|
|
|
|
|
if err := os.Remove(fileLAN); err != nil {
|
|
|
|
|
t.Fatalf("err: %s", err)
|
|
|
|
|
}
|
|
|
|
|
if !config.keyringFileExists() {
|
|
|
|
|
t.Fatalf("should return true")
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|