public void CanUseExtensions()
        {
            IDictionary dic = new Dictionary <string, object>();

            dic["name"]     = "kishore";
            dic["age"]      = 30;
            dic["date"]     = DateTime.Today.Date;
            dic["isover21"] = true;
            dic["salary"]   = 20.5;
            dic["job"]      = new Dictionary <string, object>();
            dic.Section("job")["salary"] = 20.5;
            dic.Section("job")["title"]  = "lead dev";

            Assert.AreEqual(dic.Get <string>("name"), "kishore");
            Assert.AreEqual(dic.Get <int>("age"), 30);
            Assert.AreEqual(dic.Get <bool>("isover21"), true);
            Assert.AreEqual(dic.Get <double>("salary"), 20.5);
            Assert.AreEqual(dic.Get <DateTime>("date"), DateTime.Today.Date);

            Assert.AreEqual(dic.Get <double>("job", "salary"), 20.5);
            Assert.AreEqual(dic.Get <string>("job", "title"), "lead dev");

            Assert.AreEqual(dic.Section("job").GetOrDefault <int>("sal", 200000), 200000);
            Assert.AreEqual(dic.Section("job").Get <double>("salary"), 20.5);
        }
        public void GuestOkInherited()
        {
            var settings = new Dictionary<string, object>();
            var helper = new EntitySettingsHelper(settings);
            settings["CommonPermissions"] = new Dictionary<string, object>();
            settings.Section("CommonPermissions")["Create"] = "?";

            Auth.Init(new AuthWin("Admin", new UserPrincipal(1, "kishore", "normaluser", "custom", false)));
            Assert.IsTrue(helper.HasAccessTo("Feedback", "Create"));

            Auth.Init(new AuthWin("Admin", new UserPrincipal(1, "kishore", "normaluser", "custom", true)));
            Assert.IsTrue(helper.HasAccessTo("Feedback", "Create"));
        }
        public void MustBeLoggedIn()
        {            
            var settings = new Dictionary<string, object>();
            var helper = new EntitySettingsHelper(settings);
            settings["Article"] = new Dictionary<string, object>();
            settings.Section("Article")["Create"] = "*";

            Auth.Init(new AuthWin("Admin", new UserPrincipal(1, "kishore", "normaluser", "custom", false)));
            Assert.IsFalse(helper.HasAccessTo("Article", "Create"));

            Auth.Init(new AuthWin("Admin", new UserPrincipal(1, "kishore", "normaluser", "custom", true)));
            Assert.IsTrue(helper.HasAccessTo("Article", "Create"));
        }
        public void MustBeLoggedInInherited()
        {
            var settings = new Dictionary <string, object>();
            var helper   = new EntitySettingsHelper(settings);

            settings["CommonPermissions"] = new Dictionary <string, object>();
            settings.Section("CommonPermissions")["Create"] = "*";

            Auth.Init(new AuthWin("Admin", new UserPrincipal(1, "kishore", "normaluser", "custom", false)));
            Assert.IsFalse(helper.HasAccessTo("Article", "Create"));

            Auth.Init(new AuthWin("Admin", new UserPrincipal(1, "kishore", "normaluser", "custom", true)));
            Assert.IsTrue(helper.HasAccessTo("Article", "Create"));
        }
        public void GuestOk()
        {
            var settings = new Dictionary <string, object>();
            var helper   = new EntitySettingsHelper(settings);

            settings["Article"] = new Dictionary <string, object>();
            settings.Section("Article")["Create"] = "?";

            Auth.Init(new AuthWin("Admin", new UserPrincipal(1, "kishore", "normaluser", "custom", false)));
            Assert.IsTrue(helper.HasAccessTo("Article", "Create"));

            Auth.Init(new AuthWin("Admin", new UserPrincipal(1, "kishore", "normaluser", "custom", true)));
            Assert.IsTrue(helper.HasAccessTo("Article", "Create"));
        }