From c1d089565c6598e71d1fdf60b95f7b1a5c74b1bc Mon Sep 17 00:00:00 2001 From: Sergey Pak Date: Fri, 17 Jan 2025 15:51:17 +0100 Subject: [PATCH] fix settingsSync and smoke tests Signed-off-by: Sergey Pak (cherry picked from commit bbfaf6d10bd31b2b7f68d5178b0d2ede5cbdb324) Signed-off-by: Sergey Pak GitOrigin-RevId: 7777fef4cad239d7bf62799511d5708d02078834 --- .idea/modules.xml | 2 +- .../core/communicator/RemoteCommunicatorHolder.kt | 2 +- .../core/communicator/SettingsSyncCommunicatorProvider.kt | 4 ++-- .../settingsSync/core/config/SettingsSyncConfigurable.kt | 2 +- .../com/intellij/settingsSync/core/GitSettingsLogTest.kt | 2 +- .../intellij/settingsSync/core/MockRemoteCommunicator.kt | 8 +++++--- .../intellij/settingsSync/core/SettingsSyncFlowTest.kt | 2 +- .../settingsSync/core/SettingsSyncRealIdeTestBase.kt | 2 +- .../intellij/settingsSync/core/SettingsSyncTestBase.kt | 7 +++++-- .../intellij/settingsSync/SettingsSyncTestAuthService.kt | 2 +- 10 files changed, 19 insertions(+), 14 deletions(-) diff --git a/.idea/modules.xml b/.idea/modules.xml index 35cf25cfc5eb..6f8c88351927 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -918,8 +918,8 @@ - + diff --git a/platform/settings-sync-core/src/com/intellij/settingsSync/core/communicator/RemoteCommunicatorHolder.kt b/platform/settings-sync-core/src/com/intellij/settingsSync/core/communicator/RemoteCommunicatorHolder.kt index 1f3d910e7a53..3a146966deb8 100644 --- a/platform/settings-sync-core/src/com/intellij/settingsSync/core/communicator/RemoteCommunicatorHolder.kt +++ b/platform/settings-sync-core/src/com/intellij/settingsSync/core/communicator/RemoteCommunicatorHolder.kt @@ -74,7 +74,7 @@ object RemoteCommunicatorHolder : SettingsSyncEventListener { } fun getDefaultProvider(): SettingsSyncCommunicatorProvider? { - return getProvider(DEFAULT_PROVIDER_CODE)!! + return getProvider(DEFAULT_PROVIDER_CODE) } fun getProvider(providerCode: String): SettingsSyncCommunicatorProvider? { diff --git a/platform/settings-sync-core/src/com/intellij/settingsSync/core/communicator/SettingsSyncCommunicatorProvider.kt b/platform/settings-sync-core/src/com/intellij/settingsSync/core/communicator/SettingsSyncCommunicatorProvider.kt index 20f274b5fa8e..3e7ce9d0826e 100644 --- a/platform/settings-sync-core/src/com/intellij/settingsSync/core/communicator/SettingsSyncCommunicatorProvider.kt +++ b/platform/settings-sync-core/src/com/intellij/settingsSync/core/communicator/SettingsSyncCommunicatorProvider.kt @@ -30,7 +30,7 @@ interface SettingsSyncCommunicatorProvider { data class SettingsSyncUserData( val id: String, val providerCode: String, - val name: String? = null, - val email: String? = null, + val name: String?, + val email: String?, val printableName: String? = null ) \ No newline at end of file diff --git a/platform/settings-sync-core/src/com/intellij/settingsSync/core/config/SettingsSyncConfigurable.kt b/platform/settings-sync-core/src/com/intellij/settingsSync/core/config/SettingsSyncConfigurable.kt index 0fdf129595ac..ef86dada2e33 100644 --- a/platform/settings-sync-core/src/com/intellij/settingsSync/core/config/SettingsSyncConfigurable.kt +++ b/platform/settings-sync-core/src/com/intellij/settingsSync/core/config/SettingsSyncConfigurable.kt @@ -480,7 +480,7 @@ internal class SettingsSyncConfigurable(private val coroutineScope: CoroutineSco ) { companion object{ val addAccount = UserProviderHolder( - "", SettingsSyncUserData("", ""), "", + "", SettingsSyncUserData("", "", null, null), "", "", "") } diff --git a/platform/settings-sync-core/tests/com/intellij/settingsSync/core/GitSettingsLogTest.kt b/platform/settings-sync-core/tests/com/intellij/settingsSync/core/GitSettingsLogTest.kt index 69f179e6e355..cba814fbe80d 100644 --- a/platform/settings-sync-core/tests/com/intellij/settingsSync/core/GitSettingsLogTest.kt +++ b/platform/settings-sync-core/tests/com/intellij/settingsSync/core/GitSettingsLogTest.kt @@ -463,7 +463,7 @@ internal class GitSettingsLogTest { val jbaEmail = "some-jba-email@jba-mail.com" val jbaName = "JBA Name" - userData = SettingsSyncUserData(jbaName, jbaEmail) + userData = SettingsSyncUserData("mockId", MOCK_CODE, jbaName, jbaEmail) checkUsernameEmail(jbaName, jbaEmail) } diff --git a/platform/settings-sync-core/tests/com/intellij/settingsSync/core/MockRemoteCommunicator.kt b/platform/settings-sync-core/tests/com/intellij/settingsSync/core/MockRemoteCommunicator.kt index 51f969a0a57d..1d977dea790d 100644 --- a/platform/settings-sync-core/tests/com/intellij/settingsSync/core/MockRemoteCommunicator.kt +++ b/platform/settings-sync-core/tests/com/intellij/settingsSync/core/MockRemoteCommunicator.kt @@ -18,6 +18,8 @@ import java.util.concurrent.atomic.AtomicInteger import javax.swing.Icon import kotlin.isInitialized +internal val MOCK_CODE = "MOCK" + internal class MockRemoteCommunicator(override val userId: String) : AbstractServerCommunicator() { private val filesAndVersions = mutableMapOf() private val versionIdStorage = mutableMapOf() @@ -147,10 +149,10 @@ internal class MockRemoteCommunicator(override val userId: String) : AbstractSer internal class MockCommunicatorProvider ( private val remoteCommunicator: SettingsSyncRemoteCommunicator, - override val authService: SettingsSyncAuthService = MockAuthService(SettingsSyncUserData("", "")), + override val authService: SettingsSyncAuthService = MockAuthService(SettingsSyncUserData("mockId", MOCK_CODE, "", "")), ): SettingsSyncCommunicatorProvider { override val providerCode: String - get() = "MOCK" + get() = MOCK_CODE override fun createCommunicator(userId: String): SettingsSyncRemoteCommunicator? = remoteCommunicator } @@ -159,7 +161,7 @@ internal class MockAuthService ( private val userData: SettingsSyncUserData ): SettingsSyncAuthService { override val providerCode: String - get() = "MOCK" + get() = MOCK_CODE override val providerName: String get() = TODO("Not yet implemented") override val icon: Icon? diff --git a/platform/settings-sync-core/tests/com/intellij/settingsSync/core/SettingsSyncFlowTest.kt b/platform/settings-sync-core/tests/com/intellij/settingsSync/core/SettingsSyncFlowTest.kt index 22b553acb054..14a81f099f27 100644 --- a/platform/settings-sync-core/tests/com/intellij/settingsSync/core/SettingsSyncFlowTest.kt +++ b/platform/settings-sync-core/tests/com/intellij/settingsSync/core/SettingsSyncFlowTest.kt @@ -73,7 +73,7 @@ internal class SettingsSyncFlowTest : SettingsSyncTestBase() { // emulate first session with initialization val fileName = "options/laf.xml" val file = configDir.resolve(fileName).write("LaF Initial") - val log = GitSettingsLog(settingsSyncStorage, configDir, disposable, { SettingsSyncUserData("empty", "dummy") }, + val log = GitSettingsLog(settingsSyncStorage, configDir, disposable, { SettingsSyncUserData("mockId", MOCK_CODE, "empty", "dummy") }, initialSnapshotProvider = { MockSettingsSyncIdeMediator.getAllFilesFromSettingsAsSnapshot(configDir) }) log.initialize() log.logExistingSettings() diff --git a/platform/settings-sync-core/tests/com/intellij/settingsSync/core/SettingsSyncRealIdeTestBase.kt b/platform/settings-sync-core/tests/com/intellij/settingsSync/core/SettingsSyncRealIdeTestBase.kt index cc1b5ef29fa4..084bad83facc 100644 --- a/platform/settings-sync-core/tests/com/intellij/settingsSync/core/SettingsSyncRealIdeTestBase.kt +++ b/platform/settings-sync-core/tests/com/intellij/settingsSync/core/SettingsSyncRealIdeTestBase.kt @@ -167,7 +167,7 @@ internal abstract class SettingsSyncRealIdeTestBase : SettingsSyncTestBase() { tempDir.resolve("storage").toPath(), tempDir.resolve("config").toPath(), parentDisposable, - { SettingsSyncUserData("empty", "dummy") }, + { SettingsSyncUserData("mockId", MOCK_CODE,"empty", "dummy") }, initialSnapshotProvider = { SettingsSnapshot( SettingsSnapshot.MetaInfo(Instant.now(), null, true), diff --git a/platform/settings-sync-core/tests/com/intellij/settingsSync/core/SettingsSyncTestBase.kt b/platform/settings-sync-core/tests/com/intellij/settingsSync/core/SettingsSyncTestBase.kt index 29e5d081ad14..14daa988cdf0 100644 --- a/platform/settings-sync-core/tests/com/intellij/settingsSync/core/SettingsSyncTestBase.kt +++ b/platform/settings-sync-core/tests/com/intellij/settingsSync/core/SettingsSyncTestBase.kt @@ -65,9 +65,12 @@ internal abstract class SettingsSyncTestBase { providerEP.unregisterExtension(it) } } - providerEP.registerExtension(MockCommunicatorProvider( + val mockCommunicatorProvider = MockCommunicatorProvider( remoteCommunicator - ), disposable) + ) + providerEP.registerExtension(mockCommunicatorProvider, disposable) + SettingsSyncLocalSettings.getInstance().providerCode = mockCommunicatorProvider.providerCode + SettingsSyncLocalSettings.getInstance().userId = "dummyUserId" val serverState = remoteCommunicator.checkServerState() if (serverState != ServerState.FileNotExists) { diff --git a/plugins/settings-sync/jba/test/com/intellij/settingsSync/SettingsSyncTestAuthService.kt b/plugins/settings-sync/jba/test/com/intellij/settingsSync/SettingsSyncTestAuthService.kt index ef1bee8bd09f..edcc71e4d6ab 100644 --- a/plugins/settings-sync/jba/test/com/intellij/settingsSync/SettingsSyncTestAuthService.kt +++ b/plugins/settings-sync/jba/test/com/intellij/settingsSync/SettingsSyncTestAuthService.kt @@ -14,7 +14,7 @@ internal class SettingsSyncTestAuthService : SettingsSyncAuthService { val loginName = "testLogin" val email = "testEmail@example.com" val presentableName = "presentableName" - return SettingsSyncUserData(loginName, email) + return SettingsSyncUserData(id, "MOCK", loginName, email, presentableName) } override fun getAvailableUserAccounts(): List {