package storage import ( "os" "path/filepath" "testing" ) func TestWriteFileReplacesAtomically(t *testing.T) { dir := filepath.Join(t.TempDir(), "new", "dir") path := filepath.Join(dir, "file") for _, content := range []string{"first", "second"} { if err := WriteFile(path, []byte(content), 0o600); err != nil { t.Fatal(err) } got, err := os.ReadFile(path) if err != nil || string(got) != content { t.Fatalf("got %q, %v; want %q", got, err, content) } } info, err := os.Stat(path) if err != nil || info.Mode().Perm() != 0o600 { t.Errorf("mode %v, %v; want 0600", info.Mode().Perm(), err) } entries, _ := os.ReadDir(dir) if len(entries) != 1 { t.Errorf("temporary files left behind: %v", entries) } }