summaryrefslogtreecommitdiff
path: root/spec/lib/forever_spec.rb
diff options
context:
space:
mode:
authorMayra Cabrera <mcabrera@gitlab.com>2018-04-06 14:48:17 -0500
committerMayra Cabrera <mcabrera@gitlab.com>2018-04-06 22:28:44 -0500
commit5bc58bac2678aed9c8b2318f9f4d4825baa2b110 (patch)
treef35313fd689afa287f6c93a3d78ce8a0d61cc71c /spec/lib/forever_spec.rb
parentd6450717abefbe4dbf891cb4d285f6c84e44f168 (diff)
downloadgitlab-ce-5bc58bac2678aed9c8b2318f9f4d4825baa2b110.tar.gz
Handle limit for datetime attributes on MySQL
The TIMESTAMP data type is used for values that contain both date and time parts. TIMESTAMP has a range of '1970-01-01 00:00:01' UTC to '2038-01-19 03:14:07' UTC. A Forever lib class was included to handle future dates for PostgreSQL and MySQL, also changes were made to DeployToken to enforce Forever.date Also removes extra conditional from JwtController
Diffstat (limited to 'spec/lib/forever_spec.rb')
-rw-r--r--spec/lib/forever_spec.rb21
1 files changed, 21 insertions, 0 deletions
diff --git a/spec/lib/forever_spec.rb b/spec/lib/forever_spec.rb
new file mode 100644
index 00000000000..cf40c467c72
--- /dev/null
+++ b/spec/lib/forever_spec.rb
@@ -0,0 +1,21 @@
+require 'spec_helper'
+
+describe Forever do
+ describe '.date' do
+ subject { described_class.date }
+
+ context 'when using PostgreSQL' do
+ it 'should return Postgresql future date' do
+ allow(Gitlab::Database).to receive(:postgresql?).and_return(true)
+ expect(subject).to eq(described_class::POSTGRESQL_DATE)
+ end
+ end
+
+ context 'when using MySQL' do
+ it 'should return MySQL future date' do
+ allow(Gitlab::Database).to receive(:postgresql?).and_return(false)
+ expect(subject).to eq(described_class::MYSQL_DATE)
+ end
+ end
+ end
+end