diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-04-20 21:38:24 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-04-20 21:38:24 +0300 |
commit | 983a0bba5d2a042c4a3bbb22432ec192c7501d82 (patch) | |
tree | b153cd387c14ba23bd5a07514c7c01fddf6a78a0 /spec/lib/gitlab/diff | |
parent | a2bddee2cdb38673df0e004d5b32d9f77797de64 (diff) |
Add latest changes from gitlab-org/gitlab@12-10-stable-ee
Diffstat (limited to 'spec/lib/gitlab/diff')
-rw-r--r-- | spec/lib/gitlab/diff/formatters/text_formatter_spec.rb | 3 | ||||
-rw-r--r-- | spec/lib/gitlab/diff/highlight_cache_spec.rb | 52 | ||||
-rw-r--r-- | spec/lib/gitlab/diff/position_spec.rb | 1 |
3 files changed, 54 insertions, 2 deletions
diff --git a/spec/lib/gitlab/diff/formatters/text_formatter_spec.rb b/spec/lib/gitlab/diff/formatters/text_formatter_spec.rb index 33d4994f5db..e275ebef2c9 100644 --- a/spec/lib/gitlab/diff/formatters/text_formatter_spec.rb +++ b/spec/lib/gitlab/diff/formatters/text_formatter_spec.rb @@ -9,7 +9,8 @@ describe Gitlab::Diff::Formatters::TextFormatter do start_sha: 456, head_sha: 789, old_path: 'old_path.txt', - new_path: 'new_path.txt' + new_path: 'new_path.txt', + line_range: nil } end diff --git a/spec/lib/gitlab/diff/highlight_cache_spec.rb b/spec/lib/gitlab/diff/highlight_cache_spec.rb index a16e5e185bb..3c128aad976 100644 --- a/spec/lib/gitlab/diff/highlight_cache_spec.rb +++ b/spec/lib/gitlab/diff/highlight_cache_spec.rb @@ -113,7 +113,7 @@ describe Gitlab::Diff::HighlightCache, :clean_gitlab_redis_cache do allow(redis).to receive(:info).and_return({ "redis_version" => "3.0.0" }) expect(described_class.gitlab_redis_diff_caching_memory_usage_bytes) - .not_to receive(:observe).and_call_original + .not_to receive(:observe) cache.send(:write_to_redis_hash, diff_hash) end @@ -163,6 +163,56 @@ describe Gitlab::Diff::HighlightCache, :clean_gitlab_redis_cache do end end + describe "GZip usage" do + let(:diff_file) do + diffs = merge_request.diffs + raw_diff = diffs.diffable.raw_diffs(diffs.diff_options.merge(paths: ['CHANGELOG'])).first + Gitlab::Diff::File.new(raw_diff, + repository: diffs.project.repository, + diff_refs: diffs.diff_refs, + fallback_diff_refs: diffs.fallback_diff_refs) + end + + context "feature flag :gzip_diff_cache disabled" do + before do + stub_feature_flags(gzip_diff_cache: true) + end + + it "uses ActiveSupport::Gzip when reading from the cache" do + expect(ActiveSupport::Gzip).to receive(:decompress).at_least(:once).and_call_original + + cache.write_if_empty + cache.decorate(diff_file) + end + + it "uses ActiveSupport::Gzip to compress data when writing to cache" do + expect(ActiveSupport::Gzip).to receive(:compress).and_call_original + + cache.send(:write_to_redis_hash, diff_hash) + end + end + + context "feature flag :gzip_diff_cache disabled" do + before do + stub_feature_flags(gzip_diff_cache: false) + end + + it "doesn't use ActiveSupport::Gzip when reading from the cache" do + expect(ActiveSupport::Gzip).not_to receive(:decompress) + + cache.write_if_empty + cache.decorate(diff_file) + end + + it "doesn't use ActiveSupport::Gzip to compress data when writing to cache" do + expect(ActiveSupport::Gzip).not_to receive(:compress) + + expect { cache.send(:write_to_redis_hash, diff_hash) } + .to change { Gitlab::Redis::Cache.with { |r| r.hgetall(cache_key) } } + end + end + end + describe 'metrics' do it 'defines :gitlab_redis_diff_caching_memory_usage_bytes histogram' do expect(described_class).to respond_to(:gitlab_redis_diff_caching_memory_usage_bytes) diff --git a/spec/lib/gitlab/diff/position_spec.rb b/spec/lib/gitlab/diff/position_spec.rb index 4b11ff16c38..a83c0f35d92 100644 --- a/spec/lib/gitlab/diff/position_spec.rb +++ b/spec/lib/gitlab/diff/position_spec.rb @@ -28,6 +28,7 @@ describe Gitlab::Diff::Position do new_path: "files/ruby/popen.rb", old_line: nil, new_line: 14, + line_range: nil, base_sha: nil, head_sha: nil, start_sha: nil, |