* Add context option to runtime; Add dynamic namespace to kubectl client * Add namespace runtime arg * Fixes & Debugging * Pass options in k8s runtime * Set namespace on k8s resources * Additional Logging * More debugging * Remove Debugging * Ensure namespace exists * Add debugging * Refactor namespaceExists check * Fix * Fix * Fix * Fix * Change the way we check for namespace * Fix * Tidying Up * Fix Test * Fix merge bugs * Serialize k8s namespaces * Add namespace to watch * Serialize namespace when creating k8s namespace Co-authored-by: Ben Toogood <ben@micro.mu> Co-authored-by: Asim Aslam <asim@aslam.me>
		
			
				
	
	
		
			48 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
package client
 | 
						|
 | 
						|
import (
 | 
						|
	"bytes"
 | 
						|
	"testing"
 | 
						|
)
 | 
						|
 | 
						|
func TestTemplates(t *testing.T) {
 | 
						|
	name := "foo"
 | 
						|
	version := "123"
 | 
						|
	typ := "service"
 | 
						|
	namespace := "default"
 | 
						|
 | 
						|
	// Render default service
 | 
						|
	s := NewService(name, version, typ, namespace)
 | 
						|
	bs := new(bytes.Buffer)
 | 
						|
	if err := renderTemplate(templates["service"], bs, s); err != nil {
 | 
						|
		t.Errorf("Failed to render kubernetes service: %v", err)
 | 
						|
	}
 | 
						|
 | 
						|
	// Render default deployment
 | 
						|
	d := NewDeployment(name, version, typ, namespace)
 | 
						|
	bd := new(bytes.Buffer)
 | 
						|
	if err := renderTemplate(templates["deployment"], bd, d); err != nil {
 | 
						|
		t.Errorf("Failed to render kubernetes deployment: %v", err)
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func TestFormatName(t *testing.T) {
 | 
						|
	testCases := []struct {
 | 
						|
		name   string
 | 
						|
		expect string
 | 
						|
	}{
 | 
						|
		{"foobar", "foobar"},
 | 
						|
		{"foo-bar", "foo-bar"},
 | 
						|
		{"foo.bar", "foo-bar"},
 | 
						|
		{"Foo.Bar", "foo-bar"},
 | 
						|
		{"go.micro.foo.bar", "go-micro-foo-bar"},
 | 
						|
	}
 | 
						|
 | 
						|
	for _, test := range testCases {
 | 
						|
		v := Format(test.name)
 | 
						|
		if v != test.expect {
 | 
						|
			t.Fatalf("Expected name %s for %s got: %s", test.expect, test.name, v)
 | 
						|
		}
 | 
						|
	}
 | 
						|
}
 |