private static EPDeploymentRolloutCompiled[] ToRolloutItems(params EPCompiled[] compileds) { var items = new EPDeploymentRolloutCompiled[compileds.Length]; for (var i = 0; i < compileds.Length; i++) { items[i] = new EPDeploymentRolloutCompiled(compileds[i]); } return(items); }
public void Run(RegressionEnvironment env) { var @base = env.Compile("@Name('basevar') @public create constant variable int basevar = 1"); var child0 = env.Compile("@Name('s0') select basevar from SupportBean", new RegressionPath().Add(@base)); var child1 = env.Compile( "@Name('child1var') create constant variable int child1var = 2;\n" + "@Name('s1') select basevar, child1var from SupportBean;\n", new RegressionPath().Add(@base)); var child11 = env.Compile("@Name('s2') select basevar, child1var from SupportBean;\n", new RegressionPath().Add(@base).Add(child1)); env.Rollout(ToRolloutItems(@base, child0, child1, child11), null); env.AddListener("s0").AddListener("s1").AddListener("s2"); SendAssert(env, "s1,s2"); env.Milestone(0); SendAssert(env, "s1,s2"); AssertStatementIds(env, "basevar,s0,child1var,s1,s2", 1, 2, 3, 4, 5); var item = new EPDeploymentRolloutCompiled( env.Compile("@Name('s3') select basevar, child1var from SupportBean", new RegressionPath().Add(@base).Add(child1)), null); env.Rollout(Collections.SingletonList(item), null).AddListener("s3"); var deploymentChild11 = env.Deployment.GetDeployment(env.DeploymentId("s2")); EPAssertionUtil.AssertEqualsAnyOrder( new string[] { env.DeploymentId("basevar"), env.DeploymentId("child1var") }, deploymentChild11.DeploymentIdDependencies); env.Milestone(1); SendAssert(env, "s1,s2,s3"); AssertStatementIds(env, "basevar,s0,child1var,s1,s2,s3", 1, 2, 3, 4, 5, 6); env.UndeployAll(); env.Milestone(2); env.CompileDeploy("@Name('s1') select * from SupportBean"); TryInvalidRollout( env, "A precondition is not satisfied: Required dependency variable 'basevar' cannot be found", 0, typeof(EPDeployPreconditionException), child0); AssertStatementIds(env, "s1", 7); env.UndeployAll(); }