示例#1
0
        public void DsfActivity_ExecuteTool_DoErrorHandling_DataObjectWithNullResourceIDExpression_ShouldError()
        {
            var onErrorVar = "[[Errors().Messsage]]";

            var mockDataObject = new Mock <IDSFDataObject>();

            mockDataObject.Setup(o => o.Environment)
            .Returns(new ExecutionEnvironment());
            mockDataObject.Setup(o => o.ServerID)
            .Returns(Guid.NewGuid());
            mockDataObject.Setup(o => o.IsDebug)
            .Returns(true);
            mockDataObject.Setup(o => o.ForEachUpdateValue)
            .Returns(1);
            mockDataObject.Setup(o => o.EsbChannel)
            .Returns(new Mock <IEsbChannel>().Object);

            var dataObject = mockDataObject.Object;

            dataObject.Environment.AddError("error one");
            dataObject.Environment.AddError("error one");
            dataObject.Environment.AddError("error two");

            dataObject.Environment.AllErrors.Add("error two");                                                                   //AllErrors - seem to be used as main errors
            dataObject.Environment.Errors.Add(GlobalConstants.InnerErrorTag + "error two" + GlobalConstants.InnerErrorTagEnd);   //Errors - seem to be used as Inner errors
            dataObject.Environment.Errors.Add(GlobalConstants.InnerErrorTag + "error three" + GlobalConstants.InnerErrorTagEnd); //Errors - seem to be used as Inner errors
            dataObject.Environment.Errors.Add(GlobalConstants.InnerErrorTag + "error three" + GlobalConstants.InnerErrorTagEnd); //Errors - seem to be used as Inner errors
            var originalGuid = Guid.NewGuid();
            var act          = new DsfActivity
            {
                UniqueID        = originalGuid.ToString(),
                OnErrorVariable = onErrorVar,
                ResourceID      = new InArgument <Guid>
                {
                    Expression = null
                }
            };

            act.Execute(dataObject, 0);

            var env = dataObject.Environment;
            var onErrorMessageEvaluated = env.Eval("[[Errors(*).Messsage]]", 0) as CommonFunctions.WarewolfEvalResult.WarewolfAtomListresult;

            Assert.IsTrue(dataObject.Environment.HasErrors());
            Assert.IsNotNull(onErrorMessageEvaluated);
            var errorMessage1 = onErrorMessageEvaluated.Item[0].ToString();
            var errorMessage2 = onErrorMessageEvaluated.Item[1].ToString();

            Assert.AreNotEqual("error twoerror three", errorMessage1, "Not sure why we would have our error printed this way");
            Assert.AreEqual("error two", errorMessage1);
            Assert.AreEqual("error three", errorMessage2);
        }
示例#2
0
        public void DsfActivity_ExecuteTool_DataObjectWithNullChannel_ShouldError()

        {
            var dataObject = new DsfDataObject(CurrentDl, Guid.NewGuid())
            {
                ServerID            = Guid.NewGuid(),
                IsDebug             = true,
                ForEachNestingLevel = 1
            };

            var act          = new DsfActivity();
            var originalGuid = Guid.NewGuid();

            act.UniqueID = originalGuid.ToString();
            act.Execute(dataObject, 0);
            Assert.IsTrue(dataObject.Environment.HasErrors());
        }