summaryrefslogtreecommitdiff
path: root/spec/ci/lib/upgrader_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/ci/lib/upgrader_spec.rb')
-rw-r--r--spec/ci/lib/upgrader_spec.rb39
1 files changed, 39 insertions, 0 deletions
diff --git a/spec/ci/lib/upgrader_spec.rb b/spec/ci/lib/upgrader_spec.rb
new file mode 100644
index 00000000000..40a98307ad2
--- /dev/null
+++ b/spec/ci/lib/upgrader_spec.rb
@@ -0,0 +1,39 @@
+require 'spec_helper'
+
+describe Upgrader do
+ let(:upgrader) { Upgrader.new }
+ let(:current_version) { GitlabCi::VERSION }
+
+ describe 'current_version_raw' do
+ it { upgrader.current_version_raw.should == current_version }
+ end
+
+ describe 'latest_version?' do
+ it 'should be true if newest version' do
+ upgrader.stub(latest_version_raw: current_version)
+ upgrader.latest_version?.should be_true
+ end
+ end
+
+ describe 'latest_version_raw' do
+ it 'should be latest version for GitlabCI 3' do
+ allow(upgrader).to receive(:current_version_raw).and_return('3.0.0')
+ expect(upgrader.latest_version_raw).to eq('v3.2.0')
+ end
+
+ it 'should get the latest version from tags' do
+ allow(upgrader).to receive(:fetch_git_tags).and_return([
+ '1b5bee25b51724214c7a3307ef94027ab93ec982 refs/tags/v7.8.1',
+ '424cb42e35947fa304ef83eb211ffc657e31aef3 refs/tags/v7.8.1^{}',
+ '498e5ba63be1bb99e30c6e720902d864aac4413c refs/tags/v7.9.0.rc1',
+ '96aaf45ae93bd43e8b3f5d4d353d64d3cbe1e63b refs/tags/v7.9.0.rc1^{}',
+ '94aaf45ae93bd43e8b3fad4a353d64d3cbe1e62b refs/tags/v7.1.0',
+ '96aaf45ae93ba13e8b3f5d4d353d64d3cbe1e251 refs/tags/v7.1.0^{}',
+ '29359d64442bf54b4ca1d8b439fd9e5f9cd83252 refs/tags/v7.10.0',
+ '4d9213a6378bff43a69ae099702fb81e29335e7a refs/tags/v7.10.0^{}',
+ '1d93e1626bda93622ca7a2ae2825e2e94dabf3c6 refs/tags/v7.12.0',
+ '0188a9d1c2efdc52bfad36ad303686be997de713 refs/tags/v7.12.0^{}'])
+ expect(upgrader.latest_version_raw).to eq("v7.12.0")
+ end
+ end
+end