diff options
author | Azul <azul@riseup.net> | 2016-05-12 14:30:23 +0200 |
---|---|---|
committer | Azul <azul@riseup.net> | 2016-05-12 14:30:23 +0200 |
commit | aeb0f39362b2195d4aec418349538b5f8443f693 (patch) | |
tree | 66f599cac18e14e8fdc278ac080a48e35ffd68d2 /vendor/gems/couchrest_session_store/test/database_rotation_test.rb | |
parent | 90e2145e33913ff59b99b81a660cb730e3c7efd8 (diff) |
minor: no need to vendor couchrest_session_store
Diffstat (limited to 'vendor/gems/couchrest_session_store/test/database_rotation_test.rb')
-rw-r--r-- | vendor/gems/couchrest_session_store/test/database_rotation_test.rb | 88 |
1 files changed, 0 insertions, 88 deletions
diff --git a/vendor/gems/couchrest_session_store/test/database_rotation_test.rb b/vendor/gems/couchrest_session_store/test/database_rotation_test.rb deleted file mode 100644 index 856db11..0000000 --- a/vendor/gems/couchrest_session_store/test/database_rotation_test.rb +++ /dev/null @@ -1,88 +0,0 @@ -require_relative 'test_helper' - -class RotationTest < MiniTest::Test - - class Token < CouchRest::Model::Base - include CouchRest::Model::Rotation - property :token, String - rotate_database 'test_rotate', :every => 1.day - end - - TEST_DB_RE = /test_rotate_\d+/ - - def test_rotate - delete_all_dbs - doc = nil - original_name = nil - next_db_name = nil - - Time.stub :now, Time.gm(2015,3,7,0) do - Token.create_database! - doc = Token.create!(:token => 'aaaa') - original_name = Token.rotated_database_name - assert database_exists?(original_name) - assert_equal 1, count_dbs - end - - # do nothing yet - Time.stub :now, Time.gm(2015,3,7,22) do - Token.rotate_database_now(:window => 1.hour) - assert_equal original_name, Token.rotated_database_name - assert_equal 1, count_dbs - end - - # create next db, but don't switch yet. - Time.stub :now, Time.gm(2015,3,7,23) do - Token.rotate_database_now(:window => 1.hour) - assert_equal 2, count_dbs - next_db_name = Token.rotated_database_name(Time.gm(2015,3,8)) - assert original_name != next_db_name - assert database_exists?(next_db_name) - sleep 0.2 # allow time for documents to replicate - assert_equal( - Token.get(doc.id).token, - Token.get(doc.id, database(next_db_name)).token - ) - end - - # use next db - Time.stub :now, Time.gm(2015,3,8) do - Token.rotate_database_now(:window => 1.hour) - assert_equal 2, count_dbs - assert_equal next_db_name, Token.rotated_database_name - token = Token.get(doc.id) - token.update_attributes(:token => 'bbbb') - assert_equal 'bbbb', Token.get(doc.id).token - assert_equal 'aaaa', Token.get(doc.id, database(original_name)).token - end - - # delete prior db - Time.stub :now, Time.gm(2015,3,8,1) do - Token.rotate_database_now(:window => 1.hour) - assert_equal 1, count_dbs - end - end - - private - - def database(db_name) - Token.server.database(Token.db_name_with_prefix(db_name)) - end - - def database_exists?(dbname) - Token.database_exists?(dbname) - end - - def delete_all_dbs(regexp=TEST_DB_RE) - Token.server.databases.each do |db| - if regexp.match(db) - Token.server.database(db).delete! - end - end - end - - def count_dbs(regexp=TEST_DB_RE) - Token.server.databases.grep(regexp).count - end - -end |