From 0a12200e5821e9e7894162e88a9c302548570e12 Mon Sep 17 00:00:00 2001 From: "courtmanr@gmail.com" Date: Thu, 27 Nov 2025 10:50:13 +0000 Subject: [PATCH] fix(tests): resolve flaky ID generation and symlink resolution on macOS --- internal/agentupdate/update_test.go | 10 ++++++++-- internal/utils/helpers.go | 5 +++-- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/internal/agentupdate/update_test.go b/internal/agentupdate/update_test.go index b9ff449..078a285 100644 --- a/internal/agentupdate/update_test.go +++ b/internal/agentupdate/update_test.go @@ -369,8 +369,14 @@ func TestSymlinkResolution(t *testing.T) { t.Fatalf("EvalSymlinks failed: %v", err) } - if resolved != realFile { - t.Errorf("EvalSymlinks(%q) = %q, want %q", linkFile, resolved, realFile) + // Normalize realFile in case tmpDir itself contains symlinks (e.g. /var -> /private/var on macOS) + realFileResolved, err := filepath.EvalSymlinks(realFile) + if err != nil { + t.Fatalf("EvalSymlinks on realFile failed: %v", err) + } + + if resolved != realFileResolved { + t.Errorf("EvalSymlinks(%q) = %q, want %q", linkFile, resolved, realFileResolved) } // Verify temp file in same dir as resolved path allows rename diff --git a/internal/utils/helpers.go b/internal/utils/helpers.go index 5dcb45d..f35136f 100644 --- a/internal/utils/helpers.go +++ b/internal/utils/helpers.go @@ -6,12 +6,13 @@ import ( "net/http" "os" "strings" - "time" + + "github.com/google/uuid" ) // GenerateID generates a unique ID with the given prefix func GenerateID(prefix string) string { - return fmt.Sprintf("%s-%d", prefix, time.Now().UnixNano()) + return fmt.Sprintf("%s-%s", prefix, uuid.NewString()) } // WriteJSONResponse writes a JSON response to the http.ResponseWriter