本文整理汇总了Golang中github.com/globocom/tsuru/cmd.Colorfy函数的典型用法代码示例。如果您正苦于以下问题:Golang Colorfy函数的具体用法?Golang Colorfy怎么用?Golang Colorfy使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了Colorfy函数的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: TestAppLogWithFollow
func (s *S) TestAppLogWithFollow(c *gocheck.C) {
var stdout, stderr bytes.Buffer
result := `[{"Source":"tsuru","Date":"2012-06-20T11:17:22.75-03:00","Message":"creating app lost"},{"Source":"tsuru","Date":"2012-06-20T11:17:22.753-03:00","Message":"app lost successfully created"}]`
expected := cmd.Colorfy("2012-06-20 11:17:22 -0300 [tsuru]:", "blue", "", "") + " creating app lost\n"
expected = expected + cmd.Colorfy("2012-06-20 11:17:22 -0300 [tsuru]:", "blue", "", "") + " app lost successfully created\n"
context := cmd.Context{
Stdout: &stdout,
Stderr: &stderr,
}
fake := &FakeGuesser{name: "hitthelights"}
command := AppLog{GuessingCommand: GuessingCommand{G: fake}}
command.Flags().Parse(true, []string{"--lines", "12", "-f"})
trans := &testing.ConditionalTransport{
Transport: testing.Transport{Message: result, Status: http.StatusOK},
CondFunc: func(req *http.Request) bool {
return req.URL.Query().Get("lines") == "12" && req.URL.Query().Get("follow") == "1"
},
}
client := cmd.NewClient(&http.Client{Transport: trans}, nil, manager)
err := command.Run(&context, client)
c.Assert(err, gocheck.IsNil)
got := stdout.String()
got = strings.Replace(got, "-0300 -0300", "-0300 BRT", -1)
c.Assert(got, gocheck.Equals, expected)
}
示例2: TestJsonWriterChukedWrite
func (s *S) TestJsonWriterChukedWrite(c *gocheck.C) {
t := time.Now()
logs := []log{
{Date: t, Message: "Something happened", Source: "tsuru"},
{Date: t.Add(2 * time.Hour), Message: "Something happened again", Source: "tsuru"},
}
data, err := json.Marshal(logs)
c.Assert(err, gocheck.IsNil)
l := len(data)
var buf bytes.Buffer
w := jsonWriter{w: &buf}
_, err = w.Write(data[:l/4])
c.Assert(err, gocheck.IsNil)
c.Assert(buf.String(), gocheck.Equals, "")
_, err = w.Write(data[l/4 : l/2])
c.Assert(err, gocheck.IsNil)
c.Assert(buf.String(), gocheck.Equals, "")
_, err = w.Write(data[l/2 : l/4*3])
c.Assert(err, gocheck.IsNil)
c.Assert(buf.String(), gocheck.Equals, "")
_, err = w.Write(data[l/4*3:])
c.Assert(err, gocheck.IsNil)
tfmt := "2006-01-02 15:04:05 -0700"
expected := cmd.Colorfy(t.Format(tfmt)+" [tsuru]:", "blue", "", "") + " Something happened\n"
expected = expected + cmd.Colorfy(t.Add(2*time.Hour).Format(tfmt)+" [tsuru]:", "blue", "", "") + " Something happened again\n"
c.Assert(buf.String(), gocheck.Equals, expected)
}
示例3: TestAppLog
func (s *S) TestAppLog(c *gocheck.C) {
var stdout, stderr bytes.Buffer
t := time.Now()
logs := []log{
{Date: t, Message: "creating app lost", Source: "tsuru"},
{Date: t.Add(2 * time.Hour), Message: "app lost successfully created", Source: "app"},
}
result, err := json.Marshal(logs)
c.Assert(err, gocheck.IsNil)
t = t.In(time.Local)
tfmt := "2006-01-02 15:04:05 -0700"
expected := cmd.Colorfy(t.Format(tfmt)+" [tsuru]:", "blue", "", "") + " creating app lost\n"
expected = expected + cmd.Colorfy(t.Add(2*time.Hour).Format(tfmt)+" [app]:", "blue", "", "") + " app lost successfully created\n"
context := cmd.Context{
Stdout: &stdout,
Stderr: &stderr,
}
command := AppLog{}
transport := testing.Transport{
Message: string(result),
Status: http.StatusOK,
}
client := cmd.NewClient(&http.Client{Transport: &transport}, nil, manager)
command.Flags().Parse(true, []string{"--app", "appName"})
err = command.Run(&context, client)
c.Assert(err, gocheck.IsNil)
c.Assert(stdout.String(), gocheck.Equals, expected)
}
示例4: TestAppLogWithFollow
func (s *S) TestAppLogWithFollow(c *gocheck.C) {
var stdout, stderr bytes.Buffer
t := time.Now()
logs := []log{
{Date: t, Message: "creating app lost", Source: "tsuru"},
{Date: t.Add(2 * time.Hour), Message: "app lost successfully created", Source: "tsuru"},
}
result, err := json.Marshal(logs)
c.Assert(err, gocheck.IsNil)
t = t.In(time.Local)
tfmt := "2006-01-02 15:04:05 -0700"
expected := cmd.Colorfy(t.Format(tfmt)+" [tsuru]:", "blue", "", "") + " creating app lost\n"
expected = expected + cmd.Colorfy(t.Add(2*time.Hour).Format(tfmt)+" [tsuru]:", "blue", "", "") + " app lost successfully created\n"
context := cmd.Context{
Stdout: &stdout,
Stderr: &stderr,
}
fake := &FakeGuesser{name: "hitthelights"}
command := AppLog{GuessingCommand: GuessingCommand{G: fake}}
command.Flags().Parse(true, []string{"--lines", "12", "-f"})
trans := &testing.ConditionalTransport{
Transport: testing.Transport{Message: string(result), Status: http.StatusOK},
CondFunc: func(req *http.Request) bool {
return req.URL.Query().Get("lines") == "12" && req.URL.Query().Get("follow") == "1"
},
}
client := cmd.NewClient(&http.Client{Transport: trans}, nil, manager)
err = command.Run(&context, client)
c.Assert(err, gocheck.IsNil)
c.Assert(stdout.String(), gocheck.Equals, expected)
}
示例5: TestAppLogBySource
func (s *S) TestAppLogBySource(c *C) {
*LogSource = "mysource"
var stdout, stderr bytes.Buffer
result := `[{"Source":"tsuru","Date":"2012-06-20T11:17:22.75-03:00","Message":"creating app lost"},{"Source":"tsuru","Date":"2012-06-20T11:17:22.753-03:00","Message":"app lost successfully created"}]`
expected := cmd.Colorfy("2012-06-20 11:17:22 [tsuru]:", "blue", "", "") + " creating app lost\n"
expected = expected + cmd.Colorfy("2012-06-20 11:17:22 [tsuru]:", "blue", "", "") + " app lost successfully created\n"
context := cmd.Context{
Stdout: &stdout,
Stderr: &stderr,
}
fake := &FakeGuesser{name: "hitthelights"}
command := AppLog{GuessingCommand{G: fake}}
trans := &conditionalTransport{
transport{
msg: result,
status: http.StatusOK,
},
func(req *http.Request) bool {
return req.URL.Query().Get("source") == "mysource"
},
}
client := cmd.NewClient(&http.Client{Transport: trans}, nil, manager)
err := command.Run(&context, client)
c.Assert(err, IsNil)
got := stdout.String()
got = strings.Replace(got, "-0300 -0300", "-0300 BRT", -1)
c.Assert(got, Equals, expected)
}
示例6: Run
func (c *AppLog) Run(context *cmd.Context, client cmd.Doer) error {
appName, err := c.Guess()
if err != nil {
return err
}
url := cmd.GetUrl(fmt.Sprintf("/apps/%s/log?lines=%d", appName, *LogLines))
if LogSource != nil && *LogSource != "" {
url = fmt.Sprintf("%s&source=%s", url, *LogSource)
}
request, err := http.NewRequest("GET", url, nil)
if err != nil {
return err
}
response, err := client.Do(request)
if err != nil {
return err
}
if response.StatusCode == http.StatusNoContent {
return nil
}
defer response.Body.Close()
result, err := ioutil.ReadAll(response.Body)
logs := []log{}
err = json.Unmarshal(result, &logs)
if err != nil {
return err
}
for _, l := range logs {
date := l.Date.Format("2006-01-02 15:04:05")
prefix := fmt.Sprintf("%s [%s]:", date, l.Source)
msg := fmt.Sprintf("%s %s\n", cmd.Colorfy(prefix, "blue", "", ""), l.Message)
context.Stdout.Write([]byte(msg))
}
return err
}
示例7: TestAppLog
func (s *S) TestAppLog(c *gocheck.C) {
var stdout, stderr bytes.Buffer
result := `[{"Source":"tsuru","Date":"2012-06-20T11:17:22.75-03:00","Message":"creating app lost"},{"Source":"app","Date":"2012-06-20T11:17:22.753-03:00","Message":"app lost successfully created"}]`
expected := cmd.Colorfy("2012-06-20 11:17:22 -0300 [tsuru]:", "blue", "", "") + " creating app lost\n"
expected = expected + cmd.Colorfy("2012-06-20 11:17:22 -0300 [app]:", "blue", "", "") + " app lost successfully created\n"
context := cmd.Context{
Stdout: &stdout,
Stderr: &stderr,
}
command := AppLog{}
client := cmd.NewClient(&http.Client{Transport: &testing.Transport{Message: result, Status: http.StatusOK}}, nil, manager)
command.Flags().Parse(true, []string{"--app", "appName"})
err := command.Run(&context, client)
c.Assert(err, gocheck.IsNil)
got := stdout.String()
got = strings.Replace(got, "-0300 -0300", "-0300 BRT", -1)
c.Assert(got, gocheck.Equals, expected)
}
示例8: TestJsonWriter
func (s *S) TestJsonWriter(c *gocheck.C) {
t := time.Now()
logs := []log{
{Date: t, Message: "Something happened", Source: "tsuru"},
{Date: t.Add(2 * time.Hour), Message: "Something happened again", Source: "tsuru"},
}
b, err := json.Marshal(logs)
c.Assert(err, gocheck.IsNil)
var writer bytes.Buffer
w := jsonWriter{w: &writer}
n, err := w.Write(b)
c.Assert(err, gocheck.IsNil)
c.Assert(n, gocheck.Equals, len(b))
tfmt := "2006-01-02 15:04:05 -0700"
expected := cmd.Colorfy(t.Format(tfmt)+" [tsuru]:", "blue", "", "") + " Something happened\n"
expected = expected + cmd.Colorfy(t.Add(2*time.Hour).Format(tfmt)+" [tsuru]:", "blue", "", "") + " Something happened again\n"
c.Assert(writer.String(), gocheck.Equals, expected)
}
示例9: TestJsonWriterUsesCurrentTimeZone
func (s *S) TestJsonWriterUsesCurrentTimeZone(c *gocheck.C) {
t := time.Now()
logs := []log{
{Date: t, Message: "Something happened", Source: "tsuru"},
{Date: t.Add(2 * time.Hour), Message: "Something happened again", Source: "tsuru"},
}
data, err := json.Marshal(logs)
c.Assert(err, gocheck.IsNil)
var writer bytes.Buffer
w := jsonWriter{w: &writer}
old := time.Local
time.Local = time.UTC
defer func() {
time.Local = old
}()
w.Write(data)
tfmt := "2006-01-02 15:04:05 -0700"
t = t.In(time.UTC)
expected := cmd.Colorfy(t.Format(tfmt)+" [tsuru]:", "blue", "", "") + " Something happened\n"
expected = expected + cmd.Colorfy(t.Add(2*time.Hour).Format(tfmt)+" [tsuru]:", "blue", "", "") + " Something happened again\n"
c.Assert(writer.String(), gocheck.Equals, expected)
}
示例10: Write
func (j *jsonWriter) Write(b []byte) (int, error) {
var logs []log
err := json.Unmarshal(b, &logs)
if err != nil {
return len(b), nil
}
for _, l := range logs {
date := l.Date.Format("2006-01-02 15:04:05")
prefix := fmt.Sprintf("%s [%s]:", date, l.Source)
fmt.Fprintf(j.w, "%s %s\n", cmd.Colorfy(prefix, "blue", "", ""), l.Message)
}
return len(b), nil
}
示例11: Write
func (w *jsonWriter) Write(b []byte) (int, error) {
var logs []log
w.b = append(w.b, b...)
err := json.Unmarshal(w.b, &logs)
if err != nil {
return len(b), nil
}
for _, l := range logs {
date := l.Date.In(time.Local).Format("2006-01-02 15:04:05 -0700")
prefix := fmt.Sprintf("%s [%s]:", date, l.Source)
fmt.Fprintf(w.w, "%s %s\n", cmd.Colorfy(prefix, "blue", "", ""), l.Message)
}
w.b = nil
return len(b), nil
}