Ejemplo n.º 1
0
        public Crate CloneCrateAndReplaceArrayWithASingleValue(Crate crateToProcess, string signalledCrateId, int index, string new_label)
        {
            var crate    = CrateManager.ToDto(crateToProcess);
            var rawcrate = crate.Contents;

            var arrayProperties = rawcrate.WalkTokens().OfType <JProperty>().Where(prop => prop.Value.Type == JTokenType.Array);
            var first_array     = arrayProperties.OrderBy(a => a.Path.Length).FirstOrDefault();

            if (first_array == null || first_array.Value.Type != JTokenType.Array)
            {
                throw new ApplicationException("Manifest doesn't represent a collection of elements. Currently Loop activity is only able to process Manifest with a collection at root level. ");
            }

            var arrayProperty = first_array.Value as JArray;
            var element       = arrayProperty[index];

            arrayProperty.Clear();
            arrayProperty.Add(element);
            crate.Id = Guid.NewGuid().ToString();
            var result = CrateManager.FromDto(crate);

            result.Label = new_label;

            return(result);
        }
Ejemplo n.º 2
0
        public override void SetUp()
        {
            base.SetUp();

            AutoMapperBootstrapper.ConfigureAutoMapper();
            ObjectFactory.Configure(x => x.AddRegistry <StructureMapBootStrapper.TestMode>());
            ObjectFactory.Configure(x => x.For <IActivityStore>().Use <ActivityStore>().Singleton());

            var crateStorage        = new CrateStorage(Crate.FromContent("", new OperationalStateCM()));
            var crateDTO            = CrateManager.ToDto(crateStorage);
            var hubCommunicatorMock = new Mock <IHubCommunicator>();

            hubCommunicatorMock.Setup(x => x.GetPayload(It.IsAny <Guid>()))
            .ReturnsAsync(new PayloadDTO(Guid.NewGuid())
            {
                CrateStorage = crateDTO
            });

            ObjectFactory.Configure(cfg => cfg.For <IHubCommunicator>().Use(hubCommunicatorMock.Object));

            CrateManagerHelper = new CrateManager();
            _activityExecutor  = ObjectFactory.GetInstance <ActivityExecutor>();
            _activityStore     = ObjectFactory.GetInstance <IActivityStore>();
            var activityTemplateSummary = new ActivityTemplateSummaryDTO
            {
                Name            = ExplicitTerminalActivityMock.ActivityTemplate.Name,
                Version         = ExplicitTerminalActivityMock.ActivityTemplate.Version,
                TerminalName    = ExplicitTerminalActivityMock.ActivityTemplate.Terminal.Name,
                TerminalVersion = ExplicitTerminalActivityMock.ActivityTemplate.Terminal.Version
            };

            if (_activityStore.GetFactory(activityTemplateSummary.Name, activityTemplateSummary.Version) == null)
            {
                _activityStore.RegisterActivity <ExplicitTerminalActivityMock>(ExplicitTerminalActivityMock.ActivityTemplate);
            }
        }