You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

api_repo_lfs_migrate_test.go 1.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. // Copyright 2021 The Gitea Authors. All rights reserved.
  2. // SPDX-License-Identifier: MIT
  3. package integration
  4. import (
  5. "net/http"
  6. "path"
  7. "testing"
  8. auth_model "code.gitea.io/gitea/models/auth"
  9. "code.gitea.io/gitea/models/unittest"
  10. user_model "code.gitea.io/gitea/models/user"
  11. "code.gitea.io/gitea/modules/lfs"
  12. "code.gitea.io/gitea/modules/setting"
  13. api "code.gitea.io/gitea/modules/structs"
  14. "code.gitea.io/gitea/services/migrations"
  15. "code.gitea.io/gitea/tests"
  16. "github.com/stretchr/testify/assert"
  17. )
  18. func TestAPIRepoLFSMigrateLocal(t *testing.T) {
  19. defer tests.PrepareTestEnv(t)()
  20. oldImportLocalPaths := setting.ImportLocalPaths
  21. oldAllowLocalNetworks := setting.Migrations.AllowLocalNetworks
  22. setting.ImportLocalPaths = true
  23. setting.Migrations.AllowLocalNetworks = true
  24. assert.NoError(t, migrations.Init())
  25. user := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 1})
  26. session := loginUser(t, user.Name)
  27. token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeWriteRepository)
  28. req := NewRequestWithJSON(t, "POST", "/api/v1/repos/migrate", &api.MigrateRepoOptions{
  29. CloneAddr: path.Join(setting.RepoRootPath, "migration/lfs-test.git"),
  30. RepoOwnerID: user.ID,
  31. RepoName: "lfs-test-local",
  32. LFS: true,
  33. }).AddTokenAuth(token)
  34. resp := MakeRequest(t, req, NoExpectedStatus)
  35. assert.EqualValues(t, http.StatusCreated, resp.Code)
  36. store := lfs.NewContentStore()
  37. ok, _ := store.Verify(lfs.Pointer{Oid: "fb8f7d8435968c4f82a726a92395be4d16f2f63116caf36c8ad35c60831ab041", Size: 6})
  38. assert.True(t, ok)
  39. ok, _ = store.Verify(lfs.Pointer{Oid: "d6f175817f886ec6fbbc1515326465fa96c3bfd54a4ea06cfd6dbbd8340e0152", Size: 6})
  40. assert.True(t, ok)
  41. setting.ImportLocalPaths = oldImportLocalPaths
  42. setting.Migrations.AllowLocalNetworks = oldAllowLocalNetworks
  43. assert.NoError(t, migrations.Init()) // reset old migration settings
  44. }