Beispiel #1
0
        private IEsbExecutionContainer GenerateContainer(ServiceAction serviceAction, IDSFDataObject dataObj, IWorkspace theWorkspace)
        {
            // set the ID for later use ;)
            dataObj.WorkspaceID = _workspace.ID;

            IEsbExecutionContainer result = null;

            if (dataObj.IsServiceTestExecution)
            {
                result = new ServiceTestExecutionContainer(serviceAction, dataObj, _workspace, _esbChannel, _request);
            }
            else
            {
                switch (serviceAction.ActionType)
                {
                case enActionType.InvokeManagementDynamicService:
                    result = new InternalServiceContainer(serviceAction, dataObj, theWorkspace, _esbChannel, _request);
                    break;

                case enActionType.InvokeWebService:
                    result = new WebServiceContainer(serviceAction, dataObj, theWorkspace, _esbChannel);
                    break;

                case enActionType.Workflow:
                    result = new PerfmonExecutionContainer(new WfExecutionContainer(serviceAction, dataObj, theWorkspace, _esbChannel));
                    break;

                case enActionType.RemoteService:
                    result = new RemoteWorkflowExecutionContainer(serviceAction, dataObj, null, _esbChannel);
                    break;
                }
            }
            return(result);
        }
Beispiel #2
0
        public void Execute_GivenNullService_ShouldAddValidError()
        {
            //---------------Set up test pack-------------------
            const string datalist      = "<DataList><scalar1 ColumnIODirection=\"Input\"/><persistantscalar ColumnIODirection=\"Input\"/><rs><f1 ColumnIODirection=\"Input\"/><f2 ColumnIODirection=\"Input\"/></rs><recset><field1/><field2/></recset></DataList>";
            var          serviceAction = new ServiceAction()
            {
                DataListSpecification = new StringBuilder(datalist), ServiceName = "name", Name = "Name"
            };
            var dsfObj = new Mock <IDSFDataObject>();

            dsfObj.Setup(o => o.Environment).Returns(new ExecutionEnvironment());
            dsfObj.Setup(o => o.Environment.Eval(It.IsAny <string>(), It.IsAny <int>(), It.IsAny <bool>(), false))
            .Returns(CommonFunctions.WarewolfEvalResult.NewWarewolfAtomResult(DataStorage.WarewolfAtom.NewDataString("Args")));
            var workSpace                = new Mock <IWorkspace>();
            var channel                  = new Mock <IEsbChannel>();
            var esbExecuteRequest        = new EsbExecuteRequest();
            var internalServiceContainer = new InternalServiceContainer(serviceAction, dsfObj.Object, workSpace.Object, channel.Object, esbExecuteRequest);

            //---------------Assert Precondition----------------
            Assert.AreEqual(4, esbExecuteRequest.Args.Count);
            //---------------Execute Test ----------------------
            ErrorResultTO errorResultTO;

            internalServiceContainer.Execute(out errorResultTO, 1);
            //---------------Test Result -----------------------
            Assert.AreEqual(1, errorResultTO.FetchErrors().Count);
            Assert.AreEqual(string.Format(ErrorResource.CouldNotLocateManagementService, "name"), errorResultTO.FetchErrors().Single());
        }
Beispiel #3
0
        public void GenerateRequestDictionaryFromDataObject_GivenValidArgs_ShouldClearArgsAndErros()
        {
            const string datalist      = "<DataList><scalar1 ColumnIODirection=\"Input\"/><persistantscalar ColumnIODirection=\"Input\"/><rs><f1 ColumnIODirection=\"Input\"/><f2 ColumnIODirection=\"Input\"/></rs><recset><field1/><field2/></recset></DataList>";
            var          serviceAction = new ServiceAction()
            {
                DataListSpecification = new StringBuilder(datalist)
            };
            var dsfObj = new Mock <IDSFDataObject>();

            dsfObj.Setup(o => o.Environment).Returns(new ExecutionEnvironment());
            dsfObj.Setup(o => o.Environment.Eval(It.IsAny <string>(), It.IsAny <int>(), It.IsAny <bool>(), false))
            .Returns(CommonFunctions.WarewolfEvalResult.NewWarewolfAtomResult(DataStorage.WarewolfAtom.NewDataString("Args")));
            var workSpace                = new Mock <IWorkspace>();
            var channel                  = new Mock <IEsbChannel>();
            var esbExecuteRequest        = new EsbExecuteRequest();
            var internalServiceContainer = new InternalServiceContainer(serviceAction, dsfObj.Object, workSpace.Object, channel.Object, esbExecuteRequest);
            var privateObject            = new PrivateObject(internalServiceContainer);

            //---------------Assert Precondition----------------
            Assert.AreEqual(4, esbExecuteRequest.Args.Count);
            //---------------Execute Test ----------------------
            var errorResultTO = new ErrorResultTO();

            privateObject.Invoke("GenerateRequestDictionaryFromDataObject", errorResultTO);

            //---------------Test Result -----------------------
            Assert.AreEqual(0, esbExecuteRequest.Args.Count);
        }
