func (s *S) TestRebuildRoutesRecreatesCnames(c *check.C) { a := app.App{Name: "my-test-app", TeamOwner: s.team.Name} err := app.CreateApp(&a, s.user) c.Assert(err, check.IsNil) err = provisiontest.ProvisionerInstance.AddUnits(&a, 1, "web", nil) c.Assert(err, check.IsNil) units, err := a.Units() c.Assert(err, check.IsNil) err = a.AddCName("my.cname.com") c.Assert(err, check.IsNil) c.Assert(routertest.FakeRouter.HasCName("my.cname.com"), check.Equals, true) err = routertest.FakeRouter.UnsetCName("my.cname.com", a.Name) c.Assert(err, check.IsNil) c.Assert(routertest.FakeRouter.HasCName("my.cname.com"), check.Equals, false) changes, err := rebuild.RebuildRoutes(&a) c.Assert(err, check.IsNil) c.Assert(changes, check.DeepEquals, &rebuild.RebuildRoutesResult{}) routes, err := routertest.FakeRouter.Routes(a.Name) c.Assert(err, check.IsNil) c.Assert(routes, check.HasLen, 1) c.Assert(routertest.FakeRouter.HasRoute(a.Name, units[0].Address.String()), check.Equals, true) c.Assert(routertest.FakeRouter.HasCName("my.cname.com"), check.Equals, true) }