spec/lib/release_tools/omnibus_gitlab_version_spec.rb (73 lines of code) (raw):
# frozen_string_literal: true
require 'spec_helper'
describe ReleaseTools::OmnibusGitlabVersion do
def version(version_string)
described_class.new(version_string)
end
describe '#tag' do
it { expect(version('1.2.3').tag).to eq('1.2.3+ce.0') }
it { expect(version('1.2.3+ee').tag).to eq('1.2.3+ee.0') }
it { expect(version('1.2.0+rc1').tag).to eq('1.2.0+rc1.ce.0') }
it { expect(version('1.2.0+rc2.ee').tag).to eq('1.2.0+rc2.ee.0') }
it { expect(version('wow.1').tag).to eq('0.0.0+ce.0') }
end
describe '#edition' do
it 'returns ee when EE' do
expect(version('8.3.2+ee').edition).to eq('ee')
end
it 'returns ce when not EE' do
expect(version('8.3.2+ce').edition).to eq('ce')
end
it 'returns ce when not specified' do
expect(version('8.3.2').edition).to eq('ce')
end
end
describe '#ee?' do
it 'returns true when EE' do
expect(version('8.3.2+ee')).to be_ee
end
it 'returns false when not EE' do
expect(version('8.3.2+ce')).not_to be_ee
end
it 'returns false when not specified' do
expect(version('8.3.2')).not_to be_ee
end
end
describe '#to_ce' do
it 'returns self when already CE' do
version = version('1.2.3+ce.0')
expect(version.to_ce).to eql version
end
it 'returns a CE version when EE' do
version = version('1.2.3+ee.0')
expect(version.to_ce.to_s).to eq '1.2.3+ce.0'
end
it 'works with an RC version' do
version = version('1.2.3+rc1.ee.0')
expect(version.to_ce.to_s).to eq '1.2.3+rc1.ce.0'
end
end
describe '#to_ee' do
it 'returns self when already EE' do
version = version('1.2.3+ee.0')
expect(version.to_ee).to eql version
end
it 'returns an EE version when CE' do
version = version('1.2.3+ce.0')
expect(version.to_ee.to_s).to eq '1.2.3+ee.0'
end
it 'works with an RC version' do
version = version('1.2.3+rc1.ce.0')
expect(version.to_ee.to_s).to eq '1.2.3+rc1.ee.0'
end
end
describe '#stable_branch' do
it 'returns separate branch for EE versions before single branch switch' do
version = version('12.1.5+ee.0')
expect(version.stable_branch).to eq('12-1-stable-ee')
end
it 'returns same branch for EE versions after single branch switch' do
version = version('12.3.5+ee.0')
expect(version.stable_branch).to eq('12-3-stable')
end
end
end