package onlinecommand_test

import (
	"primesys_producer/src/logger"
	onlinecommand "primesys_producer/src/protocol/online_command"
	"primesys_producer/src/server/frame"
	"primesys_producer/src/utils"
	"testing"
)

//	var onlineCommandPacket frame.Frame = frame.Frame{
//		Raw: utils.DecodeStringToByte("78789a8194000000004354524c504152414d533a4754494d45523d303b54494d45523d31302c33303b5057524c494d49543d303b52494e473d313b43414c4c4d4f44453d323b53494d414c4d3d302c313b424154414c4d3d312c313b5057524f4e414c4d3d312c313b5057524f4646414c4d3d312c313b424c494e44414c4d3d302c36302c32302c313b534f53414c4d3d312c332300000002000beddb0d0a"),
//	}
var onlineCommandPacket frame.Frame = frame.Frame{
	Raw: utils.DecodeStringToByte("7878E781DF00E000034261747465727920566F6C746167653A332E3832563B44617461204C696E6B3A4C696E6B2055703B4E6574776F726B205369676E616C204C6576656C3A32343B7265737461727420726561736F6E3A343B4750533A475053205375636365737366756C6C7920506F736974696F6E696E673B536174656C6C697465733A3230283330293B475053205369676E616C204C6576656C3A3139342C34302C33362C33342C33312C33302C32372C32352C32332C32322C31392C42443A33392C33382C33352C33312C33302C33302C32392C32322C32322C32312C31392C0002000611B20D0A"),
}

func TestOnlineCommandDecode(t *testing.T) {

	decoded_packet, err := onlinecommand.DecodeOnlineCommandTerminalPacket(onlineCommandPacket)
	if err != nil {
		logger.Error("Erorr is here in packet parsing")
	}

	logger.Info("Parsed Command length: %d", decoded_packet.CommandLength)
	logger.Info("Parsed content : %s", decoded_packet.Content)
	stringContent := utils.DecodeStringToByte(decoded_packet.Content)
	logger.Info("Parsed String content: %s", string(stringContent))
	logger.Info("Parsed Server Flag :%s", decoded_packet.ServerFlag)
	logger.Info("Parsed Language byte: %v", decoded_packet.LaguageReserveByte)
	serial := onlineCommandPacket.SerialNumber()
	logger.Info("Serial No: %02X %02X", serial[0], serial[1])
}
