* add MICRO_AUTH_TOKEN, parse token in wrapper, preload config and other things * fix wrapper panic
		
			
				
	
	
		
			56 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package wrapper
 | |
| 
 | |
| import (
 | |
| 	"context"
 | |
| 	"testing"
 | |
| 
 | |
| 	"github.com/micro/go-micro/v2/auth"
 | |
| 	"github.com/micro/go-micro/v2/metadata"
 | |
| )
 | |
| 
 | |
| func TestWrapper(t *testing.T) {
 | |
| 	testData := []struct {
 | |
| 		existing  metadata.Metadata
 | |
| 		headers   metadata.Metadata
 | |
| 		overwrite bool
 | |
| 	}{
 | |
| 		{
 | |
| 			existing: metadata.Metadata{},
 | |
| 			headers: metadata.Metadata{
 | |
| 				"Foo": "bar",
 | |
| 			},
 | |
| 			overwrite: true,
 | |
| 		},
 | |
| 		{
 | |
| 			existing: metadata.Metadata{
 | |
| 				"Foo": "bar",
 | |
| 			},
 | |
| 			headers: metadata.Metadata{
 | |
| 				"Foo": "baz",
 | |
| 			},
 | |
| 			overwrite: false,
 | |
| 		},
 | |
| 	}
 | |
| 
 | |
| 	for _, d := range testData {
 | |
| 		c := &clientWrapper{
 | |
| 			auth:    func() auth.Auth { return nil },
 | |
| 			headers: d.headers,
 | |
| 		}
 | |
| 
 | |
| 		ctx := metadata.NewContext(context.Background(), d.existing)
 | |
| 		ctx = c.setHeaders(ctx)
 | |
| 		md, _ := metadata.FromContext(ctx)
 | |
| 
 | |
| 		for k, v := range d.headers {
 | |
| 			if d.overwrite && md[k] != v {
 | |
| 				t.Fatalf("Expected %s=%s got %s=%s", k, v, k, md[k])
 | |
| 			}
 | |
| 			if !d.overwrite && md[k] != d.existing[k] {
 | |
| 				t.Fatalf("Expected %s=%s got %s=%s", k, d.existing[k], k, md[k])
 | |
| 			}
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| }
 |