Jonathan Turner 8 лет назад
Родитель
Сommit
9cff27da2b
2 измененных файлов с 59 добавлено и 62 удалено
  1. 0 2
      client/client.go
  2. 59 60
      client/client_integration_test.go

+ 0 - 2
client/client.go

@@ -4,7 +4,6 @@ package client
 import (
 	"errors"
 	"fmt"
-	"os"
 
 	"gopkg.in/jcmturner/gokrb5.v4/config"
 	"gopkg.in/jcmturner/gokrb5.v4/credentials"
@@ -103,7 +102,6 @@ func NewClientFromCCache(c credentials.CCache) (Client, error) {
 		if err != nil {
 			return cl, fmt.Errorf("cache entry ticket bytes are not valid: %v", err)
 		}
-		fmt.Fprintf(os.Stderr, "CCache entry %+v", tkt.SName)
 		cl.Cache.addEntry(
 			tkt,
 			cred.AuthTime,

+ 59 - 60
client/client_integration_test.go

@@ -418,30 +418,30 @@ func spnegoGet(cl *Client) error {
 	return nil
 }
 
-//func TestNewClientFromCCache(t *testing.T) {
-//	b, err := hex.DecodeString(testdata.CCACHE_TEST)
-//	if err != nil {
-//		t.Fatalf("error decoding test data")
-//	}
-//	cc, err := credentials.ParseCCache(b)
-//	if err != nil {
-//		t.Fatal("error getting test CCache")
-//	}
-//	cl, err := NewClientFromCCache(cc)
-//	if err != nil {
-//		t.Fatalf("error creating client from CCache: %v", err)
-//	}
-//	c, _ := config.NewConfigFromString(testdata.TEST_KRB5CONF)
-//	addr := os.Getenv("TEST_KDC_ADDR")
-//	if addr == "" {
-//		addr = testdata.TEST_KDC_ADDR
-//	}
-//	c.Realms[0].KDC = []string{addr + ":" + testdata.TEST_KDC}
-//	cl.WithConfig(c)
-//	if ok, err := cl.IsConfigured(); !ok {
-//		t.Fatalf("client was not configured from CCache: %v", err)
-//	}
-//}
+func TestNewClientFromCCache(t *testing.T) {
+	b, err := hex.DecodeString(testdata.CCACHE_TEST)
+	if err != nil {
+		t.Fatalf("error decoding test data")
+	}
+	cc, err := credentials.ParseCCache(b)
+	if err != nil {
+		t.Fatal("error getting test CCache")
+	}
+	cl, err := NewClientFromCCache(cc)
+	if err != nil {
+		t.Fatalf("error creating client from CCache: %v", err)
+	}
+	c, _ := config.NewConfigFromString(testdata.TEST_KRB5CONF)
+	addr := os.Getenv("TEST_KDC_ADDR")
+	if addr == "" {
+		addr = testdata.TEST_KDC_ADDR
+	}
+	c.Realms[0].KDC = []string{addr + ":" + testdata.TEST_KDC}
+	cl.WithConfig(c)
+	if ok, err := cl.IsConfigured(); !ok {
+		t.Fatalf("client was not configured from CCache: %v", err)
+	}
+}
 
 // Login to the TEST.GOKRB5 domain and request service ticket for resource in the RESDOM.GOKRB5 domain.
 // There is a trust between the two domains.
@@ -554,41 +554,41 @@ func loadCCache() (credentials.CCache, error) {
 	return credentials.LoadCCache(cpath)
 }
 
-//func TestGetServiceTicketFromCCacheTGT(t *testing.T) {
-//	err := login()
-//	if err != nil {
-//		t.Fatalf("error logging in with kinit: %v", err)
-//	}
-//	c, err := loadCCache()
-//	if err != nil {
-//		t.Errorf("error loading CCache: %v", err)
-//	}
-//	cfg, _ := config.NewConfigFromString(testdata.TEST_KRB5CONF)
-//	addr := os.Getenv("TEST_KDC_ADDR")
-//	if addr == "" {
-//		addr = testdata.TEST_KDC_ADDR
-//	}
-//	cfg.Realms[0].KDC = []string{addr + ":" + testdata.TEST_KDC}
-//	cl, err := NewClientFromCCache(c)
-//	if err != nil {
-//		t.Fatalf("error generating client from ccache: %v", err)
-//	}
-//	cl.WithConfig(cfg)
-//	url := os.Getenv("TEST_HTTP_URL")
-//	if url == "" {
-//		url = testdata.TEST_HTTP_URL
-//	}
-//	r, _ := http.NewRequest("GET", url, nil)
-//	err = cl.SetSPNEGOHeader(r, "HTTP/host.test.gokrb5")
-//	if err != nil {
-//		t.Fatalf("error setting client SPNEGO header: %v", err)
-//	}
-//	httpResp, err := http.DefaultClient.Do(r)
-//	if err != nil {
-//		t.Fatalf("request error: %v\n", err)
-//	}
-//	assert.Equal(t, http.StatusOK, httpResp.StatusCode, "status code in response to client SPNEGO request not as expected")
-//}
+func TestGetServiceTicketFromCCacheTGT(t *testing.T) {
+	err := login()
+	if err != nil {
+		t.Fatalf("error logging in with kinit: %v", err)
+	}
+	c, err := loadCCache()
+	if err != nil {
+		t.Errorf("error loading CCache: %v", err)
+	}
+	cfg, _ := config.NewConfigFromString(testdata.TEST_KRB5CONF)
+	addr := os.Getenv("TEST_KDC_ADDR")
+	if addr == "" {
+		addr = testdata.TEST_KDC_ADDR
+	}
+	cfg.Realms[0].KDC = []string{addr + ":" + testdata.TEST_KDC}
+	cl, err := NewClientFromCCache(c)
+	if err != nil {
+		t.Fatalf("error generating client from ccache: %v", err)
+	}
+	cl.WithConfig(cfg)
+	url := os.Getenv("TEST_HTTP_URL")
+	if url == "" {
+		url = testdata.TEST_HTTP_URL
+	}
+	r, _ := http.NewRequest("GET", url, nil)
+	err = cl.SetSPNEGOHeader(r, "HTTP/host.test.gokrb5")
+	if err != nil {
+		t.Fatalf("error setting client SPNEGO header: %v", err)
+	}
+	httpResp, err := http.DefaultClient.Do(r)
+	if err != nil {
+		t.Fatalf("request error: %v\n", err)
+	}
+	assert.Equal(t, http.StatusOK, httpResp.StatusCode, "status code in response to client SPNEGO request not as expected")
+}
 
 func TestGetServiceTicketFromCCacheWithoutKDC(t *testing.T) {
 	err := login()
@@ -608,7 +608,6 @@ func TestGetServiceTicketFromCCacheWithoutKDC(t *testing.T) {
 	if err != nil {
 		t.Fatalf("error generating client from ccache: %v", err)
 	}
-	t.Logf("TEST cl cache: %+v", *cl.Cache)
 	cl.WithConfig(cfg)
 	url := os.Getenv("TEST_HTTP_URL")
 	if url == "" {