Beispiel #4
0
        public void OnConstruction_GivenValidArgs_ShouldBuildCorrectly()
        {
            //---------------Set up test pack-------------------
            //InternalServiceContainer(ServiceAction sa, IDSFDataObject dataObj, IWorkspace theWorkspace, IEsbChannel esbChannel, EsbExecuteRequest request)

            const string datalist      = "<DataList><scalar1 ColumnIODirection=\"Input\"/><persistantscalar ColumnIODirection=\"Input\"/><rs><f1 ColumnIODirection=\"Input\"/><f2 ColumnIODirection=\"Input\"/></rs><recset><field1/><field2/></recset></DataList>";
            var          serviceAction = new ServiceAction()
            {
                DataListSpecification = new StringBuilder(datalist)
            };
            var dsfObj = new Mock <IDSFDataObject>();

            dsfObj.Setup(o => o.Environment).Returns(new ExecutionEnvironment());
            dsfObj.Setup(o => o.Environment.Eval(It.IsAny <string>(), It.IsAny <int>(), It.IsAny <bool>(), false))
            .Returns(CommonFunctions.WarewolfEvalResult.NewWarewolfAtomResult(DataStorage.WarewolfAtom.NewDataString("Args")));
            var workSpace         = new Mock <IWorkspace>();
            var channel           = new Mock <IEsbChannel>();
            var esbExecuteRequest = new EsbExecuteRequest();
            //---------------Assert Precondition----------------

            //---------------Execute Test ----------------------
            var internalServiceContainer = new InternalServiceContainer(serviceAction, dsfObj.Object, workSpace.Object, channel.Object, esbExecuteRequest);

            //---------------Test Result -----------------------
            Assert.AreEqual(4, esbExecuteRequest.Args.Count);
            Assert.IsNotNull(internalServiceContainer, "Cannot create new InternalServiceContainer object.");
        }
        public void Execute_GivenService_ShouldAddBuildRequestArgs()
        {
            //---------------Set up test pack-------------------
            const string datalist      = "<DataList><scalar1 ColumnIODirection=\"Input\"/><persistantscalar ColumnIODirection=\"Input\"/><rs><f1 ColumnIODirection=\"Input\"/><f2 ColumnIODirection=\"Input\"/></rs><recset><field1/><field2/></recset></DataList>";
            var          serviceAction = new ServiceAction()
            {
                DataListSpecification = new StringBuilder(datalist), ServiceName = "name", Name = "Name"
            };
            var dsfObj = new Mock <IDSFDataObject>();

            dsfObj.Setup(o => o.Environment).Returns(new ExecutionEnvironment());
            dsfObj.Setup(o => o.Environment.Eval(It.IsAny <string>(), It.IsAny <int>()))
            .Returns(CommonFunctions.WarewolfEvalResult.NewWarewolfAtomResult(DataStorage.WarewolfAtom.NewDataString("Args")));
            var workSpace         = new Mock <IWorkspace>();
            var channel           = new Mock <IEsbChannel>();
            var esbExecuteRequest = new EsbExecuteRequest();
            var locater           = new Mock <IEsbManagementServiceLocator>();

            locater.Setup(loc => loc.LocateManagementService("Name")).Returns(new FetchPluginSources());
            var internalServiceContainer = new InternalServiceContainer(serviceAction, dsfObj.Object, workSpace.Object, channel.Object, esbExecuteRequest, locater.Object);

            //---------------Assert Precondition----------------
            Assert.AreEqual(4, esbExecuteRequest.Args.Count);
            //---------------Execute Test ----------------------
            var execute = internalServiceContainer.Execute(out ErrorResultTO errorResultTO, 1);

            //---------------Test Result -----------------------
            locater.VerifyAll();
        }
Beispiel #6
0
        private EsbExecutionContainer GenerateContainer(ServiceAction serviceAction, IDSFDataObject dataObj, IWorkspace theWorkspace)
        {
            // set the ID for later use ;)
            dataObj.WorkspaceID = _workspace.ID;

            EsbExecutionContainer result = null;

            switch (serviceAction.ActionType)
            {
            case Common.Interfaces.Core.DynamicServices.enActionType.InvokeManagementDynamicService:
                result = new InternalServiceContainer(serviceAction, dataObj, theWorkspace, _esbChannel, _request);
                break;

            case Common.Interfaces.Core.DynamicServices.enActionType.InvokeStoredProc:
                result = new DatabaseServiceContainer(serviceAction, dataObj, theWorkspace, _esbChannel);
                break;

            case Common.Interfaces.Core.DynamicServices.enActionType.InvokeWebService:
                result = new WebServiceContainer(serviceAction, dataObj, theWorkspace, _esbChannel);
                break;

            case Common.Interfaces.Core.DynamicServices.enActionType.Plugin:
                result = new PluginServiceContainer(serviceAction, dataObj, theWorkspace, _esbChannel);
                break;

            case Common.Interfaces.Core.DynamicServices.enActionType.Workflow:
                result = new WfExecutionContainer(serviceAction, dataObj, theWorkspace, _esbChannel);
                break;

            case Common.Interfaces.Core.DynamicServices.enActionType.RemoteService:
                result = new RemoteWorkflowExecutionContainer(serviceAction, dataObj, null, _esbChannel);
                break;
            }

            return(result);
        }