func (s *S) TestShellToContainerWithUnit(c *check.C) { guesser := cmdtest.FakeGuesser{Name: "myapp"} server := httptest.NewServer(buildHandler([]byte("hello my friend\nglad to see you here\n"))) defer server.Close() target := "http://" + server.Listener.Addr().String() targetRecover := cmdtest.SetTargetFile(c, []byte(target)) defer cmdtest.RollbackFile(targetRecover) tokenRecover := cmdtest.SetTokenFile(c, []byte("abc123")) defer cmdtest.RollbackFile(tokenRecover) var stdout, stderr, stdin bytes.Buffer context := Context{ Args: []string{"containerid"}, Stdout: &stdout, Stderr: &stderr, Stdin: &stdin, } var command ShellToContainerCmd command.GuessingCommand = GuessingCommand{G: &guesser} err := command.Flags().Parse(true, []string{"-a", "myapp"}) c.Assert(err, check.IsNil) manager := NewManager("admin", "0.1", "admin-ver", &stdout, &stderr, nil, nil) client := NewClient(http.DefaultClient, &context, manager) err = command.Run(&context, client) c.Assert(err, check.IsNil) c.Assert(stdout.String(), check.Equals, "hello my friend\nglad to see you here\n") }
func (s *S) SetUpSuite(c *check.C) { s.recover = cmdtest.SetTargetFile(c, []byte("http://localhost")) s.recoverToken = cmdtest.SetTokenFile(c, []byte("abc123")) if env := os.Getenv("TERM"); env == "" { os.Setenv("TERM", "tsuruterm") } }
func (s *S) SetUpSuite(c *check.C) { s.collName = "docker_unit" s.imageCollName = "docker_image" s.repoNamespace = "tsuru" s.sshUser = "******" config.Set("database:url", "127.0.0.1:27017") config.Set("database:name", "docker_provision_tests_s") config.Set("docker:repository-namespace", s.repoNamespace) config.Set("docker:router", "fake") config.Set("docker:collection", s.collName) config.Set("docker:deploy-cmd", "/var/lib/tsuru/deploy") config.Set("docker:run-cmd:bin", "/usr/local/bin/circusd /etc/circus/circus.ini") config.Set("docker:run-cmd:port", "8888") config.Set("docker:user", s.sshUser) config.Set("docker:cluster:mongo-url", "127.0.0.1:27017") config.Set("docker:cluster:mongo-database", "docker_provision_tests_cluster_stor") config.Set("queue:mongo-url", "127.0.0.1:27017") config.Set("queue:mongo-database", "queue_provision_docker_tests") config.Set("routers:fake:type", "fake") config.Set("repo-manager", "fake") config.Set("admin-team", "admin") config.Set("docker:registry-max-try", 1) config.Set("auth:hash-cost", bcrypt.MinCost) s.deployCmd = "/var/lib/tsuru/deploy" s.runBin = "/usr/local/bin/circusd" s.runArgs = "/etc/circus/circus.ini" s.port = "8888" s.targetRecover = cmdtest.SetTargetFile(c, []byte("http://localhost")) s.oldProvisioner = app.Provisioner var err error s.storage, err = db.Conn() c.Assert(err, check.IsNil) clusterDbUrl, _ := config.GetString("docker:cluster:mongo-url") s.clusterSess, err = mgo.Dial(clusterDbUrl) c.Assert(err, check.IsNil) err = dbtest.ClearAllCollections(s.storage.Apps().Database) c.Assert(err, check.IsNil) s.user = &auth.User{Email: "*****@*****.**", Password: "******", Quota: quota.Unlimited} nativeScheme := auth.ManagedScheme(native.NativeScheme{}) app.AuthScheme = nativeScheme _, err = nativeScheme.Create(s.user) c.Assert(err, check.IsNil) s.team = &auth.Team{Name: "admin", Users: []string{s.user.Email}} c.Assert(err, check.IsNil) err = s.storage.Teams().Insert(s.team) c.Assert(err, check.IsNil) s.token, err = nativeScheme.Login(map[string]string{"email": s.user.Email, "password": "******"}) c.Assert(err, check.IsNil) }
func (s *S) TestShellToContainerCmdConnectionRefused(c *check.C) { server := httptest.NewServer(nil) addr := server.Listener.Addr().String() server.Close() targetRecover := cmdtest.SetTargetFile(c, []byte("http://"+addr)) defer cmdtest.RollbackFile(targetRecover) tokenRecover := cmdtest.SetTokenFile(c, []byte("abc123")) defer cmdtest.RollbackFile(tokenRecover) var buf bytes.Buffer context := Context{ Args: []string{"af3332d"}, Stdout: &buf, Stderr: &buf, Stdin: &buf, } var command ShellToContainerCmd err := command.Run(&context, nil) c.Assert(err, check.NotNil) }
func (s *S) SetUpSuite(c *check.C) { s.target = cmdtest.SetTargetFile(c, []byte("http://localhost:8080")) s.token = cmdtest.SetTokenFile(c, []byte("sometoken")) }