Example #1
0
        public void Verify_can_create_user_permissions()
        {
            var container = GetContainerBuilder().BuildServiceProvider();
            var result    = container.GetService <IBrokerObjectFactory>()
                            .Object <UserPermissions>()
                            .Create(x =>
            {
                x.User("haredu_user");
                x.Configure(c =>
                {
                    c.UsingConfigurePattern(".*");
                    c.UsingReadPattern(".*");
                    c.UsingWritePattern(".*");
                });
                x.Targeting(t => t.VirtualHost("HareDu5"));
            })
                            .GetResult();

            result.HasFaulted.ShouldBeFalse();
            result.DebugInfo.ShouldNotBeNull();

            UserPermissionsDefinition definition = result.DebugInfo.Request.ToObject <UserPermissionsDefinition>();

            definition.Configure.ShouldBe(".*");
            definition.Write.ShouldBe(".*");
            definition.Read.ShouldBe(".*");
        }
Example #2
0
        public void Verify_cannot_create_user_permissions_9()
        {
            var container = GetContainerBuilder().BuildServiceProvider();
            var result    = container.GetService <IBrokerObjectFactory>()
                            .Object <UserPermissions>()
                            .Create(x =>
            {
                x.Configure(c =>
                {
                    c.UsingConfigurePattern(".*");
                    c.UsingReadPattern(".*");
                    c.UsingWritePattern(".*");
                });
            })
                            .GetResult();

            result.HasFaulted.ShouldBeTrue();
            result.Errors.Count.ShouldBe(2);
            result.DebugInfo.ShouldNotBeNull();

            UserPermissionsDefinition definition = result.DebugInfo.Request.ToObject <UserPermissionsDefinition>();

            definition.Configure.ShouldBe(".*");
            definition.Write.ShouldBe(".*");
            definition.Read.ShouldBe(".*");
        }
Example #3
0
        public async Task <Result> Create(Action <UserPermissionsCreateAction> action, CancellationToken cancellationToken = default)
        {
            cancellationToken.RequestCanceled();

            var impl = new UserPermissionsCreateActionImpl();

            action(impl);

            impl.Validate();

            UserPermissionsDefinition definition = impl.Definition.Value;

            Debug.Assert(definition != null);

            string url = $"api/permissions/{impl.VirtualHost.Value.ToSanitizedName()}/{impl.Username.Value}";

            if (impl.Errors.Value.Any())
            {
                return(new FaultedResult(impl.Errors.Value, new DebugInfoImpl(url, definition.ToJsonString(Deserializer.Options))));
            }

            return(await Put(url, definition, cancellationToken).ConfigureAwait(false));
        }