From 3d7d750a999b72d422000154a0b1f2801614521e Mon Sep 17 00:00:00 2001 From: KN4CK3R Date: Wed, 12 May 2021 06:13:42 +0200 Subject: [PATCH] Fix individual tests (addition to #15802) (#15818) * Decouple TestAction_GetRepoLink and TestSizedAvatarLink. * Load database for TestCheckGPGUserEmail. * Load database for TestMakeIDsFromAPIAssigneesToAdd. * Load database for TestGetUserIDsByNames and TestGetMaileableUsersByIDs. * Load database for TestUser_ToUser. * Load database for TestRepository_EditWikiPage. * Include AppSubURL in test. * Prevent panic with empty slice. Co-authored-by: zeripath Co-authored-by: techknowlogick --- models/avatar_test.go | 4 +++- models/gpg_key_test.go | 23 +++++++++++++++++------ models/issue_assignees_test.go | 5 +++++ models/user_test.go | 4 ++++ modules/convert/user_test.go | 2 ++ services/wiki/wiki_test.go | 2 ++ 6 files changed, 33 insertions(+), 7 deletions(-) diff --git a/models/avatar_test.go b/models/avatar_test.go index bf99897d8..09f1a8066 100644 --- a/models/avatar_test.go +++ b/models/avatar_test.go @@ -40,8 +40,10 @@ func TestHashEmail(t *testing.T) { } func TestSizedAvatarLink(t *testing.T) { + setting.AppSubURL = "/testsuburl" + disableGravatar() - assert.Equal(t, "/suburl/assets/img/avatar_default.png", + assert.Equal(t, "/testsuburl/assets/img/avatar_default.png", SizedAvatarLink("gitea@example.com", 100)) enableGravatar(t) diff --git a/models/gpg_key_test.go b/models/gpg_key_test.go index c9e099093..f04eb8ead 100644 --- a/models/gpg_key_test.go +++ b/models/gpg_key_test.go @@ -103,6 +103,9 @@ MkM/fdpyc2hY7Dl/+qFmN5MG5yGmMpQcX+RNNR222ibNC1D3wg== =i9b7 -----END PGP PUBLIC KEY BLOCK-----` keys, err := checkArmoredGPGKeyString(testGPGArmor) + if !assert.NotEmpty(t, keys) { + return + } ekey := keys[0] assert.NoError(t, err, "Could not parse a valid GPG armored key", ekey) @@ -189,6 +192,10 @@ Unknown GPG key with good email } func TestCheckGPGUserEmail(t *testing.T) { + assert.NoError(t, PrepareTestDatabase()) + + _ = AssertExistsAndLoadBean(t, &User{ID: 1}).(*User) + testEmailWithUpperCaseLetters := `-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1 @@ -222,9 +229,11 @@ Q0KHb+QcycSgbDx0ZAvdIacuKvBBcbxrsmFUI4LR+oIup0G9gUc0roPvr014jYQL keys, err := AddGPGKey(1, testEmailWithUpperCaseLetters) assert.NoError(t, err) - key := keys[0] - if assert.Len(t, key.Emails, 1) { - assert.Equal(t, "user1@example.com", key.Emails[0].Email) + if assert.NotEmpty(t, keys) { + key := keys[0] + if assert.Len(t, key.Emails, 1) { + assert.Equal(t, "user1@example.com", key.Emails[0].Email) + } } } @@ -374,7 +383,9 @@ epiDVQ== ` keys, err := checkArmoredGPGKeyString(testIssue6599) assert.NoError(t, err) - ekey := keys[0] - expire := getExpiryTime(ekey) - assert.Equal(t, time.Unix(1586105389, 0), expire) + if assert.NotEmpty(t, keys) { + ekey := keys[0] + expire := getExpiryTime(ekey) + assert.Equal(t, time.Unix(1586105389, 0), expire) + } } diff --git a/models/issue_assignees_test.go b/models/issue_assignees_test.go index 79257013f..e0359b0b9 100644 --- a/models/issue_assignees_test.go +++ b/models/issue_assignees_test.go @@ -61,6 +61,11 @@ func TestUpdateAssignee(t *testing.T) { } func TestMakeIDsFromAPIAssigneesToAdd(t *testing.T) { + assert.NoError(t, PrepareTestDatabase()) + + _ = AssertExistsAndLoadBean(t, &User{ID: 1}).(*User) + _ = AssertExistsAndLoadBean(t, &User{ID: 2}).(*User) + IDs, err := MakeIDsFromAPIAssigneesToAdd("", []string{""}) assert.NoError(t, err) assert.Equal(t, []int64{}, IDs) diff --git a/models/user_test.go b/models/user_test.go index 02319e435..e0d4e164f 100644 --- a/models/user_test.go +++ b/models/user_test.go @@ -368,6 +368,8 @@ func TestCreateUser_Issue5882(t *testing.T) { } func TestGetUserIDsByNames(t *testing.T) { + assert.NoError(t, PrepareTestDatabase()) + // ignore non existing IDs, err := GetUserIDsByNames([]string{"user1", "user2", "none_existing_user"}, true) assert.NoError(t, err) @@ -380,6 +382,8 @@ func TestGetUserIDsByNames(t *testing.T) { } func TestGetMaileableUsersByIDs(t *testing.T) { + assert.NoError(t, PrepareTestDatabase()) + results, err := GetMaileableUsersByIDs([]int64{1, 4}, false) assert.NoError(t, err) assert.Equal(t, 1, len(results)) diff --git a/modules/convert/user_test.go b/modules/convert/user_test.go index 393965344..7837910ff 100644 --- a/modules/convert/user_test.go +++ b/modules/convert/user_test.go @@ -8,10 +8,12 @@ import ( "testing" "code.gitea.io/gitea/models" + "github.com/stretchr/testify/assert" ) func TestUser_ToUser(t *testing.T) { + assert.NoError(t, models.PrepareTestDatabase()) user1 := models.AssertExistsAndLoadBean(t, &models.User{ID: 1, IsAdmin: true}).(*models.User) diff --git a/services/wiki/wiki_test.go b/services/wiki/wiki_test.go index 0e1d460a2..19f298f2d 100644 --- a/services/wiki/wiki_test.go +++ b/services/wiki/wiki_test.go @@ -162,6 +162,8 @@ func TestRepository_AddWikiPage(t *testing.T) { } func TestRepository_EditWikiPage(t *testing.T) { + assert.NoError(t, models.PrepareTestDatabase()) + const newWikiContent = "This is the new content" const commitMsg = "Commit message" repo := models.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository)