summaryrefslogtreecommitdiff
path: root/db/fixtures/development/12_snippets.rb
diff options
context:
space:
mode:
Diffstat (limited to 'db/fixtures/development/12_snippets.rb')
-rw-r--r--db/fixtures/development/12_snippets.rb26
1 files changed, 25 insertions, 1 deletions
diff --git a/db/fixtures/development/12_snippets.rb b/db/fixtures/development/12_snippets.rb
index 8ceabcdcd9b..6d31007b320 100644
--- a/db/fixtures/development/12_snippets.rb
+++ b/db/fixtures/development/12_snippets.rb
@@ -1,6 +1,28 @@
require './spec/support/sidekiq_middleware'
SNIPPET_REPO_URL = "https://gitlab.com/gitlab-org/gitlab-snippet-test.git"
+BUNDLE_PATH = File.join(Rails.root, 'db/fixtures/development/gitlab-snippet-test.bundle')
+
+class Gitlab::Seeder::SnippetRepository
+ def initialize(snippet)
+ @snippet = snippet
+ end
+
+ def import
+ if File.exists?(BUNDLE_PATH)
+ @snippet.repository.create_from_bundle(BUNDLE_PATH)
+ else
+ @snippet.repository.import_repository(SNIPPET_REPO_URL)
+ @snippet.repository.bundle_to_disk(BUNDLE_PATH)
+ end
+ end
+
+ def self.cleanup
+ File.delete(BUNDLE_PATH) if File.exists?(BUNDLE_PATH)
+ rescue => e
+ warn "\nError cleaning up snippet bundle: #{e}"
+ end
+end
Gitlab::Seeder.quiet do
20.times do |i|
@@ -14,7 +36,7 @@ Gitlab::Seeder.quiet do
content: 'foo'
}).tap do |snippet|
unless snippet.repository_exists?
- snippet.repository.import_repository(SNIPPET_REPO_URL)
+ Gitlab::Seeder::SnippetRepository.new(snippet).import
end
snippet.track_snippet_repository(snippet.repository.storage)
@@ -23,5 +45,7 @@ Gitlab::Seeder.quiet do
print('.')
end
+
+ Gitlab::Seeder::SnippetRepository.cleanup
end