aboutsummaryrefslogtreecommitdiffstats
path: root/services/repository/avatar_test.go
diff options
context:
space:
mode:
authorLunny Xiao <xiaolunwen@gmail.com>2021-12-12 23:48:20 +0800
committerGitHub <noreply@github.com>2021-12-12 23:48:20 +0800
commit572324049008ac803d3d7c17a7b3a81ef00386fc (patch)
treea9c3709643a23165d27aa67e76f10f26a89936d5 /services/repository/avatar_test.go
parent0a7e8327a017c5dd43e552bbcd0d0f056bc1671b (diff)
downloadgitea-572324049008ac803d3d7c17a7b3a81ef00386fc.tar.gz
gitea-572324049008ac803d3d7c17a7b3a81ef00386fc.zip
Some repository refactors (#17950)
* some repository refactors * remove unnecessary code * Fix test * Remove unnecessary banner
Diffstat (limited to 'services/repository/avatar_test.go')
-rw-r--r--services/repository/avatar_test.go64
1 files changed, 64 insertions, 0 deletions
diff --git a/services/repository/avatar_test.go b/services/repository/avatar_test.go
new file mode 100644
index 0000000000..efad392a2d
--- /dev/null
+++ b/services/repository/avatar_test.go
@@ -0,0 +1,64 @@
+// Copyright 2021 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package repository
+
+import (
+ "bytes"
+ "crypto/md5"
+ "fmt"
+ "image"
+ "image/png"
+ "testing"
+
+ repo_model "code.gitea.io/gitea/models/repo"
+ "code.gitea.io/gitea/models/unittest"
+
+ "github.com/stretchr/testify/assert"
+)
+
+func TestUploadAvatar(t *testing.T) {
+ // Generate image
+ myImage := image.NewRGBA(image.Rect(0, 0, 1, 1))
+ var buff bytes.Buffer
+ png.Encode(&buff, myImage)
+
+ assert.NoError(t, unittest.PrepareTestDatabase())
+ repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 10}).(*repo_model.Repository)
+
+ err := UploadAvatar(repo, buff.Bytes())
+ assert.NoError(t, err)
+ assert.Equal(t, fmt.Sprintf("%d-%x", 10, md5.Sum(buff.Bytes())), repo.Avatar)
+}
+
+func TestUploadBigAvatar(t *testing.T) {
+ // Generate BIG image
+ myImage := image.NewRGBA(image.Rect(0, 0, 5000, 1))
+ var buff bytes.Buffer
+ png.Encode(&buff, myImage)
+
+ assert.NoError(t, unittest.PrepareTestDatabase())
+ repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 10}).(*repo_model.Repository)
+
+ err := UploadAvatar(repo, buff.Bytes())
+ assert.Error(t, err)
+}
+
+func TestDeleteAvatar(t *testing.T) {
+ // Generate image
+ myImage := image.NewRGBA(image.Rect(0, 0, 1, 1))
+ var buff bytes.Buffer
+ png.Encode(&buff, myImage)
+
+ assert.NoError(t, unittest.PrepareTestDatabase())
+ repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 10}).(*repo_model.Repository)
+
+ err := UploadAvatar(repo, buff.Bytes())
+ assert.NoError(t, err)
+
+ err = DeleteAvatar(repo)
+ assert.NoError(t, err)
+
+ assert.Equal(t, "", repo.Avatar)
+}