Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions Assets/Tests/Editor/OnionAssemblyDependencyTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -212,12 +212,12 @@ public void ToolSettings_WhenLoaded_CompileUnderDomainAssembly()
string toolSettingsDataAssemblyName = typeof(ToolSettingsData).Assembly.GetName().Name;
string editorSettingsDataAssemblyName = typeof(UnityCliLoopEditorSettingsData).Assembly.GetName().Name;
string toolSettingsPortAssemblyName = typeof(IToolSettingsPort).Assembly.GetName().Name;
string editorSettingsServiceAssemblyName = typeof(UnityCliLoopEditorSettingsService).Assembly.GetName().Name;
string editorSettingsPortAssemblyName = typeof(IUnityCliLoopEditorSettingsPort).Assembly.GetName().Name;

Assert.That(toolSettingsDataAssemblyName, Is.EqualTo(DomainAssemblyName));
Assert.That(editorSettingsDataAssemblyName, Is.EqualTo(DomainAssemblyName));
Assert.That(toolSettingsPortAssemblyName, Is.EqualTo(DomainAssemblyName));
Assert.That(editorSettingsServiceAssemblyName, Is.EqualTo(DomainAssemblyName));
Assert.That(editorSettingsPortAssemblyName, Is.EqualTo(DomainAssemblyName));
}

[Test]
Expand Down Expand Up @@ -818,7 +818,7 @@ public void InfrastructureEditorStartup_WhenLoaded_SchedulesSettingsRecoveryInst

Assert.That(
startupSource,
Does.Contain("UnityCliLoopEditorSettingsRecoveryScheduler.ScheduleForEditorStartup(editorSettingsService);"));
Does.Contain("UnityCliLoopEditorSettingsRecoveryScheduler.ScheduleForEditorStartup(editorSettingsPort);"));
Assert.That(startupSource, Does.Not.Contain("RecoverSettingsFileForEditorStartup"));
}

Expand Down
50 changes: 25 additions & 25 deletions Assets/Tests/Editor/SetupWizardWindowTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ public class SetupWizardWindowTests

private bool _settingsFileExisted;
private string _settingsFileContent;
private UnityCliLoopEditorSettingsService _editorSettingsService;
private IUnityCliLoopEditorSettingsPort _editorSettingsPort;
private UnityCliLoopEditorSettingsRepository _editorSettingsRepository;
private UnityCliLoopEditorSessionStateService _sessionStateService;
private UnityCliLoopEditorSessionStateSnapshot _originalSessionState;
Expand All @@ -41,12 +41,12 @@ public void SetUp()
}

DeleteIfExists(SettingsFilePath);
_editorSettingsService =
UnityCliLoopEditorSettingsTestFactory.CreateServiceWithRepository(out _editorSettingsRepository);
_editorSettingsPort =
UnityCliLoopEditorSettingsTestFactory.CreatePortWithRepository(out _editorSettingsRepository);
_sessionStateService = UnityCliLoopEditorSessionStateTestFactory.CreateService();
_originalSessionState = UnityCliLoopEditorSessionStateTestFactory.CaptureSnapshot(_sessionStateService);
_sessionStateService.ClearAll();
SetupWizardWindow.InitializeEditorServices(_editorSettingsService, _sessionStateService);
SetupWizardWindow.InitializeEditorServices(_editorSettingsPort, _sessionStateService);
_editorSettingsRepository.InvalidateCache();
}

