summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShinya Maeda <shinya@gitlab.com>2018-06-04 14:28:21 +0900
committerShinya Maeda <shinya@gitlab.com>2018-06-04 14:28:21 +0900
commit8f1f73d4e3ca82e3d449e478606f133d19ead7b1 (patch)
tree14685727740feb089054a9790b3a2687106cf441
parent2184c753fd81925c74a3a30abe9be187aa8c4133 (diff)
downloadgitlab-ce-add-background-migrations-for-not-archived-traces.tar.gz
Fix typo in spec. Add a test for the case of when trace is stored in databaseadd-background-migrations-for-not-archived-traces
-rw-r--r--spec/lib/gitlab/background_migration/archive_legacy_traces_spec.rb26
-rw-r--r--spec/support/trace/trace_helpers.rb4
2 files changed, 26 insertions, 4 deletions
diff --git a/spec/lib/gitlab/background_migration/archive_legacy_traces_spec.rb b/spec/lib/gitlab/background_migration/archive_legacy_traces_spec.rb
index 0765f4149f9..877c061d11b 100644
--- a/spec/lib/gitlab/background_migration/archive_legacy_traces_spec.rb
+++ b/spec/lib/gitlab/background_migration/archive_legacy_traces_spec.rb
@@ -16,7 +16,7 @@ describe Gitlab::BackgroundMigration::ArchiveLegacyTraces, :migration, schema: 2
context 'when trace file exsits at the right place' do
before do
- create_legacy_trace(@build, 'aiueo')
+ create_legacy_trace(@build, 'trace in file')
end
it 'correctly archive legacy traces' do
@@ -27,15 +27,33 @@ describe Gitlab::BackgroundMigration::ArchiveLegacyTraces, :migration, schema: 2
expect(job_artifacts.count).to eq(1)
expect(File.exist?(legacy_trace_path(@build))).to be_falsy
- expect(File.read(archived_trace_path(job_artifacts.first))).to eq('aiueo')
+ expect(File.read(archived_trace_path(job_artifacts.first))).to eq('trace in file')
end
end
context 'when trace file does not exsits at the right place' do
- it 'does not raise errors and create job artifact row' do
- described_class.new.perform(1, 1)
+ it 'does not raise errors nor create job artifact' do
+ expect { described_class.new.perform(1, 1) }.not_to raise_error
expect(job_artifacts.count).to eq(0)
end
end
+
+ context 'when trace data exsits in database' do
+ before do
+ create_legacy_trace_in_db(@build, 'trace in db')
+ end
+
+ it 'correctly archive legacy traces' do
+ expect(job_artifacts.count).to eq(0)
+ expect(@build.read_attribute(:trace)).not_to be_empty
+
+ described_class.new.perform(1, 1)
+
+ @build.reload
+ expect(job_artifacts.count).to eq(1)
+ expect(@build.read_attribute(:trace)).to be_nil
+ expect(File.read(archived_trace_path(job_artifacts.first))).to eq('trace in db')
+ end
+ end
end
diff --git a/spec/support/trace/trace_helpers.rb b/spec/support/trace/trace_helpers.rb
index f6d11b61038..c7802bbcb94 100644
--- a/spec/support/trace/trace_helpers.rb
+++ b/spec/support/trace/trace_helpers.rb
@@ -3,6 +3,10 @@ module TraceHelpers
File.open(legacy_trace_path(build), 'wb') { |stream| stream.write(content) }
end
+ def create_legacy_trace_in_db(build, content)
+ build.update_column(:trace, content)
+ end
+
def legacy_trace_path(build)
legacy_trace_dir = File.join(Settings.gitlab_ci.builds_path,
build.created_at.utc.strftime("%Y_%m"),