foreman/test/models/token_test.rb @ 9d43fc71
81159d4b | Greg Sutcliffe | require 'test_helper'
|
|
class TokenTest < ActiveSupport::TestCase
|
|||
d6c08a7a | Daniel Lobato | should validate_presence_of(:value)
|
|
should validate_presence_of(:expires)
|
|||
should validate_presence_of(:host_id)
|
|||
81159d4b | Greg Sutcliffe | ||
test "a host can create a token" do
|
|||
8c6bc83e | Marek Hulan | h = FactoryBot.create(:host)
|
|
a977bd3b | Daniel Lobato | h.create_token(:value => "aaaaaa", :expires => Time.now.utc)
|
|
81159d4b | Greg Sutcliffe | assert_equal Token.first.value, "aaaaaa"
|
|
assert_equal Token.first.host_id, h.id
|
|||
end
|
|||
test "a host can delete its token" do
|
|||
8c6bc83e | Marek Hulan | h = FactoryBot.create(:host)
|
|
6004f9c3 | Michael Moll | h.create_token(:value => "aaaaaa", :expires => Time.now.utc + 1.minute)
|
|
81159d4b | Greg Sutcliffe | assert_instance_of Token, h.token
|
|
9d43fc71 | Michael Moll | h.token = nil
|
|
81159d4b | Greg Sutcliffe | assert Token.where(:value => "aaaaaa", :host_id => h.id).empty?
|
|
end
|
|||
test "a host cannot delete tokens for other hosts" do
|
|||
8c6bc83e | Marek Hulan | h1 = FactoryBot.create(:host)
|
|
h2 = FactoryBot.create(:host)
|
|||
6004f9c3 | Michael Moll | h1.create_token(:value => "aaaaaa", :expires => Time.now.utc + 1.minute)
|
|
h2.create_token(:value => "bbbbbb", :expires => Time.now.utc + 1.minute)
|
|||
81159d4b | Greg Sutcliffe | assert_equal Token.all.size, 2
|
|
9d43fc71 | Michael Moll | h1.token = nil
|
|
81159d4b | Greg Sutcliffe | assert_equal Token.all.size, 1
|
|
end
|
|||
585f328e | Greg Sutcliffe | test "not all expired tokens should be removed" do
|
|
8c6bc83e | Marek Hulan | h1 = FactoryBot.create(:host)
|
|
h2 = FactoryBot.create(:host)
|
|||
6004f9c3 | Michael Moll | h1.create_token(:value => "aaaaaa", :expires => Time.now.utc + 1.minute)
|
|
h2.create_token(:value => "bbbbbb", :expires => Time.now.utc - 1.minute)
|
|||
585f328e | Greg Sutcliffe | assert_equal 2, Token.count
|
|
h1.expire_token
|
|||
assert_equal 1, Token.count
|
|||
81159d4b | Greg Sutcliffe | end
|
|
4fed5385 | Ohad Levy | ||
3ff2bba4 | Dmitri Dolguikh | test "token jail test" do
|
|
allowed = [:host, :value, :expires, :nil?]
|
|||
allowed.each do |m|
|
|||
assert Token::Jail.allowed?(m), "Method #{m} is not available in Token::Jail while should be allowed."
|
|||
end
|
|||
end
|
|||
81159d4b | Greg Sutcliffe | end
|