1
0
Fork 0
mirror of https://github.com/nishiki/manage-password.git synced 2024-11-23 05:47:53 +00:00
mpw/test/test_item.rb

174 lines
5.3 KiB
Ruby

#!/usr/bin/ruby
require 'mpw/item'
require 'test/unit'
require 'yaml'
class TestItem < Test::Unit::TestCase
def setup
if defined?(I18n.enforce_available_locales)
I18n.enforce_available_locales = false
end
I18n.load_path = Dir['./i18n/cli/*.yml']
I18n.default_locale = :en
@fixtures = YAML.load_file('./test/files/fixtures.yml')
end
def test_00_add_without_name
assert_raise(RuntimeError) { MPW::Item.new }
end
def test_01_add_new
data = {
group: @fixtures['add_new']['group'],
host: @fixtures['add_new']['host'],
protocol: @fixtures['add_new']['protocol'],
user: @fixtures['add_new']['user'],
port: @fixtures['add_new']['port'],
comment: @fixtures['add_new']['comment']
}
item = MPW::Item.new(data)
assert(!item.nil?)
assert(!item.empty?)
assert_equal(@fixtures['add_new']['group'], item.group)
assert_equal(@fixtures['add_new']['host'], item.host)
assert_equal(@fixtures['add_new']['protocol'], item.protocol)
assert_equal(@fixtures['add_new']['user'], item.user)
assert_equal(@fixtures['add_new']['port'].to_i, item.port)
assert_equal(@fixtures['add_new']['comment'], item.comment)
end
def test_02_add_existing
data = {
id: @fixtures['add_existing']['id'],
group: @fixtures['add_existing']['group'],
host: @fixtures['add_existing']['host'],
protocol: @fixtures['add_existing']['protocol'],
user: @fixtures['add_existing']['user'],
port: @fixtures['add_existing']['port'],
comment: @fixtures['add_existing']['comment'],
created: @fixtures['add_existing']['created']
}
item = MPW::Item.new(data)
assert(!item.nil?)
assert(!item.empty?)
assert_equal(@fixtures['add_existing']['id'], item.id)
assert_equal(@fixtures['add_existing']['group'], item.group)
assert_equal(@fixtures['add_existing']['host'], item.host)
assert_equal(@fixtures['add_existing']['protocol'], item.protocol)
assert_equal(@fixtures['add_existing']['user'], item.user)
assert_equal(@fixtures['add_existing']['port'].to_i, item.port)
assert_equal(@fixtures['add_existing']['comment'], item.comment)
assert_equal(@fixtures['add_existing']['created'], item.created)
end
def test_03_update
data = {
group: @fixtures['add_new']['group'],
host: @fixtures['add_new']['host'],
protocol: @fixtures['add_new']['protocol'],
user: @fixtures['add_new']['user'],
port: @fixtures['add_new']['port'],
comment: @fixtures['add_new']['comment']
}
item = MPW::Item.new(data)
assert(!item.nil?)
assert(!item.empty?)
created = item.created
last_edit = item.last_edit
data = {
group: @fixtures['update']['group'],
host: @fixtures['update']['host'],
protocol: @fixtures['update']['protocol'],
user: @fixtures['update']['user'],
port: @fixtures['update']['port'],
comment: @fixtures['update']['comment']
}
sleep(1)
assert(item.update(data))
assert(!item.empty?)
assert_equal(@fixtures['update']['group'], item.group)
assert_equal(@fixtures['update']['host'], item.host)
assert_equal(@fixtures['update']['protocol'], item.protocol)
assert_equal(@fixtures['update']['user'], item.user)
assert_equal(@fixtures['update']['port'].to_i, item.port)
assert_equal(@fixtures['update']['comment'], item.comment)
assert_equal(created, item.created)
assert_not_equal(last_edit, item.last_edit)
end
def test_05_update_one_element
data = {
group: @fixtures['add_new']['group'],
host: @fixtures['add_new']['host'],
protocol: @fixtures['add_new']['protocol'],
user: @fixtures['add_new']['user'],
port: @fixtures['add_new']['port'],
comment: @fixtures['add_new']['comment']
}
item = MPW::Item.new(data)
assert(!item.nil?)
assert(!item.empty?)
last_edit = item.last_edit
sleep(1)
assert(item.update(comment: @fixtures['update']['comment']))
assert_equal(@fixtures['add_new']['group'], item.group)
assert_equal(@fixtures['add_new']['host'], item.host)
assert_equal(@fixtures['add_new']['protocol'], item.protocol)
assert_equal(@fixtures['add_new']['user'], item.user)
assert_equal(@fixtures['add_new']['port'].to_i, item.port)
assert_equal(@fixtures['update']['comment'], item.comment)
assert_not_equal(last_edit, item.last_edit)
end
def test_05_delete
data = {
group: @fixtures['add_new']['group'],
host: @fixtures['add_new']['host'],
protocol: @fixtures['add_new']['protocol'],
user: @fixtures['add_new']['user'],
port: @fixtures['add_new']['port'],
comment: @fixtures['add_new']['comment']
}
item = MPW::Item.new(data)
assert(!item.nil?)
assert(!item.empty?)
item.delete
assert(!item.nil?)
assert(item.empty?)
assert_equal(nil, item.id)
assert_equal(nil, item.group)
assert_equal(nil, item.host)
assert_equal(nil, item.protocol)
assert_equal(nil, item.user)
assert_equal(nil, item.port)
assert_equal(nil, item.comment)
assert_equal(nil, item.created)
end
end