Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Kozono <mkozono@gmail.com>2017-11-08 06:54:28 +0300
committerMichael Kozono <mkozono@gmail.com>2017-12-02 02:26:40 +0300
commit1bae010b63f0bcff79f32ce99190f2d5b6d9fbcd (patch)
treef7f02efd78721c19cf8e41fad44cf55ca8f3db21 /spec/migrations
parent3a0ad99d59506592e8d5c6abf0de0fc2104f0bf2 (diff)
Calculate checksums
by copy-pasting in the whole `Upload` class. Also, fix `Namespace` `model_type` (it should not be `Group`).
Diffstat (limited to 'spec/migrations')
-rw-r--r--spec/migrations/track_untracked_uploads_spec.rb64
1 files changed, 39 insertions, 25 deletions
diff --git a/spec/migrations/track_untracked_uploads_spec.rb b/spec/migrations/track_untracked_uploads_spec.rb
index 8db41786397..9539993be31 100644
--- a/spec/migrations/track_untracked_uploads_spec.rb
+++ b/spec/migrations/track_untracked_uploads_spec.rb
@@ -49,6 +49,7 @@ describe TrackUntrackedUploads, :migration, :sidekiq do
let(:project1) { create(:project) }
let(:project2) { create(:project) }
let(:appearance) { create(:appearance) }
+ let(:uploads) { table(:uploads) }
before do
fixture = Rails.root.join('spec', 'fixtures', 'rails_sample.jpg')
@@ -73,46 +74,52 @@ describe TrackUntrackedUploads, :migration, :sidekiq do
appearance.uploads.last.destroy
end
- it 'tracks untracked migrations' do
+ it 'tracks untracked uploads' do
Sidekiq::Testing.inline! do
- migrate!
+ expect do
+ migrate!
+ end.to change { uploads.count }.from(4).to(8)
- # Tracked uploads still exist
- expect(user1.reload.uploads.first.attributes).to include({
- "path" => "uploads/-/system/user/avatar/#{user1.id}/rails_sample.jpg",
- "uploader" => "AvatarUploader"
- })
- expect(project1.reload.uploads.first.attributes).to include({
- "path" => "uploads/-/system/project/avatar/#{project1.id}/rails_sample.jpg",
- "uploader" => "AvatarUploader"
- })
- expect(appearance.reload.uploads.first.attributes).to include({
- "path" => "uploads/-/system/appearance/logo/#{appearance.id}/rails_sample.jpg",
- "uploader" => "AttachmentUploader"
- })
- expect(project1.uploads.last.attributes).to include({
- "path" => @project1_markdown_upload_path,
- "uploader" => "FileUploader"
- })
-
- # Untracked uploads are now tracked
expect(user2.reload.uploads.first.attributes).to include({
"path" => "uploads/-/system/user/avatar/#{user2.id}/rails_sample.jpg",
"uploader" => "AvatarUploader"
- })
+ }.merge(rails_sample_jpg_attrs))
expect(project2.reload.uploads.first.attributes).to include({
"path" => "uploads/-/system/project/avatar/#{project2.id}/rails_sample.jpg",
"uploader" => "AvatarUploader"
- })
+ }.merge(rails_sample_jpg_attrs))
expect(appearance.reload.uploads.count).to eq(2)
expect(appearance.uploads.last.attributes).to include({
"path" => "uploads/-/system/appearance/header_logo/#{appearance.id}/rails_sample.jpg",
"uploader" => "AttachmentUploader"
- })
+ }.merge(rails_sample_jpg_attrs))
expect(project2.uploads.last.attributes).to include({
"path" => @project2_markdown_upload_path,
"uploader" => "FileUploader"
- })
+ }.merge(rails_sample_jpg_attrs))
+ end
+ end
+
+ it 'ignores already-tracked uploads' do
+ Sidekiq::Testing.inline! do
+ migrate!
+
+ expect(user1.reload.uploads.first.attributes).to include({
+ "path" => "uploads/-/system/user/avatar/#{user1.id}/rails_sample.jpg",
+ "uploader" => "AvatarUploader",
+ }.merge(rails_sample_jpg_attrs))
+ expect(project1.reload.uploads.first.attributes).to include({
+ "path" => "uploads/-/system/project/avatar/#{project1.id}/rails_sample.jpg",
+ "uploader" => "AvatarUploader"
+ }.merge(rails_sample_jpg_attrs))
+ expect(appearance.reload.uploads.first.attributes).to include({
+ "path" => "uploads/-/system/appearance/logo/#{appearance.id}/rails_sample.jpg",
+ "uploader" => "AttachmentUploader"
+ }.merge(rails_sample_jpg_attrs))
+ expect(project1.uploads.last.attributes).to include({
+ "path" => @project1_markdown_upload_path,
+ "uploader" => "FileUploader"
+ }.merge(rails_sample_jpg_attrs))
end
end
@@ -125,4 +132,11 @@ describe TrackUntrackedUploads, :migration, :sidekiq do
end
end
end
+
+ def rails_sample_jpg_attrs
+ {
+ "size" => 35255,
+ "checksum" => 'f2d1fd9d8d8a3368d468fa067888605d74a66f41c16f55979ceaf2af77375844'
+ }
+ end
end