Skip to content

Commit

Permalink
fix EnvVarRequirement
Browse files Browse the repository at this point in the history
  • Loading branch information
caroott authored and kMutagene committed Oct 21, 2024
1 parent 3c5e2f8 commit 86913f6
Show file tree
Hide file tree
Showing 5 changed files with 24 additions and 4 deletions.
20 changes: 19 additions & 1 deletion src/CWL/Decode.fs
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,24 @@ module Decode =
}
dockerReq

let envVarRequirementDecoder (get: Decode.IGetters): EnvironmentDef[] =
let envDef =
get.Required.Field
"envDef"
(
Decode.seq
(
Decode.object (fun get2 ->
{
EnvName = get2.Required.Field "envName" Decode.string
EnvValue = get2.Required.Field "envValue" Decode.string
}
)
)
)
envDef
|> Seq.toArray

let requirementArrayDecoder: (YAMLiciousTypes.YAMLElement -> Requirement[]) =
Decode.array
(
Expand All @@ -115,7 +133,7 @@ module Decode =
| "DockerRequirement" -> DockerRequirement (dockerRequirementDecoder get)
| "SoftwareRequirement" -> SoftwareRequirement [||]
| "InitialWorkDirRequirement" -> InitialWorkDirRequirement [||]
| "EnvVarRequirement" -> EnvVarRequirement {EnvName = ""; EnvValue = ""}
| "EnvVarRequirement" -> EnvVarRequirement (envVarRequirementDecoder get)
| "ShellCommandRequirement" -> ShellCommandRequirement
| "ResourceRequirement" -> ResourceRequirement (ResourceRequirementInstance())
| "NetworkAccess" -> NetworkAccessRequirement
Expand Down
2 changes: 1 addition & 1 deletion src/CWL/Requirements.fs
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ module Requirements =
| DockerRequirement of DockerRequirement
| SoftwareRequirement of SoftwarePackage []
| InitialWorkDirRequirement of CWLType []
| EnvVarRequirement of EnvironmentDef
| EnvVarRequirement of EnvironmentDef []
| ShellCommandRequirement
| ResourceRequirement of ResourceRequirementInstance
| NetworkAccessRequirement
Expand Down
2 changes: 1 addition & 1 deletion tests/CWL/CWLObject.Tests.fs
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ let testCWLToolDescription =
(expected = actual)
$"Expected: {expected}\nActual: {actual}"
testCase "EnvVarRequirement" <| fun _ ->
let expected = EnvVarRequirement {EnvName = ""; EnvValue = ""}
let expected = EnvVarRequirement [|{EnvName = "DOTNET_NOLOGO"; EnvValue = "true"}|]
let actual = requirementsItem.Value.[1]
Expect.isTrue
(expected = actual)
Expand Down
2 changes: 1 addition & 1 deletion tests/CWL/Requirements.Tests.fs
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ let testRequirement =
testList "EnvVarRequirement" [
let envVarItem = decodeRequirement.[2]
testCase "Class" <| fun _ ->
let expected = EnvVarRequirement {EnvName = ""; EnvValue = ""}
let expected = EnvVarRequirement [|{EnvName = "DOTNET_NOLOGO"; EnvValue = "true"}; {EnvName = "TEST"; EnvValue = "false"}|]
let actual = envVarItem
Expect.isTrue
(expected = actual)
Expand Down
2 changes: 2 additions & 0 deletions tests/TestingUtils/TestObjects.CWL/Requirements.fs
Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,7 @@ let requirements ="""requirements:
envDef:
- envName: DOTNET_NOLOGO
envValue: "true"
- envName: TEST
envValue: "false"
- class: NetworkAccess
networkAccess: true"""

0 comments on commit 86913f6

Please sign in to comment.