Skip to content

Commit b927a8a

Browse files
committed
Tighten parsing of optional flag
1 parent 17edc96 commit b927a8a

3 files changed

Lines changed: 23 additions & 1 deletion

File tree

maestro-orchestra/src/main/java/maestro/orchestra/yaml/YamlSetAirplaneMode.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ class YamlSetAirplaneModeDeserializer : JsonDeserializer<YamlSetAirplaneMode>()
4343
val value = valueNode.asText()
4444
validateIfLiteral(value)
4545
val label = (root.get("label") as? TextNode)?.textValue()
46-
val optional = root.get("optional")?.toString()?.toBoolean() ?: false
46+
val optional = root.get("optional")?.asBoolean() ?: false
4747

4848
return YamlSetAirplaneMode(
4949
value = value,

maestro-orchestra/src/test/java/maestro/orchestra/yaml/YamlCommandReaderTest.kt

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -909,6 +909,22 @@ internal class YamlCommandReaderTest {
909909
assertThat(messages).contains("It seems you provided invalid input: true")
910910
}
911911

912+
@Test
913+
fun `setAirplaneMode object form parses label and optional`(
914+
@YamlFile("034_setAirplaneMode_optional.yaml") commands: List<Command>
915+
) {
916+
assertThat(commands).containsExactly(
917+
ApplyConfigurationCommand(MaestroConfig(
918+
appId = "com.example.app",
919+
)),
920+
SetAirplaneModeCommand(
921+
value = "enabled",
922+
label = "Maybe enable airplane mode",
923+
optional = true,
924+
),
925+
)
926+
}
927+
912928
@Test
913929
fun `findUnknownWorkspaceConfigKeys returns empty for valid keys`() {
914930
val config = """
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
appId: com.example.app
2+
---
3+
- setAirplaneMode:
4+
value: enabled
5+
label: "Maybe enable airplane mode"
6+
optional: true

0 commit comments

Comments
 (0)