浏览代码

add unit test

jflyfox 4 年之前
父节点
当前提交
4d24a4bf4a
共有 1 个文件被更改,包括 59 次插入28 次删除
  1. 59 28
      gtoken/gtoken_test.go

+ 59 - 28
gtoken/gtoken_test.go

@@ -7,59 +7,90 @@ import (
 )
 )
 
 
 func TestAuthPathGlobal(t *testing.T) {
 func TestAuthPathGlobal(t *testing.T) {
-	t.Log("auth path test ")
+	t.Log("Global auth path test ")
 	// 启动gtoken
 	// 启动gtoken
 	gfToken := &gtoken.GfToken{
 	gfToken := &gtoken.GfToken{
 		//Timeout:         10 * 1000,
 		//Timeout:         10 * 1000,
 		AuthPaths:        g.SliceStr{"/user", "/system"},             // 这里是按照前缀拦截,拦截/user /user/list /user/add ...
 		AuthPaths:        g.SliceStr{"/user", "/system"},             // 这里是按照前缀拦截,拦截/user /user/list /user/add ...
 		AuthExcludePaths: g.SliceStr{"/user/info", "/system/user/*"}, // 不拦截路径  /user/info,/system/user/info,/system/user,
 		AuthExcludePaths: g.SliceStr{"/user/info", "/system/user/*"}, // 不拦截路径  /user/info,/system/user/info,/system/user,
-		GlobalMiddleware: true,                                       // 开启全局拦截
+		MiddlewareType:   gtoken.MiddlewareTypeGlobal,                // 开启全局拦截
 	}
 	}
 
 
 	authPath(gfToken, t)
 	authPath(gfToken, t)
 	flag := gfToken.AuthPath("/test")
 	flag := gfToken.AuthPath("/test")
 	if flag {
 	if flag {
-		t.Error("/test auth path error")
+		t.Error("error:", "/test auth path error")
 	}
 	}
 
 
 }
 }
 
 
-func TestAuthPath(t *testing.T) {
-	t.Log("auth path test ")
+func TestBindAuthPath(t *testing.T) {
+	t.Log("Bind auth path test ")
 	// 启动gtoken
 	// 启动gtoken
 	gfToken := &gtoken.GfToken{
 	gfToken := &gtoken.GfToken{
 		//Timeout:         10 * 1000,
 		//Timeout:         10 * 1000,
 		AuthPaths:        g.SliceStr{"/user", "/system"},             // 这里是按照前缀拦截,拦截/user /user/list /user/add ...
 		AuthPaths:        g.SliceStr{"/user", "/system"},             // 这里是按照前缀拦截,拦截/user /user/list /user/add ...
 		AuthExcludePaths: g.SliceStr{"/user/info", "/system/user/*"}, // 不拦截路径  /user/info,/system/user/info,/system/user,
 		AuthExcludePaths: g.SliceStr{"/user/info", "/system/user/*"}, // 不拦截路径  /user/info,/system/user/info,/system/user,
-		GlobalMiddleware: false,                                      // 关闭全局拦截
+		MiddlewareType:   gtoken.MiddlewareTypeBind,                  // 关闭全局拦截
 	}
 	}
 
 
 	authPath(gfToken, t)
 	authPath(gfToken, t)
 }
 }
 
 
