public void ShouldWork() { IAclProvider categories = new MemoryProvider(); IAclProvider widgets = new MemoryProvider(); IAclProvider urls = new MemoryProvider(); widgets.SetAcls( new Deny("/", "read", "*"), new Allow("/", "read", "g1") ); urls.SetAcls( new Allow("/c", "read", "g2"), new Deny("/c", "read", "g3"), new Allow("/d", "read", "g3"), new Deny("/d", "read", "*"), new Deny("/", "read", "g2") ); RouterProvider router = new RouterProvider(); router.Register("/a", widgets); router.Register("/a/b", urls); AclManager.DefaultProvider = router; Assert.AreEqual(5, router.GetAcls("/a/b/c", "read").Count()); Assert.AreEqual(5, router.GetAcls("/a/b/d", "read").Count()); Assert.IsTrue(AclManager.IsAllowed("/a/b/c", "read", "g1", "g2")); Assert.IsFalse(AclManager.IsAllowed("/a/b/c", "read", "g1", "g3")); Assert.IsTrue(AclManager.IsAllowed("/a/b/d", "read", "g3")); Assert.IsTrue(AclManager.IsAllowed("/a/b/d", "read", "g1", "g3")); Assert.IsFalse(AclManager.IsAllowed("/a/b/d", "read", "g1", "g2")); Assert.IsFalse(AclManager.IsAllowed("/a/b/c", "read", "g3")); }
public void ShouldNotifyOnAclRuleChange() { var router = new RouterProvider(); AclManager.DefaultProvider = router; router.Register("/travel", new MemoryProvider()); AclManager.RegisterForRuleChange("/travel", s => TestContext.WriteLine("'{0}' has changed", s)); AclManager.AclChanged += new Action <string>(s => TestContext.WriteLine("* '{0}' has changed", s)); AclManager.Allow("/", "read", "*"); AclManager.Deny("/travel", "read", "s.ros"); AclManager.Deny("/travel/asshole", "read", "s.ros"); }
public JsonResult TotalMoney(int?weigh, int?packagelong, int?wide, int?high, string citysender, string cityReceiver, int?kindService) { int router; ServiceCharge serviceCharge = null; var resultExhibiton = new ResultExhibition(); IServiceChargeProvider serviceChargeProvider = new ServiceChargeProvider(); IKindTimeReceivedProvider kindTimeReceivedProvider = new KindTimeReceivedProvider(); IProvinceProvider provinceProvider = new ProvinceProvider(); IRouterProvider routerProvider = new RouterProvider(); var regionSender = provinceProvider.GetRegionOfProvince(citysender); var regionReceiver = provinceProvider.GetRegionOfProvince(cityReceiver); if (regionReceiver == -1 || regionSender == -1) { return(null); } if (citysender.Equals(cityReceiver)) { router = routerProvider.GetIdRouterByName("Nội tỉnh"); } else if (regionSender == regionReceiver) { router = routerProvider.GetIdRouterByName("Nội vùng"); } else { router = routerProvider.GetIdRouterByName("Liên vùng"); } serviceCharge = serviceChargeProvider.GetServiceChargeByKindService(router, kindService.Value); int numberOfDayReceive = kindTimeReceivedProvider.GetKindTimeReceivedById(serviceCharge.KindTimeReceivedId).NumberOfDay; if ((packagelong == null || wide == null || high == null) && weigh == null) { resultExhibiton.TotalMoney = serviceCharge.CostOderUrban; } else { var weighTemp = wide * high * packagelong / 5000; resultExhibiton.TotalMoney = weighTemp > weigh ? ((weighTemp > serviceCharge.Weigh) ? (serviceCharge.CostOderUrban + (int)(weighTemp - serviceCharge.Weigh) / serviceCharge.AddWeight * serviceCharge.AddMoney) : serviceCharge.CostOderUrban) : ((weigh > serviceCharge.Weigh) ? (serviceCharge.CostOderUrban + (int)(weigh - serviceCharge.Weigh) / serviceCharge.AddWeight * serviceCharge.AddMoney) : serviceCharge.CostOderUrban); } resultExhibiton.DayReceiver = (DateTime.Now.Hour > 11) ? DateTime.Now.AddDays(numberOfDayReceive).ToString("dd/MM/yyyy"): DateTime.Now.AddDays(numberOfDayReceive + 1).ToString("dd/MM/yyyy"); return(Json(resultExhibiton, JsonRequestBehavior.AllowGet)); }
public static void Start() { var tmp = typeof(Mitto.Subscription.Messaging.UnSubscribe.ChannelUnSubscribe); System.Console.WriteLine(tmp.Name); var objProvider = new RouterProvider(new RabbitMQParams() { Hostname = "test.crazyzone.be" }); Config.Initialize(new Config.ConfigParams() { RouterProvider = objProvider }); _objConsumer = new Mitto.Routing.RabbitMQ.Consumer.Consumer(new RabbitMQParams()); }
public void ShouldHandleStarVerb() { RouterProvider router = new RouterProvider(); AclManager.DefaultProvider = router; IAclProvider urls = new MemoryProvider(); router.Register("/Widget/Rss/Urls", urls); IAclProvider actions = new MemoryProvider(); router.Register("/Widget", actions); AclManager.Allow("/Widget", "*", "*"); AclManager.Deny("/Widget/Rss/Urls", "access", "~/Widgets/ClientRss/ClientRssWidget.ascx"); AclManager.Allow("/Widget/Rss/Urls/fr/happly", "Access", "~/Widgets/ClientRss/ClientRssWidget.ascx"); AclManager.Deny("/Widget/Rss/Urls/fr/happly/knowledgebank", "access", "~/Widgets/ClientRss/ClientRssWidget.ascx"); Assert.IsFalse(AclManager.IsAllowed("/Widget/Rss/Urls", "access", "~/Widgets/ClientRss/ClientRssWidget.ascx")); Assert.IsFalse(AclManager.IsAllowed("/Widget/Rss/Urls/fr/happly/knowledgebank", "access", "~/Widgets/ClientRss/ClientRssWidget.ascx")); Assert.IsTrue(AclManager.IsAllowed("/Widget/Rss/Urls/fr/happly/knoledgebank", "access", "~/Widgets/ClientRss/ClientRssWidget.ascx")); Assert.IsTrue(AclManager.IsAllowed("/Widget", "read", "~/Widgets/ClientRss/ClientRssWidget.ascx")); Assert.IsTrue(AclManager.IsAllowed("/Widget/Rss/Urls/fr/happly/knowledgebank", "read", "~/Widgets/ClientRss/ClientRssWidget.ascx")); }
public override CanStartActionResponse Start() { return(new CanStartActionResponse(Request, RouterProvider.HasRequest(Request.RequestID))); }