| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- package protocol
- import (
- "encoding/base64"
- "testing"
- )
- func TestPack_DeployCmd_EnCodeCmd_DeCode(t *testing.T) {
- var obj Pack_DeployCmd
- str, err := obj.EnCodeCmd("gid1", "gid1", 100, "1.5.0", "ipole", "abc123def", 320, 65536)
- if err != nil {
- t.Fatalf("EnCodeCmd failed: %v", err)
- }
- if str == "" {
- t.Fatal("EnCodeCmd returned empty string")
- }
- var obj2 Pack_DeployCmd
- if err := obj2.DeCode(str); err != nil {
- t.Fatalf("DeCode failed: %v", err)
- }
- if obj2.Data.Version != "1.5.0" {
- t.Errorf("Version mismatch: got %s, want 1.5.0", obj2.Data.Version)
- }
- if obj2.Data.Action != "start" {
- t.Errorf("Action mismatch: got %s, want start", obj2.Data.Action)
- }
- if obj2.Data.TotalChunks != 320 {
- t.Errorf("TotalChunks mismatch: got %d, want 320", obj2.Data.TotalChunks)
- }
- }
- func TestPack_DeployCmd_EnCodeChunk_DeCode(t *testing.T) {
- var obj Pack_DeployCmd
- testData := base64.StdEncoding.EncodeToString([]byte("hello world test chunk data"))
- str, err := obj.EnCodeChunk("gid1", "gid1", 101, "1.5.0", 5, testData)
- if err != nil {
- t.Fatalf("EnCodeChunk failed: %v", err)
- }
- var obj2 Pack_DeployCmd
- if err := obj2.DeCode(str); err != nil {
- t.Fatalf("DeCode failed: %v", err)
- }
- if obj2.Data.ChunkIndex != 5 {
- t.Errorf("ChunkIndex mismatch: got %d, want 5", obj2.Data.ChunkIndex)
- }
- if obj2.Data.Action != "chunk" {
- t.Errorf("Action mismatch: got %s, want chunk", obj2.Data.Action)
- }
- }
- func TestPack_DeployAck_EnCode_DeCode(t *testing.T) {
- var obj Pack_DeployAck
- str, err := obj.EnCode("gid1", "gid1", 200, "1.5.0", true, "")
- if err != nil {
- t.Fatalf("EnCode failed: %v", err)
- }
- var obj2 Pack_DeployAck
- if err := obj2.DeCode(str); err != nil {
- t.Fatalf("DeCode failed: %v", err)
- }
- if !obj2.Data.Success {
- t.Error("Expected Success=true")
- }
- }
- func TestPack_HealthCheck_EnCode_DeCode(t *testing.T) {
- var obj Pack_HealthCheck
- checks := []HealthCheck{
- {Name: "mqtt", Status: "ok", Detail: "connected", DurationMs: 150},
- {Name: "redis", Status: "ok", Detail: "PING ok", DurationMs: 10},
- }
- str, err := obj.EnCode("gid1", "gid1", 300, "1.5.0", 1, true, checks)
- if err != nil {
- t.Fatalf("EnCode failed: %v", err)
- }
- var obj2 Pack_HealthCheck
- if err := obj2.DeCode(str); err != nil {
- t.Fatalf("DeCode failed: %v", err)
- }
- if obj2.Data.Phase != 1 {
- t.Errorf("Phase mismatch: got %d, want 1", obj2.Data.Phase)
- }
- if len(obj2.Data.Checks) != 2 {
- t.Errorf("Checks count: got %d, want 2", len(obj2.Data.Checks))
- }
- }
|