+func TestGroupAuthPath(t *testing.T) {
+	t.Log("Group auth path test ")
+	// 启动gtoken
+	gfToken := &gtoken.GfToken{
+		//Timeout:         10 * 1000,
+		AuthExcludePaths: g.SliceStr{"/user/info", "/system/user/*"}, // 不拦截路径  /user/info,/system/user/info,/system/user,
+		LoginPath:        "/login",                                   // 登录路径
+		MiddlewareType:   gtoken.MiddlewareTypeGroup,                 // 关闭全局拦截
+	}
+
+	flag := gfToken.AuthPath("/login")
+	if flag {
+		t.Error("error:", "/login auth path error")
+	}
+
+	flag = gfToken.AuthPath("/user/info")
+	if flag {
+		t.Error("error:", "/user/info auth path error")
+	}
+
+	flag = gfToken.AuthPath("/system/user/info")
+	if flag {
+		t.Error("error:", "/system/user/info auth path error")
+	}
+
+	flag = gfToken.AuthPath("/system/test")
+	if !flag {
+		t.Error("error:", "/system/test auth path error")
+	}
+}
+
 func TestAuthPathNoExclude(t *testing.T) {
 func TestAuthPathNoExclude(t *testing.T) {
 	t.Log("auth no exclude path test ")
 	t.Log("auth no exclude path test ")
 	// 启动gtoken
 	// 启动gtoken
 	gfToken := &gtoken.GfToken{
 	gfToken := &gtoken.GfToken{
 		//Timeout:         10 * 1000,
 		//Timeout:         10 * 1000,
-		AuthPaths:        g.SliceStr{"/user", "/system"}, // 这里是按照前缀拦截,拦截/user /user/list /user/add ...
-		GlobalMiddleware: true,                           // 关闭全局拦截
+		AuthPaths:      g.SliceStr{"/user", "/system"}, // 这里是按照前缀拦截,拦截/user /user/list /user/add ...
+		MiddlewareType: gtoken.MiddlewareTypeGlobal,    // 关闭全局拦截
 	}
 	}
 
 
 	authFlag := gfToken.AuthPath
 	authFlag := gfToken.AuthPath
 	if authFlag("/test") {
 	if authFlag("/test") {
-		t.Error("/test auth path error")
+		t.Error("error:", "/test auth path error")
 	}
 	}
 	if !authFlag("/system/dept") {
 	if !authFlag("/system/dept") {
-		t.Error("/system/dept auth path error")
+		t.Error("error:", "/system/dept auth path error")
 	}
 	}
 
 
 	if !authFlag("/user/info") {
 	if !authFlag("/user/info") {
-		t.Error("/user/info auth path error")
+		t.Error("error:", "/user/info auth path error")
 	}
 	}
 
 
 	if !authFlag("/system/user") {
 	if !authFlag("/system/user") {
-		t.Error("/system/user auth path error")
+		t.Error("error:", "/system/user auth path error")
 	}
 	}
 }
 }
 
 
@@ -70,27 +101,27 @@ func TestAuthPathExclude(t *testing.T) {
 		//Timeout:         10 * 1000,
 		//Timeout:         10 * 1000,
 		AuthPaths:        g.SliceStr{"/*"},                           // 这里是按照前缀拦截,拦截/user /user/list /user/add ...
 		AuthPaths:        g.SliceStr{"/*"},                           // 这里是按照前缀拦截,拦截/user /user/list /user/add ...
 		AuthExcludePaths: g.SliceStr{"/user/info", "/system/user/*"}, // 不拦截路径  /user/info,/system/user/info,/system/user,
 		AuthExcludePaths: g.SliceStr{"/user/info", "/system/user/*"}, // 不拦截路径  /user/info,/system/user/info,/system/user,
-		GlobalMiddleware: true,                                       // 开启全局拦截
+		MiddlewareType:   gtoken.MiddlewareTypeGlobal,                // 开启全局拦截
 	}
 	}
 
 
 	authFlag := gfToken.AuthPath
 	authFlag := gfToken.AuthPath
 	if !authFlag("/test") {
 	if !authFlag("/test") {
-		t.Error("/test auth path error")
+		t.Error("error:", "/test auth path error")
 	}
 	}
 	if !authFlag("//system/dept") {
 	if !authFlag("//system/dept") {
-		t.Error("/system/dept auth path error")
+		t.Error("error:", "/system/dept auth path error")
 	}
 	}
 
 
 	if authFlag("/user/info") {
 	if authFlag("/user/info") {
-		t.Error("/user/info auth path error")
+		t.Error("error:", "/user/info auth path error")
 	}
 	}
 
 
 	if authFlag("/system/user") {
 	if authFlag("/system/user") {
-		t.Error("/system/user auth path error")
+		t.Error("error:", "/system/user auth path error")
 	}
 	}
 
 
 	if authFlag("/system/user/info") {
 	if authFlag("/system/user/info") {
-		t.Error("/system/user/info auth path error")
+		t.Error("error:", "/system/user/info auth path error")
 	}
 	}
 
 
 }
 }
