| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- // Copyright 2022 The Gitea Authors. All rights reserved.
- // SPDX-License-Identifier: MIT
-
- package packages_test
-
- import (
- "testing"
-
- packages_model "code.gitea.io/gitea/models/packages"
- "code.gitea.io/gitea/models/unittest"
- user_model "code.gitea.io/gitea/models/user"
-
- _ "code.gitea.io/gitea/models"
- _ "code.gitea.io/gitea/models/actions"
- _ "code.gitea.io/gitea/models/activities"
-
- "github.com/stretchr/testify/assert"
- )
-
- func TestMain(m *testing.M) {
- unittest.MainTest(m)
- }
-
- func TestHasOwnerPackages(t *testing.T) {
- assert.NoError(t, unittest.PrepareTestDatabase())
-
- owner := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 1})
-
- p, err := packages_model.TryInsertPackage(t.Context(), &packages_model.Package{
- OwnerID: owner.ID,
- LowerName: "package",
- })
- assert.NotNil(t, p)
- assert.NoError(t, err)
-
- // A package without package versions gets automatically cleaned up and should return false
- has, err := packages_model.HasOwnerPackages(t.Context(), owner.ID)
- assert.False(t, has)
- assert.NoError(t, err)
-
- pv, err := packages_model.GetOrInsertVersion(t.Context(), &packages_model.PackageVersion{
- PackageID: p.ID,
- LowerVersion: "internal",
- IsInternal: true,
- })
- assert.NotNil(t, pv)
- assert.NoError(t, err)
-
- // A package with an internal package version gets automatically cleaned up and should return false
- has, err = packages_model.HasOwnerPackages(t.Context(), owner.ID)
- assert.False(t, has)
- assert.NoError(t, err)
-
- pv, err = packages_model.GetOrInsertVersion(t.Context(), &packages_model.PackageVersion{
- PackageID: p.ID,
- LowerVersion: "normal",
- IsInternal: false,
- })
- assert.NotNil(t, pv)
- assert.NoError(t, err)
-
- // A package with a normal package version should return true
- has, err = packages_model.HasOwnerPackages(t.Context(), owner.ID)
- assert.True(t, has)
- assert.NoError(t, err)
- }
|