Commit 19a90fe4 authored by Shinya Maeda's avatar Shinya Maeda

Add TimeCop freeze for DST and Regular time

parent 1d5f2f9c
...@@ -77,12 +77,24 @@ describe Gitlab::Ci::CronParser do ...@@ -77,12 +77,24 @@ describe Gitlab::Ci::CronParser do
it_behaves_like "returns time in the future" it_behaves_like "returns time in the future"
context 'when PST (Pacific Standard Time)' do
it 'converts time in server time zone' do it 'converts time in server time zone' do
Timecop.freeze(Time.utc(2017, 1, 1)) do
expect(subject.hour).to eq(hour_in_utc) expect(subject.hour).to eq(hour_in_utc)
end end
end end
end end
context 'when PDT (Pacific Daylight Time)' do
it 'converts time in server time zone' do
Timecop.freeze(Time.utc(2017, 6, 1)) do
expect(subject.hour).to eq(hour_in_utc)
end
end
end
end
end
context 'when cron_timezone is ActiveSupport::TimeZone format' do context 'when cron_timezone is ActiveSupport::TimeZone format' do
before do before do
allow(Time).to receive(:zone) allow(Time).to receive(:zone)
...@@ -100,10 +112,22 @@ describe Gitlab::Ci::CronParser do ...@@ -100,10 +112,22 @@ describe Gitlab::Ci::CronParser do
it_behaves_like "returns time in the future" it_behaves_like "returns time in the future"
context 'when CET (Central European Time)' do
it 'converts time in server time zone' do
Timecop.freeze(Time.utc(2017, 1, 1)) do
expect(subject.hour).to eq(hour_in_utc)
end
end
end
context 'when CEST (Central European Summer Time)' do
it 'converts time in server time zone' do it 'converts time in server time zone' do
Timecop.freeze(Time.utc(2017, 6, 1)) do
expect(subject.hour).to eq(hour_in_utc) expect(subject.hour).to eq(hour_in_utc)
end end
end end
end
end
context 'when cron_timezone is Eastern Time (US & Canada)' do context 'when cron_timezone is Eastern Time (US & Canada)' do
let(:cron) { '* 0 * * *' } let(:cron) { '* 0 * * *' }
...@@ -111,12 +135,24 @@ describe Gitlab::Ci::CronParser do ...@@ -111,12 +135,24 @@ describe Gitlab::Ci::CronParser do
it_behaves_like "returns time in the future" it_behaves_like "returns time in the future"
context 'when EST (Eastern Standard Time)' do
it 'converts time in server time zone' do
Timecop.freeze(Time.utc(2017, 1, 1)) do
expect(subject.hour).to eq(hour_in_utc)
end
end
end
context 'when EDT (Eastern Daylight Time)' do
it 'converts time in server time zone' do it 'converts time in server time zone' do
Timecop.freeze(Time.utc(2017, 6, 1)) do
expect(subject.hour).to eq(hour_in_utc) expect(subject.hour).to eq(hour_in_utc)
end end
end end
end end
end end
end
end
context 'when cron and cron_timezone are invalid' do context 'when cron and cron_timezone are invalid' do
let(:cron) { 'invalid_cron' } let(:cron) { 'invalid_cron' }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment