logger/unwrap: add unwrap method
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
This commit is contained in:
		
							
								
								
									
										46
									
								
								logger/unwrap/unwrap_test.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										46
									
								
								logger/unwrap/unwrap_test.go
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,46 @@ | ||||
| package unwrap | ||||
|  | ||||
| import ( | ||||
| 	"testing" | ||||
|  | ||||
| 	"go.unistack.org/micro/v3/codec" | ||||
| ) | ||||
|  | ||||
| func TestUnwrap(t *testing.T) { | ||||
| 	string1 := "string1" | ||||
| 	string2 := "string2" | ||||
|  | ||||
| 	type val1 struct { | ||||
| 		mp  map[string]string | ||||
| 		val *val1 | ||||
| 		str *string | ||||
| 		ar  []*string | ||||
| 	} | ||||
|  | ||||
| 	v1 := &val1{ar: []*string{&string1, &string2}, str: &string1, val: &val1{str: &string2}, mp: map[string]string{"key": "val"}} | ||||
|  | ||||
| 	t.Logf("output: %#v", Unwrap(v1)) | ||||
|  | ||||
| 	type val2 struct { | ||||
| 		mp  map[string]string | ||||
| 		val *val2 | ||||
| 		str string | ||||
| 		ar  []string | ||||
| 	} | ||||
|  | ||||
| 	v2 := &val2{ar: []string{string1, string2}, str: string1, val: &val2{str: string2}, mp: map[string]string{"key": "val"}} | ||||
|  | ||||
| 	t.Logf("output: %#v", v2) | ||||
| } | ||||
|  | ||||
| func TestUnwrapCodec(t *testing.T) { | ||||
| 	type val struct { | ||||
| 		MP  map[string]string `json:"mp"` | ||||
| 		STR string            `json:"str"` | ||||
| 		AR  []string          `json:"ar"` | ||||
| 	} | ||||
|  | ||||
| 	v1 := &val{AR: []string{"string1", "string2"}, STR: "string", MP: map[string]string{"key": "val"}} | ||||
|  | ||||
| 	t.Logf("output: %#v", Unwrap(v1, UnwrapCodec(codec.NewCodec()))) | ||||
| } | ||||
		Reference in New Issue
	
	Block a user