mirror of
https://github.com/nishiki/manage-password.git
synced 2024-11-23 22:03:05 +00:00
218 lines
7.1 KiB
Ruby
218 lines
7.1 KiB
Ruby
#!/usr/bin/ruby
|
|
|
|
require_relative '../lib/Item'
|
|
require 'test/unit'
|
|
require 'yaml'
|
|
|
|
class TestItem < Test::Unit::TestCase
|
|
def setup
|
|
@fixture_file = 'files/fixtures.yml'
|
|
@fixtures = YAML.load_file(@fixture_file)
|
|
|
|
if defined?(I18n.enforce_available_locales)
|
|
I18n.enforce_available_locales = false
|
|
end
|
|
|
|
I18n.load_path = Dir['../i18n/cli/*.yml']
|
|
I18n.default_locale = :en
|
|
|
|
|
|
puts
|
|
end
|
|
|
|
def test_00_add_without_name
|
|
assert_raise(RuntimeError){MPW::Item.new}
|
|
end
|
|
|
|
def test_01_add_new
|
|
data = {name: @fixtures['add_new']['name'],
|
|
group: @fixtures['add_new']['group'],
|
|
host: @fixtures['add_new']['host'],
|
|
protocol: @fixtures['add_new']['protocol'],
|
|
user: @fixtures['add_new']['user'],
|
|
password: @fixtures['add_new']['password'],
|
|
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']['name'], item.name)
|
|
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']['password'], item.password)
|
|
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'],
|
|
name: @fixtures['add_existing']['name'],
|
|
group: @fixtures['add_existing']['group'],
|
|
host: @fixtures['add_existing']['host'],
|
|
protocol: @fixtures['add_existing']['protocol'],
|
|
user: @fixtures['add_existing']['user'],
|
|
password: @fixtures['add_existing']['password'],
|
|
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']['name'], item.name)
|
|
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']['password'], item.password)
|
|
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 = {name: @fixtures['add_new']['name'],
|
|
group: @fixtures['add_new']['group'],
|
|
host: @fixtures['add_new']['host'],
|
|
protocol: @fixtures['add_new']['protocol'],
|
|
user: @fixtures['add_new']['user'],
|
|
password: @fixtures['add_new']['password'],
|
|
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 = {name: @fixtures['update']['name'],
|
|
group: @fixtures['update']['group'],
|
|
host: @fixtures['update']['host'],
|
|
protocol: @fixtures['update']['protocol'],
|
|
user: @fixtures['update']['user'],
|
|
password: @fixtures['update']['password'],
|
|
port: @fixtures['update']['port'],
|
|
comment: @fixtures['update']['comment'],
|
|
}
|
|
|
|
sleep(1)
|
|
assert(item.update(data))
|
|
|
|
assert(!item.empty?)
|
|
|
|
assert_equal(@fixtures['update']['name'], item.name)
|
|
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']['password'], item.password)
|
|
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_04_update_with_empty_name
|
|
data = {name: @fixtures['add_new']['name'],
|
|
group: @fixtures['add_new']['group'],
|
|
host: @fixtures['add_new']['host'],
|
|
protocol: @fixtures['add_new']['protocol'],
|
|
user: @fixtures['add_new']['user'],
|
|
password: @fixtures['add_new']['password'],
|
|
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({name: ''}))
|
|
|
|
assert_equal(last_edit, item.last_edit)
|
|
end
|
|
|
|
def test_05_update_one_element
|
|
data = {name: @fixtures['add_new']['name'],
|
|
group: @fixtures['add_new']['group'],
|
|
host: @fixtures['add_new']['host'],
|
|
protocol: @fixtures['add_new']['protocol'],
|
|
user: @fixtures['add_new']['user'],
|
|
password: @fixtures['add_new']['password'],
|
|
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']['name'], item.name)
|
|
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']['password'], item.password)
|
|
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 = {name: @fixtures['add_new']['name'],
|
|
group: @fixtures['add_new']['group'],
|
|
host: @fixtures['add_new']['host'],
|
|
protocol: @fixtures['add_new']['protocol'],
|
|
user: @fixtures['add_new']['user'],
|
|
password: @fixtures['add_new']['password'],
|
|
port: @fixtures['add_new']['port'],
|
|
comment: @fixtures['add_new']['comment'],
|
|
}
|
|
|
|
item = MPW::Item.new(data)
|
|
|
|
assert(!item.nil?)
|
|
assert(!item.empty?)
|
|
|
|
assert(item.delete)
|
|
assert(!item.nil?)
|
|
assert(item.empty?)
|
|
|
|
assert_equal(nil, item.id)
|
|
assert_equal(nil, item.name)
|
|
assert_equal(nil, item.group)
|
|
assert_equal(nil, item.host)
|
|
assert_equal(nil, item.protocol)
|
|
assert_equal(nil, item.user)
|
|
assert_equal(nil, item.password)
|
|
assert_equal(nil, item.port)
|
|
assert_equal(nil, item.comment)
|
|
assert_equal(nil, item.created)
|
|
end
|
|
end
|