Skip to content

Commit b216a66

Browse files
authored
Don't make run configurations in test sources (#3148)
1 parent 7b32dff commit b216a66

File tree

3 files changed

+39
-2
lines changed

3 files changed

+39
-2
lines changed
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"type" : "bugfix",
3+
"description" : "Don't attempt to setup run configurations for test code (#3075)"
4+
}

jetbrains-core/src/software/aws/toolkits/jetbrains/services/lambda/execution/local/LocalLambdaRunConfigurationProducer.kt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import com.intellij.execution.actions.LazyRunConfigurationProducer
1010
import com.intellij.execution.configurations.ConfigurationFactory
1111
import com.intellij.openapi.module.ModuleUtilCore
1212
import com.intellij.openapi.project.Project
13+
import com.intellij.openapi.roots.TestSourcesFilter
1314
import com.intellij.openapi.util.Ref
1415
import com.intellij.psi.PsiElement
1516
import org.jetbrains.yaml.psi.YAMLKeyValue
@@ -55,6 +56,11 @@ class LocalLambdaRunConfigurationProducer : LazyRunConfigurationProducer<LocalLa
5556
if (runtimeGroup !in LambdaHandlerResolver.supportedRuntimeGroups()) {
5657
return false
5758
}
59+
60+
if (context.location?.virtualFile?.let { TestSourcesFilter.isTestSources(it, element.project) } == true) {
61+
return false
62+
}
63+
5864
val resolver = LambdaHandlerResolver.getInstance(runtimeGroup)
5965
val handler = resolver.determineHandler(element) ?: return false
6066

jetbrains-core/tst/software/aws/toolkits/jetbrains/services/lambda/execution/local/LocalLambdaRunConfigurationProducerTest.kt

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,17 +20,20 @@ import org.junit.Rule
2020
import org.junit.Test
2121
import software.aws.toolkits.core.lambda.LambdaRuntime
2222
import software.aws.toolkits.jetbrains.services.lambda.sam.findByLocation
23-
import software.aws.toolkits.jetbrains.utils.rules.JavaCodeInsightTestFixtureRule
23+
import software.aws.toolkits.jetbrains.utils.rules.HeavyJavaCodeInsightTestFixtureRule
24+
import software.aws.toolkits.jetbrains.utils.rules.addModule
25+
import software.aws.toolkits.jetbrains.utils.rules.addTestClass
2426
import software.aws.toolkits.jetbrains.utils.rules.openClass
2527
import kotlin.test.assertNotNull
2628

2729
class LocalLambdaRunConfigurationProducerTest {
2830
@Rule
2931
@JvmField
30-
val projectRule = JavaCodeInsightTestFixtureRule()
32+
val projectRule = HeavyJavaCodeInsightTestFixtureRule()
3133

3234
@Test
3335
fun validRunConfigurationIsCreated() {
36+
projectRule.fixture.addModule("main")
3437
val psiClass = projectRule.fixture.openClass(
3538
"""
3639
package com.example;
@@ -55,6 +58,29 @@ class LocalLambdaRunConfigurationProducerTest {
5558
}
5659
}
5760

61+
@Test
62+
fun `does not create run configuration for test class`() {
63+
val newModule = projectRule.fixture.addModule("newModule")
64+
val psiClass = projectRule.fixture.addTestClass(
65+
newModule,
66+
"""
67+
package com.example;
68+
69+
public class LambdaHandler {
70+
public String handleRequest(String request) {
71+
return request.toUpperCase();
72+
}
73+
}
74+
"""
75+
)
76+
77+
val lambdaMethod = psiClass.findMethodsByName("handleRequest", false).first()
78+
runInEdtAndWait {
79+
val runConfiguration = createRunConfiguration(lambdaMethod)
80+
assertThat(runConfiguration).isNull()
81+
}
82+
}
83+
5884
@Test
5985
fun validRunConfigurationIsCreatedFromTemplate() {
6086
runInEdtAndWait {
@@ -110,6 +136,7 @@ Resources:
110136

111137
@Test
112138
fun invalidLambdaIsNotCreated() {
139+
projectRule.fixture.addModule("main")
113140
val psiClass = projectRule.fixture.openClass(
114141
"""
115142
package com.example;

0 commit comments

Comments
 (0)