Skip to content

Commit

Permalink
Merge pull request #1168 from rainlanguage/2025-01-16-fix-scenario-de…
Browse files Browse the repository at this point in the history
…ployer-name

Update scenario to use scenario key for deployer parsing
  • Loading branch information
findolor authored Jan 17, 2025
2 parents 08a05c5 + d937df4 commit 32ddba9
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 9 deletions.
18 changes: 13 additions & 5 deletions crates/settings/src/scenario.rs
Original file line number Diff line number Diff line change
Expand Up @@ -115,20 +115,28 @@ impl Scenario {
.map(|blocks| Scenario::validate_blocks(&blocks))
.transpose()?;

if let Some(deployer_name) = optional_string(scenario_yaml, "deployer") {
let current_deployer =
Deployer::parse_from_yaml(documents.clone(), &deployer_name, None)?;
let mut current_deployer: Option<Deployer> = None;

if let Ok(dep) = Deployer::parse_from_yaml(documents.clone(), &scenario_key, None) {
current_deployer = Some(dep);
} else if let Some(deployer_name) = optional_string(scenario_yaml, "deployer") {
current_deployer = Some(Deployer::parse_from_yaml(
documents.clone(),
&deployer_name,
None,
)?);
}

if let Some(current_deployer) = current_deployer {
if let Some(parent_deployer) = parent_scenario.deployer.as_ref() {
if current_deployer.key != parent_deployer.key {
return Err(YamlError::ParseScenarioConfigSourceError(
ParseScenarioConfigSourceError::ParentDeployerShadowedError(
deployer_name.clone(),
current_deployer.key.clone(),
),
));
}
}

*deployer = Some(Arc::new(current_deployer));
}

Expand Down
7 changes: 3 additions & 4 deletions crates/settings/src/yaml/dotrain.rs
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,7 @@ mod tests {
label: USD Coin
symbol: USDC
deployers:
deployer1:
scenario1:
address: 0x0000000000000000000000000000000000000002
network: mainnet
deployer2:
Expand All @@ -179,7 +179,6 @@ mod tests {
scenario1:
bindings:
key1: value1
deployer: deployer1
scenarios:
scenario2:
bindings:
Expand Down Expand Up @@ -309,15 +308,15 @@ mod tests {
assert_eq!(scenario1.bindings.get("key1").unwrap(), "value1");
assert_eq!(
*scenario1.deployer.as_ref(),
ob_yaml.get_deployer("deployer1").unwrap()
ob_yaml.get_deployer("scenario1").unwrap()
);
let scenario2 = dotrain_yaml.get_scenario("scenario1.scenario2").unwrap();
assert_eq!(scenario2.bindings.len(), 2);
assert_eq!(scenario2.bindings.get("key1").unwrap(), "value1");
assert_eq!(scenario2.bindings.get("key2").unwrap(), "value2");
assert_eq!(
*scenario2.deployer.as_ref(),
ob_yaml.get_deployer("deployer1").unwrap()
ob_yaml.get_deployer("scenario1").unwrap()
);

let deployment_keys = dotrain_yaml.get_deployment_keys().unwrap();
Expand Down

0 comments on commit 32ddba9

Please sign in to comment.