1require './spec/support/sidekiq_middleware' 2 3SNIPPET_REPO_URL = "https://gitlab.com/gitlab-org/gitlab-snippet-test.git" 4BUNDLE_PATH = File.join(Rails.root, 'db/fixtures/development/gitlab-snippet-test.bundle') 5 6class Gitlab::Seeder::SnippetRepository 7 def initialize(snippet) 8 @snippet = snippet 9 end 10 11 def import 12 if File.exists?(BUNDLE_PATH) 13 @snippet.repository.create_from_bundle(BUNDLE_PATH) 14 else 15 @snippet.repository.import_repository(SNIPPET_REPO_URL) 16 @snippet.repository.bundle_to_disk(BUNDLE_PATH) 17 end 18 end 19 20 def self.cleanup 21 File.delete(BUNDLE_PATH) if File.exists?(BUNDLE_PATH) 22 rescue => e 23 warn "\nError cleaning up snippet bundle: #{e}" 24 end 25end 26 27Gitlab::Seeder.quiet do 28 20.times do |i| 29 user = User.not_mass_generated.sample 30 31 user.snippets.create({ 32 type: 'PersonalSnippet', 33 title: FFaker::Lorem.sentence(3), 34 file_name: 'file.rb', 35 visibility_level: Gitlab::VisibilityLevel.values.sample, 36 content: 'foo' 37 }).tap do |snippet| 38 unless snippet.repository_exists? 39 Gitlab::Seeder::SnippetRepository.new(snippet).import 40 end 41 42 snippet.track_snippet_repository(snippet.repository.storage) 43 snippet.statistics.refresh! 44 end 45 46 print('.') 47 end 48 49 Gitlab::Seeder::SnippetRepository.cleanup 50end 51 52