package web import ( "testing" "gitgud.io/mike/mpv-manager/pkg/installer" "github.com/stretchr/testify/assert" ) func TestInstallerForOperationSnapshotsManifestAndDestination(t *testing.T) { base := installer.NewInstaller(installer.ReleaseInfo{Version: "base"}, "/base") s := &Server{ installer: base, releaseInfo: &installer.ReleaseInfo{Version: "first"}, } first := s.installerForOperation("/first") s.releaseInfoMux.Lock() s.releaseInfo = &installer.ReleaseInfo{Version: "second"} s.releaseInfoMux.Unlock() base.SetInstallDir("/changed-base") second := s.installerForOperation("/second") assert.Equal(t, "first", first.ReleaseInfo.Version) assert.Equal(t, "/first", first.InstallDir) assert.Equal(t, "second", second.ReleaseInfo.Version) assert.Equal(t, "/second", second.InstallDir) } func TestReleaseSnapshotDoesNotExposePublishedState(t *testing.T) { s := &Server{releaseInfo: &installer.ReleaseInfo{Version: "published"}} snapshot := s.releaseSnapshot() snapshot.Version = "mutated" assert.Equal(t, "published", s.releaseSnapshot().Version) }