gitea源码

lfs_test.go 2.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. // Copyright 2023 The Gitea Authors. All rights reserved.
  2. // SPDX-License-Identifier: MIT
  3. package setting
  4. import (
  5. "testing"
  6. "github.com/stretchr/testify/assert"
  7. )
  8. func Test_getStorageInheritNameSectionTypeForLFS(t *testing.T) {
  9. iniStr := `
  10. [storage]
  11. STORAGE_TYPE = minio
  12. `
  13. cfg, err := NewConfigProviderFromData(iniStr)
  14. assert.NoError(t, err)
  15. assert.NoError(t, loadLFSFrom(cfg))
  16. assert.EqualValues(t, "minio", LFS.Storage.Type)
  17. assert.Equal(t, "lfs/", LFS.Storage.MinioConfig.BasePath)
  18. iniStr = `
  19. [server]
  20. LFS_CONTENT_PATH = path_ignored
  21. [lfs]
  22. PATH = path_used
  23. `
  24. cfg, err = NewConfigProviderFromData(iniStr)
  25. assert.NoError(t, err)
  26. assert.NoError(t, loadLFSFrom(cfg))
  27. assert.EqualValues(t, "local", LFS.Storage.Type)
  28. assert.Contains(t, LFS.Storage.Path, "path_used")
  29. iniStr = `
  30. [server]
  31. LFS_CONTENT_PATH = deprecatedpath
  32. `
  33. cfg, err = NewConfigProviderFromData(iniStr)
  34. assert.NoError(t, err)
  35. assert.NoError(t, loadLFSFrom(cfg))
  36. assert.EqualValues(t, "local", LFS.Storage.Type)
  37. assert.Contains(t, LFS.Storage.Path, "deprecatedpath")
  38. iniStr = `
  39. [storage.lfs]
  40. STORAGE_TYPE = minio
  41. `
  42. cfg, err = NewConfigProviderFromData(iniStr)
  43. assert.NoError(t, err)
  44. assert.NoError(t, loadLFSFrom(cfg))
  45. assert.EqualValues(t, "minio", LFS.Storage.Type)
  46. assert.Equal(t, "lfs/", LFS.Storage.MinioConfig.BasePath)
  47. iniStr = `
  48. [lfs]
  49. STORAGE_TYPE = my_minio
  50. [storage.my_minio]
  51. STORAGE_TYPE = minio
  52. `
  53. cfg, err = NewConfigProviderFromData(iniStr)
  54. assert.NoError(t, err)
  55. assert.NoError(t, loadLFSFrom(cfg))
  56. assert.EqualValues(t, "minio", LFS.Storage.Type)
  57. assert.Equal(t, "lfs/", LFS.Storage.MinioConfig.BasePath)
  58. iniStr = `
  59. [lfs]
  60. STORAGE_TYPE = my_minio
  61. MINIO_BASE_PATH = my_lfs/
  62. [storage.my_minio]
  63. STORAGE_TYPE = minio
  64. `
  65. cfg, err = NewConfigProviderFromData(iniStr)
  66. assert.NoError(t, err)
  67. assert.NoError(t, loadLFSFrom(cfg))
  68. assert.EqualValues(t, "minio", LFS.Storage.Type)
  69. assert.Equal(t, "my_lfs/", LFS.Storage.MinioConfig.BasePath)
  70. }
  71. func Test_LFSStorage1(t *testing.T) {
  72. iniStr := `
  73. [storage]
  74. STORAGE_TYPE = minio
  75. `
  76. cfg, err := NewConfigProviderFromData(iniStr)
  77. assert.NoError(t, err)
  78. assert.NoError(t, loadLFSFrom(cfg))
  79. assert.EqualValues(t, "minio", LFS.Storage.Type)
  80. assert.Equal(t, "gitea", LFS.Storage.MinioConfig.Bucket)
  81. assert.Equal(t, "lfs/", LFS.Storage.MinioConfig.BasePath)
  82. }
  83. func Test_LFSClientServerConfigs(t *testing.T) {
  84. iniStr := `
  85. [server]
  86. LFS_MAX_BATCH_SIZE = 100
  87. [lfs_client]
  88. # will default to 20
  89. BATCH_SIZE = 0
  90. `
  91. cfg, err := NewConfigProviderFromData(iniStr)
  92. assert.NoError(t, err)
  93. assert.NoError(t, loadLFSFrom(cfg))
  94. assert.Equal(t, 100, LFS.MaxBatchSize)
  95. assert.Equal(t, 20, LFSClient.BatchSize)
  96. assert.Equal(t, 8, LFSClient.BatchOperationConcurrency)
  97. iniStr = `
  98. [lfs_client]
  99. BATCH_SIZE = 50
  100. BATCH_OPERATION_CONCURRENCY = 10
  101. `
  102. cfg, err = NewConfigProviderFromData(iniStr)
  103. assert.NoError(t, err)
  104. assert.NoError(t, loadLFSFrom(cfg))
  105. assert.Equal(t, 50, LFSClient.BatchSize)
  106. assert.Equal(t, 10, LFSClient.BatchOperationConcurrency)
  107. }