func Main() { fmt.Println(HeaderLine) if len(os.Args) == 1 { PrintHelp() return } args := os.Args[1:] if args[0] == "generate" { config, err := GenerateConfig() if err != nil { fmt.Println(colors.Red("Error: " + err.Error())) return } err = config.Save("./config", "password") if err != nil { fmt.Println(colors.Red("Error: " + err.Error())) return } } else { PrintHelp() } }
func TestSerialize(t *testing.T) { // construct message messageStr := "hello world!" message := NewMessage(map[string]interface{}{ "ContentType": "application/octet-stream", }, stringSectionReader(messageStr)) // write to buffer var b bytes.Buffer err := message.Serialize(&b) if err != nil { t.Fatal(err) } t.Log("Dump of serialized message:") t.Log(hex.Dump(b.Bytes())) // deserialize serialized bytes messageBytes := b.Bytes() message2, err := DeserializeMessage(io.NewSectionReader(bytes.NewReader(messageBytes), 0, int64(len(messageBytes)))) if err != nil { t.Fatal(err) } // test for equality between message and message2 if !reflect.DeepEqual(message.Header, message2.Header) { t.Fatal("message & message2 headers were not equal") } message2Bytes, err := ioutil.ReadAll(message2.Content) if messageStr != string(message2Bytes) { t.Fatal("message & message2 contents were not equal.\n Expected: " + colors.Green(messageStr) + "\n Got: " + colors.Red(string(message2Bytes))) } }