Files
openide/platform/remoteDev-util/modelSources/DistributedTestModel.kt
Anastasia Katsman b4dd53e001 [rdct-tests] AT-1029 switch to dev server
[rdct-tests] make sure parameters are calculated only in the test process and fix test sync keymaps between thin clients
[rdct-tests] skip lobby related exceptions in case ApplicationManagerEx.isInIntegrationTest
[rdct-tests] add Product code to the CWM connection link so path are customised in FrontendProcessPathCustomizer and the collect logs test passes
[rdct-tests] fix Should be invoked in manager thread use DebuggerManagerThreadImpl for XSuspendContext.toString
[rdct-tests] add pre and post clean up options for all withServerAndClient variants
[rdct-tests] introduce a way to clean up dev server artifacts deleteArtifactsOfThisRun
eap installers test


Merge-request: IJ-MR-157158
Merged-by: Anastasia Katsman <Anastasia.Katsman@jetbrains.com>

GitOrigin-RevId: c05a79fb5eadb6665df4c2e657f866be9f96a078
2025-03-10 21:44:22 +00:00

97 lines
2.8 KiB
Kotlin

package com.intellij.remoteDev.tests.modelSources
import com.jetbrains.rd.generator.nova.*
import com.jetbrains.rd.generator.nova.PredefinedType.*
/**
* Model to bind test process and an IDE agent (client or server)
*/
object TestRoot : Root()
@Suppress("unused")
object DistributedTestModel : Ext(TestRoot) {
private val RdAgentInfo = structdef {
field("id", string)
field("launchNumber", int)
field("agentType", RdAgentType)
field("productType", RdProductType)
}
private val RdAgentType = enum {
+"HOST"
+"CLIENT"
+"GATEWAY"
}
private val RdProductType = enum {
+"REMOTE_DEVELOPMENT"
+"CODE_WITH_ME"
}
private val RdTestSessionStackTraceElement = structdef {
field("declaringClass", string)
field("methodName", string)
field("fileName", string)
field("lineNumber", int)
}
private val RdTestSessionExceptionCause = structdef {
field("type", string)
field("message", string.nullable)
field("stacktrace", immutableList(RdTestSessionStackTraceElement))
}
private val RdTestSessionException = structdef {
field("type", string)
field("originalType", string.nullable)
field("message", string.nullable)
field("stacktrace", immutableList(RdTestSessionStackTraceElement))
field("cause", RdTestSessionExceptionCause.nullable)
}
private val RdTestActionParameters = structdef {
field("title", string)
field("parameters", immutableList(string).nullable)
}
private val RdTestComponentData = structdef {
field("width", int)
field("height", int)
}
private val RdTestSession = classdef {
field("agentInfo", RdAgentInfo)
field("testClassName", string.nullable)
field("testMethodName", string.nullable)
field("traceCategories", immutableList(string))
field("debugCategories", immutableList(string))
property("ready", bool.nullable)
signal("sendException", RdTestSessionException).async
signal("exitApp", void).async
signal("showNotification", string)
call("forceLeaveAllModals", bool, void).async
call("closeAllOpenedProjects", void, bool).async
call("runNextAction", RdTestActionParameters, string.nullable).async
call("runNextActionGetComponentData", RdTestActionParameters, RdTestComponentData).async
call("requestFocus", bool, bool).async
call("isFocused", void, bool).async
call("visibleFrameNames", void, immutableList(string)).async
call("projectsNames", void, immutableList(string)).async
call("makeScreenshot", string, bool).async
call("isResponding", void, bool).async
call("projectsAreInitialised", void, bool).async
call("getProductCodeAndVersion", void, RdProductInfo).async
}
private val RdProductInfo = structdef {
field("productCode", string)
field("productVersion", string)
}
init {
property("session", RdTestSession.nullable)
}
}