summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorStan Hu <stanhu@gmail.com>2019-06-21 20:39:05 +0000
committerStan Hu <stanhu@gmail.com>2019-06-21 20:39:05 +0000
commitc6f54ab12b5b276dadda0639ea647e9a2b4c1781 (patch)
treea21bb9297af12d50e28375130c88e895cfd7aa36 /spec
parenteeb81259a2447b1af558cc00f2d26193f75e8b39 (diff)
parent1b7e7ddea3f5303a9c21654c0ce33ed6b6975995 (diff)
downloadgitlab-ce-c6f54ab12b5b276dadda0639ea647e9a2b4c1781.tar.gz
Merge branch '63513-ensure-gitlab-jsoncache-includes-the-gitlab-version-in-the-cache-key' into 'master'
Include the GitLab version in the cache key for Gitlab::JsonCache See merge request gitlab-org/gitlab-ce!29938
Diffstat (limited to 'spec')
-rw-r--r--spec/lib/gitlab/json_cache_spec.rb68
1 files changed, 47 insertions, 21 deletions
diff --git a/spec/lib/gitlab/json_cache_spec.rb b/spec/lib/gitlab/json_cache_spec.rb
index c6a6042c65c..59160741c45 100644
--- a/spec/lib/gitlab/json_cache_spec.rb
+++ b/spec/lib/gitlab/json_cache_spec.rb
@@ -6,7 +6,7 @@ describe Gitlab::JsonCache do
let(:backend) { double('backend').as_null_object }
let(:namespace) { 'geo' }
let(:key) { 'foo' }
- let(:expanded_key) { "#{namespace}:#{key}:#{Rails.version}" }
+ let(:expanded_key) { "#{namespace}:#{key}:#{Gitlab::VERSION}:#{Rails.version}" }
set(:broadcast_message) { create(:broadcast_message) }
subject(:cache) { described_class.new(namespace: namespace, backend: backend) }
@@ -35,42 +35,68 @@ describe Gitlab::JsonCache do
describe '#cache_key' do
context 'when namespace is not defined' do
- it 'expands out the key with Rails version' do
- cache = described_class.new(cache_key_with_version: true)
+ context 'when cache_key_with_version is true' do
+ it 'expands out the key with GitLab, and Rails versions' do
+ cache = described_class.new(cache_key_with_version: true)
- cache_key = cache.cache_key(key)
+ cache_key = cache.cache_key(key)
- expect(cache_key).to eq("#{key}:#{Rails.version}")
+ expect(cache_key).to eq("#{key}:#{Gitlab::VERSION}:#{Rails.version}")
+ end
end
- end
- context 'when cache_key_with_version is true' do
- it 'expands out the key with namespace and Rails version' do
- cache = described_class.new(namespace: namespace, cache_key_with_version: true)
+ context 'when cache_key_with_version is false' do
+ it 'returns the key' do
+ cache = described_class.new(namespace: nil, cache_key_with_version: false)
- cache_key = cache.cache_key(key)
+ cache_key = cache.cache_key(key)
- expect(cache_key).to eq("#{namespace}:#{key}:#{Rails.version}")
+ expect(cache_key).to eq(key)
+ end
end
end
- context 'when cache_key_with_version is false' do
- it 'expands out the key with namespace' do
- cache = described_class.new(namespace: namespace, cache_key_with_version: false)
+ context 'when namespace is nil' do
+ context 'when cache_key_with_version is true' do
+ it 'expands out the key with GitLab, and Rails versions' do
+ cache = described_class.new(cache_key_with_version: true)
- cache_key = cache.cache_key(key)
+ cache_key = cache.cache_key(key)
- expect(cache_key).to eq("#{namespace}:#{key}")
+ expect(cache_key).to eq("#{key}:#{Gitlab::VERSION}:#{Rails.version}")
+ end
+ end
+
+ context 'when cache_key_with_version is false' do
+ it 'returns the key' do
+ cache = described_class.new(namespace: nil, cache_key_with_version: false)
+
+ cache_key = cache.cache_key(key)
+
+ expect(cache_key).to eq(key)
+ end
end
end
- context 'when namespace is nil, and cache_key_with_version is false' do
- it 'returns the key' do
- cache = described_class.new(namespace: nil, cache_key_with_version: false)
+ context 'when namespace is set' do
+ context 'when cache_key_with_version is true' do
+ it 'expands out the key with namespace and Rails version' do
+ cache = described_class.new(namespace: namespace, cache_key_with_version: true)
+
+ cache_key = cache.cache_key(key)
- cache_key = cache.cache_key(key)
+ expect(cache_key).to eq("#{namespace}:#{key}:#{Gitlab::VERSION}:#{Rails.version}")
+ end
+ end
- expect(cache_key).to eq(key)
+ context 'when cache_key_with_version is false' do
+ it 'expands out the key with namespace' do
+ cache = described_class.new(namespace: namespace, cache_key_with_version: false)
+
+ cache_key = cache.cache_key(key)
+
+ expect(cache_key).to eq("#{namespace}:#{key}")
+ end
end
end
end