@@ -98,32 +129,32 @@ func TestAuthPathExclude(t *testing.T) {
 func authPath(gfToken *gtoken.GfToken, t *testing.T) {
 func authPath(gfToken *gtoken.GfToken, t *testing.T) {
 	flag := gfToken.AuthPath("/user/info")
 	flag := gfToken.AuthPath("/user/info")
 	if flag {
 	if flag {
-		t.Error("/user/info auth path error")
+		t.Error("error:", "/user/info auth path error")
 	}
 	}
 
 
 	flag = gfToken.AuthPath("/system/user")
 	flag = gfToken.AuthPath("/system/user")
 	if flag {
 	if flag {
-		t.Error("/system/user auth path error")
+		t.Error("error:", "/system/user auth path error")
 	}
 	}
 
 
 	flag = gfToken.AuthPath("/system/user/info")
 	flag = gfToken.AuthPath("/system/user/info")
 	if flag {
 	if flag {
-		t.Error("/system/user/info auth path error")
+		t.Error("error:", "/system/user/info auth path error")
 	}
 	}
 
 
 	flag = gfToken.AuthPath("/system/dept")
 	flag = gfToken.AuthPath("/system/dept")
 	if !flag {
 	if !flag {
-		t.Error("/system/dept auth path error")
+		t.Error("error:", "/system/dept auth path error")
 	}
 	}
 
 
 	flag = gfToken.AuthPath("/user/list")
 	flag = gfToken.AuthPath("/user/list")
 	if !flag {
 	if !flag {
-		t.Error("/user/list auth path error")
+		t.Error("error:", "/user/list auth path error")
 	}
 	}
 
 
 	flag = gfToken.AuthPath("/user/add")
 	flag = gfToken.AuthPath("/user/add")
 	if !flag {
 	if !flag {
-		t.Error("/user/add auth path error")
+		t.Error("error:", "/user/add auth path error")
 	}
 	}
 }
 }
 
 
@@ -145,10 +176,10 @@ func TestEncryptDecryptToken(t *testing.T) {
 	}
 	}
 	t.Log(token2.DataString())
 	t.Log(token2.DataString())
 	if userKey != token2.GetString("userKey") {
 	if userKey != token2.GetString("userKey") {
-		t.Error("token decrypt userKey error")
+		t.Error("error:", "token decrypt userKey error")
 	}
 	}
 	if token.GetString("uuid") != token2.GetString("uuid") {
 	if token.GetString("uuid") != token2.GetString("uuid") {
-		t.Error("token decrypt uuid error")
+		t.Error("error:", "token decrypt uuid error")
 	}
 	}
 
 
 }
 }
@@ -172,10 +203,10 @@ func BenchmarkEncryptDecryptToken(b *testing.B) {
 		}
 		}
 		b.Log(token2.DataString())
 		b.Log(token2.DataString())
 		if userKey != token2.GetString("userKey") {
 		if userKey != token2.GetString("userKey") {
-			b.Error("token decrypt userKey error")
+			b.Error("error:", "token decrypt userKey error")
 		}
 		}
 		if token.GetString("uuid") != token2.GetString("uuid") {
 		if token.GetString("uuid") != token2.GetString("uuid") {
-			b.Error("token decrypt uuid error")
+			b.Error("error:", "token decrypt uuid error")
 		}
 		}
 	}
 	}