Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
            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();
            }