密码列中的Ruby fixtures错误

时间:2010-06-02 08:46:44

标签: ruby-on-rails testing fixtures

我正在尝试为具有密码列(二进制数据类型)的测试加载一个fixture。我使用的工具使用EzCrypto gem在存储/检索密码之前加密和解密密码。现在,如果我的列是二进制的,我认为rails会自动将密码存储为加密 - 但我得到的是:

1。

Error:
 test_is_working(FirstTest):
 RuntimeError: Failed to decode the field. Incorrect key?
/Library/Ruby/Gems/1.8/gems/mislav-will_paginate 2.3.11/lib/will_paginate/finder.rb:170:in 'method_missing'
unit/first_test.rb:8:in setup

2。

Error:
test_sanity(FirstTest):
RuntimeError: Failed to decode the field. Incorrect key?
    unit/first_test.rb:8:in `setup'


    Fixture file looks like this:
    first_hussle:
        type: FirstAccount
        user: jsewq
        username: abc@mac.com
        password: 'abc123'

任何线索?

1 个答案:

答案 0 :(得分:0)

您需要使用ezcrypto来加密灯具中的密码。假设你的fixture是针对users表的,并且你已经定义了user_crypto_provider.rb个文件/类。

password: <%= UserCryptoProvider.encrypt('abc123') %>