Files
EdgeNode/internal/waf/info_arg_test.go

45 lines
978 B
Go
Raw Normal View History

// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
package waf_test
import (
"github.com/TeaOSLab/EdgeNode/internal/waf"
"github.com/iwind/TeaGo/types"
"testing"
"time"
)
func TestInfoArg_Encode(t *testing.T) {
var info = &waf.InfoArg{
ActionId: 1,
Timestamp: time.Now().Unix(),
URL: "https://example.com/hello",
PolicyId: 2,
GroupId: 3,
SetId: 4,
UseLocalFirewall: true,
Scope: "global",
}
encodedString, err := info.Encode()
if err != nil {
t.Fatal(err)
}
t.Log("["+types.String(len(encodedString))+"]", encodedString)
{
urlEncodedString, encodeErr := info.URLEncoded()
if encodeErr != nil {
t.Fatal(encodeErr)
}
t.Log("["+types.String(len(urlEncodedString))+"]", urlEncodedString)
}
var info2 = &waf.InfoArg{}
err = info2.Decode(encodedString)
if err != nil {
t.Fatal(err)
}
t.Logf("%+v", info2)
}