//go:build windows

package daemoncontrol

import (
	"os"
	"path/filepath"
	"testing"
)

func TestReceiptStoreWindowsProtectsReceiptAndMutationLock(t *testing.T) {
	runtimeDir := t.TempDir()
	store := NewReceiptStore(runtimeDir)
	if err := store.Write(validReceipt()); err != nil {
		t.Fatalf("Write() error = %v", err)
	}

	for _, name := range []string{receiptFilename, "." + receiptFilename + ".write.lock"} {
		path := filepath.Join(runtimeDir, name)
		info, err := os.Stat(path)
		if err != nil {
			t.Fatalf("Stat(%q) error = %v", name, err)
		}
		if err := validatePrivateRuntimeFile(path, info); err != nil {
			t.Fatalf("validatePrivateRuntimeFile(%q) error = %v", name, err)
		}
	}
}
