code.gitea.io/gitea@v1.22.3/models/packages/package_test.go (about) 1 // Copyright 2022 The Gitea Authors. All rights reserved. 2 // SPDX-License-Identifier: MIT 3 4 package packages_test 5 6 import ( 7 "testing" 8 9 "code.gitea.io/gitea/models/db" 10 packages_model "code.gitea.io/gitea/models/packages" 11 "code.gitea.io/gitea/models/unittest" 12 user_model "code.gitea.io/gitea/models/user" 13 14 _ "code.gitea.io/gitea/models" 15 _ "code.gitea.io/gitea/models/actions" 16 _ "code.gitea.io/gitea/models/activities" 17 18 "github.com/stretchr/testify/assert" 19 ) 20 21 func TestMain(m *testing.M) { 22 unittest.MainTest(m) 23 } 24 25 func TestHasOwnerPackages(t *testing.T) { 26 assert.NoError(t, unittest.PrepareTestDatabase()) 27 28 owner := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 1}) 29 30 p, err := packages_model.TryInsertPackage(db.DefaultContext, &packages_model.Package{ 31 OwnerID: owner.ID, 32 LowerName: "package", 33 }) 34 assert.NotNil(t, p) 35 assert.NoError(t, err) 36 37 // A package without package versions gets automatically cleaned up and should return false 38 has, err := packages_model.HasOwnerPackages(db.DefaultContext, owner.ID) 39 assert.False(t, has) 40 assert.NoError(t, err) 41 42 pv, err := packages_model.GetOrInsertVersion(db.DefaultContext, &packages_model.PackageVersion{ 43 PackageID: p.ID, 44 LowerVersion: "internal", 45 IsInternal: true, 46 }) 47 assert.NotNil(t, pv) 48 assert.NoError(t, err) 49 50 // A package with an internal package version gets automatically cleaned up and should return false 51 has, err = packages_model.HasOwnerPackages(db.DefaultContext, owner.ID) 52 assert.False(t, has) 53 assert.NoError(t, err) 54 55 pv, err = packages_model.GetOrInsertVersion(db.DefaultContext, &packages_model.PackageVersion{ 56 PackageID: p.ID, 57 LowerVersion: "normal", 58 IsInternal: false, 59 }) 60 assert.NotNil(t, pv) 61 assert.NoError(t, err) 62 63 // A package with a normal package version should return true 64 has, err = packages_model.HasOwnerPackages(db.DefaultContext, owner.ID) 65 assert.True(t, has) 66 assert.NoError(t, err) 67 }