mirror of
				https://github.com/weloe/token-go.git
				synced 2025-10-31 02:46:29 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			145 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			145 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package util
 | |
| 
 | |
| import (
 | |
| 	"log"
 | |
| 	"testing"
 | |
| )
 | |
| 
 | |
| func TestSpliceUrl(t *testing.T) {
 | |
| 	type args struct {
 | |
| 		u1 string
 | |
| 		u2 string
 | |
| 	}
 | |
| 	tests := []struct {
 | |
| 		name string
 | |
| 		args args
 | |
| 		want string
 | |
| 	}{
 | |
| 		{
 | |
| 			name: "success1",
 | |
| 			args: args{
 | |
| 				u1: "http://domain.com",
 | |
| 				u2: "/sso/auth",
 | |
| 			},
 | |
| 			want: "http://domain.com/sso/auth",
 | |
| 		},
 | |
| 		{
 | |
| 			name: "success2",
 | |
| 			args: args{
 | |
| 				u1: "",
 | |
| 				u2: "http://domain.com/sso/auth",
 | |
| 			},
 | |
| 			want: "http://domain.com/sso/auth",
 | |
| 		},
 | |
| 	}
 | |
| 	for _, tt := range tests {
 | |
| 		t.Run(tt.name, func(t *testing.T) {
 | |
| 			if got := SpliceUrl(tt.args.u1, tt.args.u2); got != tt.want {
 | |
| 				t.Errorf("SpliceUrl() = %v, want %v", got, tt.want)
 | |
| 			}
 | |
| 		})
 | |
| 	}
 | |
| }
 | |
| 
 | |
| func TestHasUrl(t *testing.T) {
 | |
| 	strings := []string{"1", "2", "3"}
 | |
| 	hasUrl := HasUrl(strings, "2")
 | |
| 	if !hasUrl {
 | |
| 		t.Errorf("HasUrl() = %v, want %v", false, true)
 | |
| 	}
 | |
| }
 | |
| 
 | |
| func TestMatchUrl(t *testing.T) {
 | |
| 	all := "*"
 | |
| 	if !MatchUrl(all, "123") {
 | |
| 		t.Errorf("HasUrl() = %v, want %v", false, true)
 | |
| 	}
 | |
| }
 | |
| 
 | |
| func TestIsValidUrl(t *testing.T) {
 | |
| 	type args struct {
 | |
| 		u1 string
 | |
| 	}
 | |
| 	tests := []struct {
 | |
| 		name string
 | |
| 		args args
 | |
| 		want bool
 | |
| 	}{
 | |
| 
 | |
| 		{
 | |
| 			name: "error url1",
 | |
| 			args: args{u1: "htp:23/asd"},
 | |
| 			want: false,
 | |
| 		},
 | |
| 		{
 | |
| 			name: "validated",
 | |
| 			args: args{u1: "http://123.com:90//ac"},
 | |
| 			want: true,
 | |
| 		},
 | |
| 		{
 | |
| 			name: "error url2",
 | |
| 			args: args{u1: "http:/123.com:90//ac"},
 | |
| 			want: false,
 | |
| 		},
 | |
| 	}
 | |
| 	for _, tt := range tests {
 | |
| 		t.Run(tt.name, func(t *testing.T) {
 | |
| 			if got := IsValidUrl(tt.args.u1); got != tt.want {
 | |
| 				t.Errorf("IsValidUrl() = %v, want %v", got, tt.want)
 | |
| 			}
 | |
| 		})
 | |
| 	}
 | |
| }
 | |
| 
 | |
| func TestAddQueryMap(t *testing.T) {
 | |
| 	m := make(map[string]string)
 | |
| 	m["1"] = "2"
 | |
| 	m["2"] = "3"
 | |
| 
 | |
| 	if got := AddQueryMap("/sso/auth", m); got != "/sso/auth?1=2&2=3" && got != "/sso/auth?2=3&1=2" {
 | |
| 		t.Errorf("AddQueryMap() = %v, want %v", got, "/sso/auth?1=2&2=3")
 | |
| 	}
 | |
| 
 | |
| 	if got := AddQueryMap("/sso/auth?", m); got != "/sso/auth?1=2&2=3" && got != "/sso/auth?2=3&1=2" {
 | |
| 		t.Errorf("AddQueryMap() = %v, want %v", got, "/sso/auth?1=2&2=3")
 | |
| 	}
 | |
| }
 | |
| 
 | |
| func TestAddQuery(t *testing.T) {
 | |
| 	if got := AddQuery("/sso", "1", "2"); got != "/sso?1=2" {
 | |
| 		t.Errorf("AddQuery() = %v, want %v", got, "/sso?1=2")
 | |
| 	}
 | |
| 	if got := AddQuery("/sso?", "1", "2"); got != "/sso?1=2" {
 | |
| 		t.Errorf("AddQuery() = %v, want %v", got, "/sso?1=2")
 | |
| 	}
 | |
| }
 | |
| 
 | |
| func TestMapToQuery(t *testing.T) {
 | |
| 	m := make(map[string]string)
 | |
| 	m["1"] = "2"
 | |
| 	query := MapToQuery(m)
 | |
| 	if query != "1=2" {
 | |
| 		t.Errorf("MapToQuery() = %v, want %v", query, "1=2")
 | |
| 	}
 | |
| }
 | |
| 
 | |
| func TestEncode(t *testing.T) {
 | |
| 	encode := Encode("abc123==123")
 | |
| 	log.Print("Encode(\"abc123==123\") = " + encode)
 | |
| }
 | |
| 
 | |
| func TestAddQueryValue(t *testing.T) {
 | |
| 	if got := AddQueryValue("/sso/auth?back=http://123.com/login", "ticket=23324"); got != "/sso/auth?back=http://123.com/login&ticket=23324" {
 | |
| 		t.Errorf("AddQueryValue() = %v, want %v", got, "/sso/auth?back=http://123.com/login&ticket=23324")
 | |
| 	}
 | |
| 	if got := AddQueryValue("/sso/auth?back=http://123.com/login?", "ticket=23324"); got != "/sso/auth?back=http://123.com/login?ticket=23324" {
 | |
| 		t.Errorf("AddQueryValue() = %v, want %v", got, "/sso/auth?back=http://123.com/login?ticket=23324")
 | |
| 	}
 | |
| 	if got := AddQueryValue("/sso/auth?back=http://123.com/login?ticket=123", "redirect=23324"); got != "/sso/auth?back=http://123.com/login?ticket=123&redirect=23324" {
 | |
| 		t.Errorf("AddQueryValue() = %v, want %v", got, "/sso/auth?back=http://123.com/login?ticket=123&redirect=23324")
 | |
| 	}
 | |
| 	if got := AddQueryValue("/sso/auth?back=http://123.com/login?ticket=123&", "redirect=23324"); got != "/sso/auth?back=http://123.com/login?ticket=123&redirect=23324" {
 | |
| 		t.Errorf("AddQueryValue() = %v, want %v", got, "/sso/auth?back=http://123.com/login?ticket=123&redirect=23324")
 | |
| 	}
 | |
| }
 | 
