32 lines
770 B
Ruby
32 lines
770 B
Ruby
# frozen_string_literal: true
|
|
require 'test_helper'
|
|
|
|
class CryptSerializerTest < ActiveSupport::TestCase
|
|
test "should generate marshaled array" do
|
|
string = "some string to encrypt"
|
|
encrypted = CryptSerializer.dump string
|
|
ar = Marshal.load(Base64.urlsafe_decode64(encrypted))
|
|
|
|
assert_instance_of Array, ar
|
|
assert_equal 3, ar.count
|
|
end
|
|
|
|
test "should encrypt and dencrypt" do
|
|
string = "test@string.email"
|
|
encrypted = CryptSerializer.dump string
|
|
decrypted = CryptSerializer.load encrypted
|
|
|
|
assert_equal string, decrypted
|
|
end
|
|
|
|
test "should handle nils" do
|
|
assert_equal nil, CryptSerializer.dump(nil)
|
|
end
|
|
|
|
test "must raise RuntimeError" do
|
|
assert_raises RuntimeError do
|
|
CryptSerializer.dump []
|
|
end
|
|
end
|
|
end
|