func (s *S) TestPoolListHandler(c *check.C) { team := auth.Team{Name: "angra"} err := s.conn.Teams().Insert(team) c.Assert(err, check.IsNil) token := userWithPermission(c, permission.Permission{ Scheme: permission.PermAppCreate, Context: permission.Context(permission.CtxTeam, "angra"), }) pool := provision.Pool{Name: "pool1", Teams: []string{"angra"}} opts := provision.AddPoolOptions{Name: pool.Name} err = provision.AddPool(opts) c.Assert(err, check.IsNil) err = provision.AddTeamsToPool(pool.Name, pool.Teams) c.Assert(err, check.IsNil) defer provision.RemovePool(pool.Name) opts = provision.AddPoolOptions{Name: "nopool"} err = provision.AddPool(opts) c.Assert(err, check.IsNil) defer provision.RemovePool("nopool") defaultPool, err := provision.GetDefaultPool() c.Assert(err, check.IsNil) expected := []provision.Pool{ *defaultPool, {Name: "pool1", Teams: []string{"angra"}}, } req, err := http.NewRequest("GET", "/pools", nil) c.Assert(err, check.IsNil) rec := httptest.NewRecorder() err = poolList(rec, req, token) c.Assert(err, check.IsNil) var pools []provision.Pool err = json.NewDecoder(rec.Body).Decode(&pools) c.Assert(err, check.IsNil) c.Assert(pools, check.DeepEquals, expected) }
func (s *S) TestPoolListPublicPool(c *check.C) { pool := provision.Pool{Name: "pool1", Public: true} opts := provision.AddPoolOptions{Name: pool.Name, Public: pool.Public} err := provision.AddPool(opts) c.Assert(err, check.IsNil) defer provision.RemovePool(pool.Name) defaultPool, err := provision.GetDefaultPool() c.Assert(err, check.IsNil) expected := []provision.Pool{ *defaultPool, {Name: "pool1", Public: true, Teams: []string{}}, } token := userWithPermission(c, permission.Permission{ Scheme: permission.PermTeamCreate, Context: permission.Context(permission.CtxGlobal, ""), }) req, err := http.NewRequest("GET", "/pools", nil) c.Assert(err, check.IsNil) rec := httptest.NewRecorder() err = poolList(rec, req, token) c.Assert(err, check.IsNil) var pools []provision.Pool err = json.NewDecoder(rec.Body).Decode(&pools) c.Assert(err, check.IsNil) c.Assert(pools, check.DeepEquals, expected) }
func (app *App) SetPool() error { poolName, err := app.getPoolForApp(app.Pool) if err != nil { return err } if poolName == "" { var pool *provision.Pool pool, err = provision.GetDefaultPool() if err != nil { return err } poolName = pool.Name } app.Pool = poolName return nil }