Skip to content

Commit 0d0c28b

Browse files
authored
Fix Lambda run configuration exception while setting handler architec… (#3057)
1 parent 90fc046 commit 0d0c28b

File tree

2 files changed

+5
-1
lines changed

2 files changed

+5
-1
lines changed

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import com.intellij.openapi.options.SettingsEditor
88
import com.intellij.openapi.project.Project
99
import com.intellij.util.PathMappingSettings
1010
import software.aws.toolkits.jetbrains.services.lambda.execution.registerConfigValidationListeners
11+
import software.aws.toolkits.jetbrains.services.lambda.execution.validateSupportedArchitecture
1112
import software.aws.toolkits.jetbrains.services.lambda.validation.LambdaHandlerValidator
1213
import software.aws.toolkits.jetbrains.utils.ui.selected
1314
import javax.swing.JComponent
@@ -39,7 +40,7 @@ class LocalLambdaRunSettingsEditor(project: Project) : SettingsEditor<LocalLambd
3940
}
4041
} else {
4142
view.rawSettings.runtimeModel.selectedItem = configuration.runtime()
42-
view.rawSettings.architectureModel.selectedItem = configuration.architecture()
43+
view.rawSettings.architectureModel.selectedItem = configuration.architecture()?.validateSupportedArchitecture()
4344
view.rawSettings.handlerPanel.handler.text = configuration.handler() ?: ""
4445
view.rawSettings.timeoutSlider.value = configuration.timeout()
4546
view.rawSettings.memorySlider.value = configuration.memorySize()

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import org.junit.Test
1919
import org.junit.rules.TemporaryFolder
2020
import software.amazon.awssdk.auth.credentials.AwsBasicCredentials
2121
import software.amazon.awssdk.services.lambda.model.Runtime
22+
import software.aws.toolkits.core.lambda.LambdaArchitecture
2223
import software.aws.toolkits.core.lambda.LambdaRuntime
2324
import software.aws.toolkits.core.rules.EnvironmentVariableHelper
2425
import software.aws.toolkits.jetbrains.core.credentials.MockCredentialManagerRule
@@ -642,6 +643,7 @@ class LocalLambdaRunConfigurationTest {
642643
"""
643644
<configuration name="HelloWorldFunction" type="aws.lambda" factoryName="Local" temporary="true" nameIsGenerated="true">
644645
<option name="credentialProviderId" value="profile:default" />
646+
<option name="architecture" value="arm64" />
645647
<option name="environmentVariables">
646648
<map>
647649
<entry key="Foo" value="Bar" />
@@ -669,6 +671,7 @@ class LocalLambdaRunConfigurationTest {
669671
assertThat(runConfiguration.templateFile()).isNull()
670672
assertThat(runConfiguration.logicalId()).isNull()
671673
assertThat(runConfiguration.handler()).isEqualTo("helloworld.App::handleRequest")
674+
assertThat(runConfiguration.architecture()).isEqualTo(LambdaArchitecture.ARM64.toString())
672675
assertThat(runConfiguration.runtime()).isEqualTo(LambdaRuntime.PYTHON3_6)
673676
assertThat(runConfiguration.environmentVariables()).containsAllEntriesOf(mapOf("Foo" to "Bar"))
674677
assertThat(runConfiguration.regionId()).isEqualTo("us-west-2")

0 commit comments

Comments
 (0)