我正在尝试为使用Authlogic进行身份验证的应用程序编写一些黄瓜测试,但实际上将用户存储在LDAP服务器中.
该应用程序似乎工作正常,但我遇到麻烦的是为它编写测试(我知道,我知道,我应该首先编写测试.)很容易有一个测试数据库,其中数据被清除后每次运行,但使用LDAP服务器并不容易.
我的想法是编写一个rake任务(比如rake ldap:test:prepare)在每次运行之前刷新ldap服务器(或使它成为一个依赖项),但是当我正在进行测试时(并且在附近进行自动测试时)这似乎非常耗时.不可能.)
有一个更好的方法吗?是否有基于ruby的假LDAP服务器,我可以使用预定义的灯具绑定?还有其他更优雅的解决方案我没想到吗?(不使用LDAP不是一种选择.)
在版本控制下放置Rails项目时,是否排除了任何内容?例如,日志文件?
我想编写一个允许用户根据正则表达式匹配数据的函数,但我担心用户字符串的卫生.我知道使用SQL查询可以使用绑定变量来避免SQL注入攻击,但我不确定是否有这样的regexp机制.我看到有Regexp.escape,但我想允许有效的正则表达式.
这是示例函数:
def tagged?(text)
tags.each do |tag|
return true if text =~ /#{tag.name}/i
end
return false
end
Run Code Online (Sandbox Code Playgroud)
因为我只是直接匹配tag.name
是否有人可以插入一个Proc调用或什么来打破正则表达式并造成破坏?
任何关于最佳实践的建议将不胜感激.