Expand Down Expand Up @@ -201,76 +201,76 @@ public void MaybeMarkThirdPartyToolMigrationAutoScan_WhenDisabled_KeepsSessionFl
[Test]
public void MaybeRecordLastSeenSetupWizardState_WhenAutoShow_UpdatesStoredState()
{
_editorSettingsService.SaveSettings(new UnityCliLoopEditorSettingsData
_editorSettingsPort.SaveSettings(new UnityCliLoopEditorSettingsData
{
lastSeenSetupWizardVersion = "1.7.2",
lastSeenSetupWizardMinimumDispatcherVersion = "3.0.1"
});

SetupWizardWindow.MaybeRecordLastSeenSetupWizardState(true, "1.7.3", "3.0.2");

Assert.That(_editorSettingsService.GetLastSeenSetupWizardVersion(), Is.EqualTo("1.7.3"));
Assert.That(_editorSettingsPort.GetLastSeenSetupWizardVersion(), Is.EqualTo("1.7.3"));
Assert.That(
_editorSettingsService.GetSettings().lastSeenSetupWizardMinimumDispatcherVersion,
_editorSettingsPort.GetSettings().lastSeenSetupWizardMinimumDispatcherVersion,
Is.EqualTo("3.0.2"));
}

[Test]
public void MaybeRecordLastSeenSetupWizardState_WhenManualShow_KeepsStoredState()
{
_editorSettingsService.SaveSettings(new UnityCliLoopEditorSettingsData
_editorSettingsPort.SaveSettings(new UnityCliLoopEditorSettingsData
{
lastSeenSetupWizardVersion = "1.7.2",
lastSeenSetupWizardMinimumDispatcherVersion = "3.0.1"
});

SetupWizardWindow.MaybeRecordLastSeenSetupWizardState(false, "1.7.3", "3.0.2");

Assert.That(_editorSettingsService.GetLastSeenSetupWizardVersion(), Is.EqualTo("1.7.2"));
Assert.That(_editorSettingsPort.GetLastSeenSetupWizardVersion(), Is.EqualTo("1.7.2"));
Assert.That(
_editorSettingsService.GetSettings().lastSeenSetupWizardMinimumDispatcherVersion,
_editorSettingsPort.GetSettings().lastSeenSetupWizardMinimumDispatcherVersion,
Is.EqualTo("3.0.1"));
}

[Test]
public void MaybeRecordSuppressedSetupWizardState_WhenAutoShowSuppressed_UpdatesStoredState()
{
_editorSettingsService.SaveSettings(new UnityCliLoopEditorSettingsData
_editorSettingsPort.SaveSettings(new UnityCliLoopEditorSettingsData
{
lastSeenSetupWizardVersion = "1.7.2",
lastSeenSetupWizardMinimumDispatcherVersion = "3.0.1"
});

SetupWizardWindow.MaybeRecordSuppressedSetupWizardState(true, "1.7.3", "3.0.2");

Assert.That(_editorSettingsService.GetLastSeenSetupWizardVersion(), Is.EqualTo("1.7.3"));
Assert.That(_editorSettingsPort.GetLastSeenSetupWizardVersion(), Is.EqualTo("1.7.3"));
Assert.That(
_editorSettingsService.GetSettings().lastSeenSetupWizardMinimumDispatcherVersion,
_editorSettingsPort.GetSettings().lastSeenSetupWizardMinimumDispatcherVersion,
Is.EqualTo("3.0.2"));
}

[Test]
public void MaybeRecordSuppressedSetupWizardState_WhenAutoShowAllowed_KeepsStoredState()
{
_editorSettingsService.SaveSettings(new UnityCliLoopEditorSettingsData
_editorSettingsPort.SaveSettings(new UnityCliLoopEditorSettingsData
{
lastSeenSetupWizardVersion = "1.7.2",
lastSeenSetupWizardMinimumDispatcherVersion = "3.0.1"
});

SetupWizardWindow.MaybeRecordSuppressedSetupWizardState(false, "1.7.3", "3.0.2");

Assert.That(_editorSettingsService.GetLastSeenSetupWizardVersion(), Is.EqualTo("1.7.2"));
Assert.That(_editorSettingsPort.GetLastSeenSetupWizardVersion(), Is.EqualTo("1.7.2"));
Assert.That(
_editorSettingsService.GetSettings().lastSeenSetupWizardMinimumDispatcherVersion,
_editorSettingsPort.GetSettings().lastSeenSetupWizardMinimumDispatcherVersion,
Is.EqualTo("3.0.1"));
}

[Test]
public void TryReuseOpenWindow_WhenExistingWindowAndAutoShow_FocusesWindowAndRecordsVersion()
{
bool focusedExistingWindow = false;
_editorSettingsService.SaveSettings(new UnityCliLoopEditorSettingsData
_editorSettingsPort.SaveSettings(new UnityCliLoopEditorSettingsData
{
lastSeenSetupWizardVersion = "1.7.2",
lastSeenSetupWizardMinimumDispatcherVersion = "3.0.1"
Expand All @@ -285,17 +285,17 @@ public void TryReuseOpenWindow_WhenExistingWindowAndAutoShow_FocusesWindowAndRec

Assert.That(reused, Is.True);
Assert.That(focusedExistingWindow, Is.True);
Assert.That(_editorSettingsService.GetLastSeenSetupWizardVersion(), Is.EqualTo("1.7.3"));
Assert.That(_editorSettingsPort.GetLastSeenSetupWizardVersion(), Is.EqualTo("1.7.3"));
Assert.That(
_editorSettingsService.GetSettings().lastSeenSetupWizardMinimumDispatcherVersion,
_editorSettingsPort.GetSettings().lastSeenSetupWizardMinimumDispatcherVersion,
Is.EqualTo("3.0.2"));
}

[Test]
public void TryReuseOpenWindow_WhenExistingWindowAndManualShow_FocusesWindowWithoutRecordingVersion()
{
bool focusedExistingWindow = false;
_editorSettingsService.SaveSettings(new UnityCliLoopEditorSettingsData
_editorSettingsPort.SaveSettings(new UnityCliLoopEditorSettingsData
{
lastSeenSetupWizardVersion = "1.7.2",
lastSeenSetupWizardMinimumDispatcherVersion = "3.0.1"
Expand All @@ -310,17 +310,17 @@ public void TryReuseOpenWindow_WhenExistingWindowAndManualShow_FocusesWindowWith

Assert.That(reused, Is.True);
Assert.That(focusedExistingWindow, Is.True);
Assert.That(_editorSettingsService.GetLastSeenSetupWizardVersion(), Is.EqualTo("1.7.2"));
Assert.That(_editorSettingsPort.GetLastSeenSetupWizardVersion(), Is.EqualTo("1.7.2"));
Assert.That(
_editorSettingsService.GetSettings().lastSeenSetupWizardMinimumDispatcherVersion,
_editorSettingsPort.GetSettings().lastSeenSetupWizardMinimumDispatcherVersion,
Is.EqualTo("3.0.1"));
}

[Test]
public void TryReuseOpenWindow_WhenNoExistingWindow_DoesNotFocusOrRecordVersion()
{
bool focusedExistingWindow = false;
_editorSettingsService.SaveSettings(new UnityCliLoopEditorSettingsData
_editorSettingsPort.SaveSettings(new UnityCliLoopEditorSettingsData
{
lastSeenSetupWizardVersion = "1.7.2",
lastSeenSetupWizardMinimumDispatcherVersion = "3.0.1"
Expand All @@ -335,9 +335,9 @@ public void TryReuseOpenWindow_WhenNoExistingWindow_DoesNotFocusOrRecordVersion(

Assert.That(reused, Is.False);
Assert.That(focusedExistingWindow, Is.False);
Assert.That(_editorSettingsService.GetLastSeenSetupWizardVersion(), Is.EqualTo("1.7.2"));
Assert.That(_editorSettingsPort.GetLastSeenSetupWizardVersion(), Is.EqualTo("1.7.2"));
Assert.That(
_editorSettingsService.GetSettings().lastSeenSetupWizardMinimumDispatcherVersion,
_editorSettingsPort.GetSettings().lastSeenSetupWizardMinimumDispatcherVersion,
Is.EqualTo("3.0.1"));
}

Expand Down
1 change: 0 additions & 1 deletion Assets/Tests/Editor/StaticFacadeStateGuardTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,6 @@ public sealed class StaticFacadeStateGuardTests
{
"Packages/src/Editor/Application/SessionRecoveryService.cs",
"Packages/src/Editor/Application/UseCases/SkillSetupUseCase.cs",
"Packages/src/Editor/Domain/UnityCliLoopEditorSettingsService.cs",
"Packages/src/Editor/Domain/UnityCliLoopEditorSessionStateService.cs",
"Packages/src/Editor/Infrastructure/Server/DomainReloadDetectionFileService.cs"
};
Expand Down
38 changes: 19 additions & 19 deletions Assets/Tests/Editor/UnityCliLoopEditorSettingsRecoveryTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ public class UnityCliLoopEditorSettingsRecoveryTests
private string _backupFileContent;
private bool _tempFileExisted;
private string _tempFileContent;
private UnityCliLoopEditorSettingsService _editorSettingsService;
private IUnityCliLoopEditorSettingsPort _editorSettingsPort;
private UnityCliLoopEditorSettingsRepository _editorSettingsRepository;
private UnityCliLoopEditorSessionStateService _sessionStateService;
private UnityCliLoopEditorSessionStateSnapshot _originalSessionState;
Expand Down Expand Up @@ -61,8 +61,8 @@ public void SetUp()
DeleteIfExists(LegacySettingsFilePath);
DeleteIfExists(BackupFilePath);
DeleteIfExists(TempFilePath);
_editorSettingsService =
UnityCliLoopEditorSettingsTestFactory.CreateServiceWithRepository(out _editorSettingsRepository);
_editorSettingsPort =
UnityCliLoopEditorSettingsTestFactory.CreatePortWithRepository(out _editorSettingsRepository);
_editorSettingsRepository.InvalidateCache();
_sessionStateService = UnityCliLoopEditorSessionStateTestFactory.CreateService();
_originalSessionState = UnityCliLoopEditorSessionStateTestFactory.CaptureSnapshot(_sessionStateService);
Expand All @@ -86,7 +86,7 @@ public void RecoverSettingsFileIfNeeded_WhenPrimaryMissingAndBackupExists_Should
UnityCliLoopEditorSettingsData backupData = new() { showDeveloperTools = true };
File.WriteAllText(BackupFilePath, JsonUtility.ToJson(backupData, true));

_editorSettingsService.RecoverSettingsFileIfNeeded();
_editorSettingsPort.RecoverSettingsFileIfNeeded();

Assert.IsTrue(File.Exists(SettingsFilePath), "Primary settings file should be restored from backup");
Assert.IsFalse(File.Exists(BackupFilePath), "Backup should be consumed after recovery");
Expand All @@ -104,7 +104,7 @@ public void RecoverSettingsFileIfNeeded_WhenPrimaryMissingAndTempExists_ShouldPr
File.WriteAllText(BackupFilePath, JsonUtility.ToJson(oldData, true));
File.WriteAllText(TempFilePath, JsonUtility.ToJson(newData, true));

_editorSettingsService.RecoverSettingsFileIfNeeded();
_editorSettingsPort.RecoverSettingsFileIfNeeded();

Assert.IsTrue(File.Exists(SettingsFilePath), "Primary settings file should be restored from temp");
Assert.IsFalse(File.Exists(BackupFilePath), "Backup should be removed after temp recovery");
Expand All @@ -123,7 +123,7 @@ public void RecoverSettingsFileIfNeeded_WhenPrimaryExists_ShouldCleanStaleSideca
File.WriteAllText(BackupFilePath, JsonUtility.ToJson(new UnityCliLoopEditorSettingsData { showDeveloperTools = false }, true));
File.WriteAllText(TempFilePath, JsonUtility.ToJson(new UnityCliLoopEditorSettingsData { showDeveloperTools = false }, true));

_editorSettingsService.RecoverSettingsFileIfNeeded();
_editorSettingsPort.RecoverSettingsFileIfNeeded();

Assert.IsFalse(File.Exists(BackupFilePath), "Backup should not linger once primary exists");
Assert.IsFalse(File.Exists(TempFilePath), "Temp should not linger once primary exists");
Expand All @@ -144,8 +144,8 @@ public void GetSettings_WhenLegacySetupWizardStateExists_ShouldMigrateVersionSta
};
File.WriteAllText(LegacySettingsFilePath, JsonUtility.ToJson(legacyData, true));

string lastSeenVersion = _editorSettingsService.GetLastSeenSetupWizardVersion();
bool suppressAutoShow = _editorSettingsService.GetSuppressSetupWizardAutoShow();
string lastSeenVersion = _editorSettingsPort.GetLastSeenSetupWizardVersion();
bool suppressAutoShow = _editorSettingsPort.GetSuppressSetupWizardAutoShow();

Assert.That(lastSeenVersion, Is.EqualTo("2.1.1"));
Assert.That(suppressAutoShow, Is.False);
Expand All @@ -164,7 +164,7 @@ public void GetSettings_WhenLegacySetupWizardAutoShowWasSuppressed_ShouldMigrate
};
File.WriteAllText(LegacySettingsFilePath, JsonUtility.ToJson(legacyData, true));

bool suppressAutoShow = _editorSettingsService.GetSuppressSetupWizardAutoShow();
bool suppressAutoShow = _editorSettingsPort.GetSuppressSetupWizardAutoShow();

Assert.That(suppressAutoShow, Is.True);
Assert.That(File.Exists(LegacySettingsFilePath), Is.False);
Expand All @@ -187,8 +187,8 @@ public void GetSettings_WhenCurrentSetupWizardVersionExistsBeforeMigration_Shoul
File.WriteAllText(SettingsFilePath, JsonUtility.ToJson(currentData, true));
File.WriteAllText(LegacySettingsFilePath, JsonUtility.ToJson(legacyData, true));

string lastSeenVersion = _editorSettingsService.GetLastSeenSetupWizardVersion();
bool suppressAutoShow = _editorSettingsService.GetSuppressSetupWizardAutoShow();
string lastSeenVersion = _editorSettingsPort.GetLastSeenSetupWizardVersion();
bool suppressAutoShow = _editorSettingsPort.GetSuppressSetupWizardAutoShow();

Assert.That(lastSeenVersion, Is.EqualTo("2.1.1"));
Assert.That(suppressAutoShow, Is.False);
Expand All @@ -213,8 +213,8 @@ public void GetSettings_WhenLegacySetupWizardStateAlreadyMigrated_ShouldKeepCurr
File.WriteAllText(SettingsFilePath, JsonUtility.ToJson(currentData, true));
File.WriteAllText(LegacySettingsFilePath, JsonUtility.ToJson(legacyData, true));

string lastSeenVersion = _editorSettingsService.GetLastSeenSetupWizardVersion();
bool suppressAutoShow = _editorSettingsService.GetSuppressSetupWizardAutoShow();
string lastSeenVersion = _editorSettingsPort.GetLastSeenSetupWizardVersion();
bool suppressAutoShow = _editorSettingsPort.GetSuppressSetupWizardAutoShow();

Assert.That(lastSeenVersion, Is.EqualTo("3.0.0-beta.3"));
Assert.That(suppressAutoShow, Is.False);
Expand All @@ -227,7 +227,7 @@ public void GetInstallSkillsFlat_WhenMissingFromSettings_DefaultsToTrue()
File.WriteAllText(SettingsFilePath, "{\"showDeveloperTools\":true}");
_editorSettingsRepository.InvalidateCache();

bool installSkillsFlat = _editorSettingsService.GetSettings().installSkillsFlat;
bool installSkillsFlat = _editorSettingsPort.GetSettings().installSkillsFlat;

Assert.IsTrue(installSkillsFlat);
}
Expand All @@ -252,7 +252,7 @@ public void RecoverSettingsFileIfNeeded_WhenLegacyPortFieldsExist_ShouldRemoveTh
"\"connectedLLMTools\":[{\"Name\":\"codex\",\"Endpoint\":\"/tmp/uloop/test.sock#1\",\"Port\":18449}]" +
"}");

_editorSettingsService.RecoverSettingsFileIfNeeded();
_editorSettingsPort.RecoverSettingsFileIfNeeded();

string recoveredJson = File.ReadAllText(SettingsFilePath);
StringAssert.DoesNotContain("customPort", recoveredJson);
Expand All @@ -275,24 +275,24 @@ public void RecoverSettingsFileIfNeeded_WhenSettingsFileExceedsSizeLimit_ShouldT
{
File.WriteAllText(SettingsFilePath, new string(' ', UnityCliLoopConstants.MAX_SETTINGS_SIZE_BYTES + 1));

Assert.Throws<SecurityException>(() => _editorSettingsService.RecoverSettingsFileIfNeeded());
Assert.Throws<SecurityException>(() => _editorSettingsPort.RecoverSettingsFileIfNeeded());
}

[Test]
public void SetInstallSkillsFlat_PersistsValue()
{
_editorSettingsService.SetInstallSkillsFlat(true);
_editorSettingsPort.SetInstallSkillsFlat(true);
_editorSettingsRepository.InvalidateCache();

bool installSkillsFlat = _editorSettingsService.GetSettings().installSkillsFlat;
bool installSkillsFlat = _editorSettingsPort.GetSettings().installSkillsFlat;

Assert.IsTrue(installSkillsFlat);
}

[Test]
public void UpdateSessionState_WhenStartingServer_ShouldNotPersistRuntimeIdentity()
{
_editorSettingsService.SaveSettings(new UnityCliLoopEditorSettingsData { showDeveloperTools = true });
_editorSettingsPort.SaveSettings(new UnityCliLoopEditorSettingsData { showDeveloperTools = true });
UnityCliLoopServerStartupService service =
new UnityCliLoopServerStartupService(
new TestServerInstanceFactory(),
Expand Down
Loading
Loading