mirror of
				https://github.com/TeaOSLab/EdgeNode.git
				synced 2025-11-04 16:00:25 +08:00 
			
		
		
		
	
		
			
	
	
		
			45 lines
		
	
	
		
			978 B
		
	
	
	
		
			Go
		
	
	
	
	
	
		
		
			
		
	
	
			45 lines
		
	
	
		
			978 B
		
	
	
	
		
			Go
		
	
	
	
	
	
| 
								 | 
							
								// 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)
							 | 
						||
| 
								 | 
							
								}
							 |