summaryrefslogtreecommitdiff
path: root/test/integration/tapicero_test.rb
blob: bda05d37ec0a60064aed66462e0c02434c065d27 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
require File.expand_path('../../test_helper.rb', __FILE__)

class TapiceroTest < MiniTest::Unit::TestCase

  def test_loads_config
    assert_equal "tapicero_test", config.connection[:prefix]
    assert_equal "debug", config.send(:log_level)
  end

  def test_database_exists
    assert database
    assert_equal "tapicero_test_users", database.name
  end

  def test_creates_user_db_fast
    user_id = create_user['id']
    database.save_doc :id => user_id
    assert user_database(user_id)
  end

  def test_creates_user_db_slow
    user_id = create_user['id']
    sleep 1
    assert user_database(user_id)
  end

  def test_configures_security
    user_id = create_user['id']
    sleep 1
    assert_equal config.options[:security], user_database(user_id).get('_security')
  end

  def create_user
    database.save_doc :some => :content
  end

  def user_database(name)
    host.database(config.options[:db_prefix] + name)
  end

  def database
    @database ||= host.database(database_name)
  end

  def database_name
    config.complete_db_name('users')
  end

  def host
    @host ||= CouchRest.new(config.couch_host)
  end

  def config
    Tapicero.config
  end
end