Example #1
0
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()
	}
}
Example #2
0
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)))
	}

}