mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-26 04:17:08 +00:00 
			
		
		
		
	Start to add tests for modules/base/tool
This commit is contained in:
		| @@ -23,11 +23,9 @@ import ( | ||||
|  | ||||
| 	"github.com/Unknwon/com" | ||||
| 	"github.com/Unknwon/i18n" | ||||
|  | ||||
| 	"github.com/gogits/chardet" | ||||
|  | ||||
| 	"github.com/go-gitea/gitea/modules/log" | ||||
| 	"github.com/go-gitea/gitea/modules/setting" | ||||
| 	"github.com/gogits/chardet" | ||||
| ) | ||||
|  | ||||
| // EncodeMD5 encodes string to md5 hex value. | ||||
| @@ -198,10 +196,7 @@ func CreateTimeLimitCode(data string, minutes int, startInf interface{}) string | ||||
| // HashEmail hashes email address to MD5 string. | ||||
| // https://en.gravatar.com/site/implement/hash/ | ||||
| func HashEmail(email string) string { | ||||
| 	email = strings.ToLower(strings.TrimSpace(email)) | ||||
| 	h := md5.New() | ||||
| 	h.Write([]byte(email)) | ||||
| 	return hex.EncodeToString(h.Sum(nil)) | ||||
| 	return EncodeMD5(strings.ToLower(strings.TrimSpace(email))) | ||||
| } | ||||
|  | ||||
| // AvatarLink returns relative avatar link to the site domain by given email, | ||||
|   | ||||
							
								
								
									
										83
									
								
								modules/base/tool_test.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										83
									
								
								modules/base/tool_test.go
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,83 @@ | ||||
| package base | ||||
|  | ||||
| import "testing" | ||||
|  | ||||
| func TestEncodeMD5(t *testing.T) { | ||||
| 	if checksum := EncodeMD5("foobar"); checksum != "3858f62230ac3c915f300c664312c63f" { | ||||
| 		t.Errorf("got the wrong md5sum for string foobar: %s", checksum) | ||||
| 	} | ||||
|  | ||||
| } | ||||
|  | ||||
| func TestEncodeSha1(t *testing.T) { | ||||
| 	if checksum := EncodeSha1("foobar"); checksum != "8843d7f92416211de9ebb963ff4ce28125932878" { | ||||
| 		t.Errorf("got the wrong sha1sum for string foobar: %s", checksum) | ||||
| 	} | ||||
| } | ||||
|  | ||||
| func TestShortSha(t *testing.T) { | ||||
| 	if result := ShortSha("veryverylong"); result != "veryverylo" { | ||||
| 		t.Errorf("got the wrong sha1sum for string foobar: %s", result) | ||||
| 	} | ||||
| } | ||||
|  | ||||
| // TODO: Test DetectEncoding() | ||||
|  | ||||
| func TestBasicAuthDecode(t *testing.T) { | ||||
| 	if _, _, err := BasicAuthDecode("?"); err.Error() != "illegal base64 data at input byte 0" { | ||||
| 		t.Errorf("BasicAuthDecode should fail due to illeagl data: %v", err) | ||||
| 	} | ||||
|  | ||||
| 	user, pass, err := BasicAuthDecode("Zm9vOmJhcg==") | ||||
| 	if err != nil { | ||||
| 		t.Errorf("err should be nil but is: %v", err) | ||||
| 	} | ||||
| 	if user != "foo" { | ||||
| 		t.Errorf("user should be foo but is: %s", user) | ||||
| 	} | ||||
| 	if pass != "bar" { | ||||
| 		t.Errorf("pass should be foo but is: %s", pass) | ||||
| 	} | ||||
| } | ||||
|  | ||||
| func TestBasicAuthEncode(t *testing.T) { | ||||
| 	if auth := BasicAuthEncode("foo", "bar"); auth != "Zm9vOmJhcg==" { | ||||
| 		t.Errorf("auth should be Zm9vOmJhcg== but is: %s", auth) | ||||
| 	} | ||||
| } | ||||
|  | ||||
| func TestGetRandomString(t *testing.T) { | ||||
| 	if len(GetRandomString(4)) != 4 { | ||||
| 		t.Error("expected GetRandomString to be of len 4") | ||||
| 	} | ||||
| } | ||||
|  | ||||
| // TODO: Test PBKDF2() | ||||
| // TODO: Test VerifyTimeLimitCode() | ||||
| // TODO: Test CreateTimeLimitCode() | ||||
|  | ||||
| func TestHashEmail(t *testing.T) { | ||||
| 	if hash := HashEmail("lunny@gitea.io"); hash != "1b6d0c0e124d47ded12cd7115addeb11" { | ||||
| 		t.Errorf("unexpected email hash: %s", hash) | ||||
| 	} | ||||
| } | ||||
|  | ||||
| // TODO: AvatarLink() | ||||
| // TODO: computeTimeDiff() | ||||
| // TODO: TimeSincePro() | ||||
| // TODO: timeSince() | ||||
| // TODO: RawTimeSince() | ||||
| // TODO: TimeSince() | ||||
| // TODO: logn() | ||||
| // TODO: humanateBytes() | ||||
| // TODO: FileSize() | ||||
| // TODO: Subtract() | ||||
| // TODO: EllipsisString() | ||||
| // TODO: TruncateString() | ||||
| // TODO: StringsToInt64s() | ||||
| // TODO: Int64sToStrings() | ||||
| // TODO: Int64sToMap() | ||||
| // TODO: IsLetter() | ||||
| // TODO: IsTextFile() | ||||
| // TODO: IsImageFile() | ||||
| // TODO: IsPDFFile() | ||||
		Reference in New Issue
	
	Block a user
	 Matthias Loibl
					Matthias Loibl