func (s *S) TestRoutesRebuildOrEnqueueLocked(c *check.C) { err := s.p.Initialize() c.Assert(err, check.IsNil) coll := s.storage.Apps() a := &app.App{ Name: "almah", Platform: "static", } err = coll.Insert(a) c.Assert(err, check.IsNil) locked, err := app.AcquireApplicationLock(a.Name, "me", "mine") c.Assert(err, check.IsNil) c.Assert(locked, check.Equals, true) err = s.p.Provision(a) c.Assert(err, check.IsNil) invalidAddr, err := url.Parse("http://invalid.addr") c.Assert(err, check.IsNil) err = routertest.FakeRouter.AddRoute(a.GetName(), invalidAddr) c.Assert(err, check.IsNil) lockedRoutesRebuildOrEnqueue(a.GetName()) c.Assert(routertest.FakeRouter.HasRoute(a.GetName(), invalidAddr.String()), check.Equals, true) app.ReleaseApplicationLock(a.Name) err = queue.TestingWaitQueueTasks(1, 10*time.Second) c.Assert(err, check.IsNil) c.Assert(routertest.FakeRouter.HasRoute(a.GetName(), invalidAddr.String()), check.Equals, false) }
func (s *S) TestRoutesRebuildOrEnqueueForceEnqueue(c *check.C) { a := &app.App{ Name: "almah", Platform: "static", TeamOwner: s.team.Name, } err := app.CreateApp(a, s.user) c.Assert(err, check.IsNil) invalidAddr, err := url.Parse("http://invalid.addr") c.Assert(err, check.IsNil) err = routertest.FakeRouter.AddRoute(a.GetName(), invalidAddr) c.Assert(err, check.IsNil) routertest.FakeRouter.FailForIp(invalidAddr.String()) rebuild.RoutesRebuildOrEnqueue(a.GetName()) c.Assert(routertest.FakeRouter.HasRoute(a.GetName(), invalidAddr.String()), check.Equals, true) routertest.FakeRouter.RemoveFailForIp(invalidAddr.String()) err = queue.TestingWaitQueueTasks(1, 10*time.Second) c.Assert(err, check.IsNil) c.Assert(routertest.FakeRouter.HasRoute(a.GetName(), invalidAddr.String()), check.Equals, false) }
func (s *S) TestRoutesRebuildOrEnqueueLocked(c *check.C) { a := &app.App{ Name: "almah", Platform: "static", TeamOwner: s.team.Name, } err := app.CreateApp(a, s.user) c.Assert(err, check.IsNil) locked, err := app.AcquireApplicationLock(a.Name, "me", "mine") c.Assert(err, check.IsNil) c.Assert(locked, check.Equals, true) invalidAddr, err := url.Parse("http://invalid.addr") c.Assert(err, check.IsNil) err = routertest.FakeRouter.AddRoute(a.GetName(), invalidAddr) c.Assert(err, check.IsNil) rebuild.LockedRoutesRebuildOrEnqueue(a.GetName()) c.Assert(routertest.FakeRouter.HasRoute(a.GetName(), invalidAddr.String()), check.Equals, true) app.ReleaseApplicationLock(a.Name) err = queue.TestingWaitQueueTasks(1, 10*time.Second) c.Assert(err, check.IsNil) c.Assert(routertest.FakeRouter.HasRoute(a.GetName(), invalidAddr.String()), check.Equals, false) }
func (s *S) TestRoutesRebuildOrEnqueueForceEnqueue(c *check.C) { err := s.p.Initialize() c.Assert(err, check.IsNil) coll := s.storage.Apps() a := &app.App{ Name: "almah", Platform: "static", } err = coll.Insert(a) c.Assert(err, check.IsNil) err = s.p.Provision(a) c.Assert(err, check.IsNil) invalidAddr, err := url.Parse("http://invalid.addr") c.Assert(err, check.IsNil) err = routertest.FakeRouter.AddRoute(a.GetName(), invalidAddr) c.Assert(err, check.IsNil) routertest.FakeRouter.FailForIp(invalidAddr.String()) routesRebuildOrEnqueue(a.GetName()) c.Assert(routertest.FakeRouter.HasRoute(a.GetName(), invalidAddr.String()), check.Equals, true) routertest.FakeRouter.RemoveFailForIp(invalidAddr.String()) err = queue.TestingWaitQueueTasks(1, 10*time.Second) c.Assert(err, check.IsNil) c.Assert(routertest.FakeRouter.HasRoute(a.GetName(), invalidAddr.String()), check.Equals, false) }