Beispiel #1
0
        public void CallToDoneShouldReturnParentBuilder()
        {
            var builder = new StepBuilder(parent: new ProcessBuilder(id: "p_1"), id: "123", name: "Start", description: "Start Step");
            SecurityBuilder <StepBuilder> sb = new SecurityBuilder <StepBuilder>(builder);

            Assert.AreEqual(builder, sb.Done());
        }
Beispiel #2
0
        public void NullBusinessAdminsShouldThrowException()
        {
            var builder = new StepBuilder(parent: new ProcessBuilder(id: "p_1"), id: "123", name: "Start", description: "Start Step");
            SecurityBuilder <StepBuilder> sb = new SecurityBuilder <StepBuilder>(builder);

            Assert.Throws <ArgumentNullException>(() =>
            {
                sb.AddBusinessAdministrators(null);
            });
        }
Beispiel #3
0
        public void EmptyPotentialShouldThrowException()
        {
            var builder = new StepBuilder(parent: new ProcessBuilder(id: "p_1"), id: "123", name: "Start", description: "Start Step");
            SecurityBuilder <StepBuilder> sb = new SecurityBuilder <StepBuilder>(builder);

            Assert.Throws <ArgumentException>(() =>
            {
                sb.AddPotentialOwners();
            });
        }
        protected override void Seed(ApplicationDbContext context)
        {
            //  This method will be called after migrating to the latest version.

            //  You can use the DbSet<T>.AddOrUpdate() helper extension method
            //  to avoid creating duplicate seed data.


            SecurityBuilder.Run(context);
        }
Beispiel #5
0
 /// <summary>
 /// Adds authorization with the given application policies to the aplication.
 /// </summary>
 /// <param name="builder">The service builder</param>
 /// <param name="options">The security options</param>
 /// <returns>The service builder</returns>
 public static PiranhaServiceBuilder UseSecurity(this PiranhaServiceBuilder builder, Action <SecurityBuilder> options)
 {
     // Add authentication
     builder.Services.AddAuthorization(o =>
     {
         // Invoke the security options
         var securityBuilder = new SecurityBuilder(o, builder);
         options?.Invoke(securityBuilder);
     });
     return(builder);
 }
Beispiel #6
0
        public void DifferentAccountTypesWithThesameNameShouldBeAddedToPotentialOwner()
        {
            var builder = new StepBuilder(parent: new ProcessBuilder(id: "p_1"), id: "123", name: "Start", description: "Start Step");
            SecurityBuilder <StepBuilder> sb = new SecurityBuilder <StepBuilder>(builder);

            sb.AddPotentialOwners(new Tuple <string, AccountTypeEnum>("underwriters",
                                                                      AccountTypeEnum.Group)).
            AddPotentialOwners(new Tuple <string, AccountTypeEnum>("underwriters",
                                                                   AccountTypeEnum.Role));
            Assert.IsNotNull(sb.PotentialOwners);
            Assert.AreEqual(2, sb.PotentialOwners.Count);
        }
Beispiel #7
0
        public void DuplicateBusinessAdminNameShouldBeAddedOnce()
        {
            var builder = new StepBuilder(parent: new ProcessBuilder(id: "p_1"), id: "123", name: "Start", description: "Start Step");
            SecurityBuilder <StepBuilder> sb = new SecurityBuilder <StepBuilder>(builder);

            sb.AddBusinessAdministrators(new Tuple <string, AccountTypeEnum>("underwriters",
                                                                             AccountTypeEnum.Group)).
            AddBusinessAdministrators(new Tuple <string, AccountTypeEnum>("underwriters",
                                                                          AccountTypeEnum.Group));
            Assert.IsNotNull(sb.BusinessAdministrators);
            Assert.AreEqual(1, sb.BusinessAdministrators.Count);
        }
Beispiel #8
0
        public void TestAddNewBusinessAdministrators()
        {
            var builder = new StepBuilder(parent: new ProcessBuilder(id: "p_1"), id: "123", name: "Start", description: "Start Step");
            SecurityBuilder <StepBuilder> sb = new SecurityBuilder <StepBuilder>(builder);

            sb.AddBusinessAdministrators(new Tuple <string, AccountTypeEnum>("underwriters",
                                                                             AccountTypeEnum.Group)).
            AddBusinessAdministrators(new Tuple <string, AccountTypeEnum>("assistants",
                                                                          AccountTypeEnum.Role));
            Assert.IsNotNull(sb.BusinessAdministrators);
            Assert.AreEqual(2, sb.BusinessAdministrators.Count);
        }
Beispiel #9
0
        public void ShouldBeAbleToAddItemsUsingFluentInterface()
        {
            var builder = new StepBuilder(parent: new ProcessBuilder(id: "p_1"), id: "123", name: "Start", description: "Start Step");
            SecurityBuilder <StepBuilder> sb = new SecurityBuilder <StepBuilder>(builder);

            sb.AddPotentialOwners(new Tuple <string, AccountTypeEnum>("underwriters",
                                                                      AccountTypeEnum.Group)).
            AddBusinessAdministrators(new Tuple <string, AccountTypeEnum>("underwriters",
                                                                          AccountTypeEnum.Role));
            Assert.IsNotNull(sb.PotentialOwners);
            Assert.AreEqual(1, sb.PotentialOwners.Count);
            Assert.IsNotNull(sb.BusinessAdministrators);
            Assert.AreEqual(1, sb.BusinessAdministrators.Count);
        }
Beispiel #10
0
    /// <summary>
    /// Adds authorization with the given application policies to the aplication.
    /// </summary>
    /// <param name="builder">The service builder</param>
    /// <param name="builderOptions">The security builder options</param>
    /// <param name="securityOptions">The security options</param>
    /// <returns>The service builder</returns>
    public static PiranhaServiceBuilder UseSecurity(this PiranhaServiceBuilder builder,
                                                    Action <SecurityBuilder> builderOptions, Action <SecurityOptions> securityOptions = null)
    {
        // Configure
        builder.Services.Configure <SecurityOptions>(o => securityOptions?.Invoke(o));

        // Add authentication
        builder.Services.AddAuthorization(o =>
        {
            // Invoke the builder options
            var securityBuilder = new SecurityBuilder(o, builder);
            builderOptions?.Invoke(securityBuilder);
        });
        return(builder);
    }
Beispiel #11
0
        private static IUnityContainer BuildUnityContainer()
        {
            var container = new UnityContainer();

            AccesorsBuilder.RegisterAccesorsDependencies(container);
            BusinessBuilder.RegisterBusinessDependencies(container);
            SecurityBuilder.RegisterServiceDependencies(container);
            SecurityBuilder.RegisterProviderDependencies(container);

            App_Start.MvcUnityContainer.Container = container;

            Resolve(container);

            return(container);
        }
Beispiel #12
0
        public void Configuration(IAppBuilder app)
        {
            ConfigureAuth(app);

            SecurityBuilder.Run(ApplicationDbContext.Create());
        }
Beispiel #13
0
        public void buildCertificateTest()
        {
            SecurityBuilder builder = new SecurityBuilder();

            builder.build();
        }