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