コード例 #1
0
        public void WorkflowResume_Execute_WithEncryptedValues_Returns_Execution_Completed()
        {
            //------------Setup for test--------------------------
            var newexecutionEnvironment = CreateExecutionEnvironment();

            newexecutionEnvironment.Assign("[[UUID]]", "public", 0);
            newexecutionEnvironment.Assign("[[JourneyName]]", "whatever", 0);

            var resourceId       = Guid.NewGuid();
            var serializer       = new Dev2JsonSerializer();
            var identity         = new MockPrincipal(WindowsIdentity.GetCurrent().Name);
            var currentPrincipal = new GenericPrincipal(identity, new[] { "Role1", "Roll2" });

            Thread.CurrentPrincipal = currentPrincipal;
            var user   = DpapiWrapper.Encrypt(currentPrincipal.Identity.Name);
            var env    = DpapiWrapper.Encrypt(newexecutionEnvironment.ToJson());
            var values = new Dictionary <string, StringBuilder>
            {
                { "resourceID", new StringBuilder(resourceId.ToString()) },
                { "environment", new StringBuilder(env) },
                { "startActivityId", new StringBuilder("4032a11e-4fb3-4208-af48-b92a0602ab4b") },
                { "versionNumber", new StringBuilder("1") },
                { "currentuserprincipal", new StringBuilder(user) }
            };
            var resourceCatalog = new Mock <IResourceCatalog>();
            var newDs           = new DynamicService {
                Name = HandlesType(), ID = resourceId
            };
            var sa = new ServiceAction {
                Name = HandlesType(), ActionType = enActionType.InvokeManagementDynamicService, SourceMethod = HandlesType()
            };

            newDs.Actions.Add(sa);
            resourceCatalog.Setup(catalog => catalog.GetService(GlobalConstants.ServerWorkspaceID, It.IsAny <Guid>(), "")).Returns(newDs);

            var errors = new ErrorResultTO();
            var mockResumableExecutionContainer = new Mock <IResumableExecutionContainer>();

            mockResumableExecutionContainer.Setup(o => o.Execute(out errors, 0)).Verifiable();

            var mockResumableExecutionContainerFactory = new Mock <IResumableExecutionContainerFactory>();

            mockResumableExecutionContainerFactory.Setup(o => o.New(It.IsAny <Guid>(), It.IsAny <ServiceAction>(), It.IsAny <DsfDataObject>()))
            .Returns(mockResumableExecutionContainer.Object);
            CustomContainer.Register(mockResumableExecutionContainerFactory.Object);
            //------------Execute Test---------------------------

            var workflowResume = new WorkflowResume();

            workflowResume.ResourceCatalogInstance = resourceCatalog.Object;
            var jsonResult = workflowResume.Execute(values, null);

            //------------Assert Results-------------------------
            var result = serializer.Deserialize <ExecuteMessage>(jsonResult);

            Assert.IsFalse(result.HasError);
            Assert.AreEqual("Execution Completed.", result.Message.ToString());
        }
コード例 #2
0
        private static IScopedStorage <HttpContext> CreateHttpContextWithPrincipal(
            Action <MockPrincipal> builder = null)
        {
            var principal = new MockPrincipal();

            builder?.Invoke(principal);
            return(new ScopedStorage <HttpContext>
            {
                Value = new DefaultHttpContext
                {
                    User = principal,
                },
            });
        }
コード例 #3
0
        public ClaimValidationPipeTest()
        {
            this.principal = new MockPrincipal();
            var provider = new ServiceCollection()
                           .AddSingleton <IScopedStorage <HttpContext> >(p => new ScopedStorage <HttpContext>
            {
                Value = new DefaultHttpContext {
                    User = this.principal
                }
            })
                           .AddTransient <IClaimValidationPipeFactory <Entity>, ClaimValidationPipeFactory <Entity> >()
                           .BuildServiceProvider();

            this.source = new Source <Entity>(new Entity(), provider);
        }
コード例 #4
0
        public void WorkflowResume_ServiceActionNullForResource_Fails()
        {
            //------------Setup for test--------------------------
            var resourceID       = Guid.NewGuid();
            var serializer       = new Dev2JsonSerializer();
            var identity         = new MockPrincipal(WindowsIdentity.GetCurrent().Name);
            var currentPrincipal = new GenericPrincipal(identity, new[] { "Role1", "Roll2" });

            Thread.CurrentPrincipal = currentPrincipal;
            var values = new Dictionary <string, StringBuilder>
            {
                { "resourceID", new StringBuilder(resourceID.ToString()) },
                { "environment", new StringBuilder("") },
                { "startActivityId", new StringBuilder("4032a11e-4fb3-4208-af48-b92a0602ab4b") },
                { "versionNumber", new StringBuilder("1") },
                { "currentuserprincipal", new StringBuilder(currentPrincipal.Identity.Name) }
            };
            var newDs = new DynamicService {
                Name = HandlesType()
            };
            var nullresourceCatalog = new Mock <IResourceCatalog>();

            nullresourceCatalog.Setup(catalog => catalog.GetService(GlobalConstants.ServerWorkspaceID, resourceID, "")).Returns(newDs);

            //------------Execute Test---------------------------

            var workflowResume = new WorkflowResume();

            workflowResume.ResourceCatalogInstance = nullresourceCatalog.Object;
            var jsonResult = workflowResume.Execute(values, null);

            //------------Assert Results-------------------------

            var result = serializer.Deserialize <ExecuteMessage>(jsonResult);

            Assert.IsTrue(result.HasError);
            Assert.IsTrue(result.Message.ToString().Contains("Error resuming. ServiceAction is null for Resource ID"));
        }
コード例 #5
0
        public void ExtIPrincipal_GetRoles(MockPrincipal principal, string[] expected)
        {
            var result = principal.GetRoles().OrderBy(x => x).ToArray();

            Assert.True(result.SequenceEqual(expected));
        }