我有一个收集'锻炼'如下:
Workouts = new Mongo.Collection('workouts');
Meteor.methods({
workoutInsert: function () {
var user = Meteor.user();
check(user._id, String);
var workout = {
completed: false,
createdAt: new Date(),
userId: user._id
};
var workoutId = Workouts.insert(workout);
return {
_id: workoutId
};
}
});
Run Code Online (Sandbox Code Playgroud)
我想知道:
1)对于这种方法,Velocity + Jasmine测试会是什么样的?我不确定从哪里开始,真的很感激和榜样!
2)这是定义此方法并将其称为客户端方法的最佳实践吗?或者我应该创建一个Workout类并从该类的实例方法添加调用此方法?或者我应该将Workouts扩展为它自己的类并为其添加实例方法?
我有一个函数,它接收一个令牌,对其进行解码,然后使用有效负载来执行一些逻辑。我想用我操纵的声明来生成令牌以测试该函数。
我从https://mkjwk.org/生成了一个密钥对,并按以下方式使用它:
from jose import jwt
claims = {"hello": "world"}
key = {
"kty": "RSA",
"d": "RSjC9hfDtq2G3hQJFBI08hu3CJ6hRRlhs-u9nMFhdSpqhWFPK3LuLVSWPxG9lN7NQ963_7AturR9YoEvjXjCMZFEEqewNQNq31v0zgh9k5XFdz1CiVSLdHo7VQjuJB6imLCF266TUFvZwQ4Gs1uq6I6GCVRoenSe9ZsWleYF--E",
"e": "AQAB",
"use": "sig",
"kid": "1234567890",
"alg": "RS256",
"n": "thBvC_I9NciW6XqTxUFMZaVVpvGx6BvLHd3v8Visk_6OoDCVXF_6vNktNi6W7CBkuHBqGyuF0wDFrHcZuZq_kLKI6IRofEzKyUoReOyYRlPt5ar64oDO-4mwH47fb99ILW94_8RpQHy74hCnfv7d888YaCmta9iOBOvggcvxb5s"
}
token = jwt.encode(
{"hello": "world"},
key,
algorithm="RS256",
)
jwt.decode(token, key, algorithms="RS256") == claims
Run Code Online (Sandbox Code Playgroud)
以上是给我一个jose.exceptions.JWTError: Signature verification failed.错误。
为什么是这样?我如何生成一个令牌,我可以用我想要的声明正确解码?
我首先按照此railscast的指示开始工作:
http://railscasts.com/episodes/253-carrierwave-file-uploads
然后我按照这里的指示连接了s3:
http://railgaadi.wordpress.com/2012/06/03/saving-files-in-amazon-s3-using-carrierwave-and-fog-gem/
我的image_uploader.rb文件:
class ImageUploader < CarrierWave::Uploader::Base
include CarrierWave::RMagick
storage :fog
def store_dir
"development/uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
version :iphone do
process :resize_to_limit => [320, 160]
end
end
Run Code Online (Sandbox Code Playgroud)
还有我的fog.rb文件:
CarrierWave.configure do |config|
config.fog_credentials = {
:provider => 'AWS', # required
:aws_access_key_id => 'xxx', # required
:aws_secret_access_key => 'xxx', # required
}
config.fog_directory = 'goodlife.carrierwave' # required
end
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误:
主机名"goodlife.carrierwave.s3-us-west-1.amazonaws.com"与服务器证书不匹配
有什么建议?谢谢!
我最近部署了一个rails应用程序:http://secret-brook-8909.herokuapp.com/
我打算在iphone 4s上看一下它的外观:http://responsive.victorcoulon.fr/
如果你查看我的rails应用程序的样式表,你会发现我将容器的所有宽度硬编码为320px.但是当我在我的iphone上的浏览器上打开它时,它看起来像是在更大的分辨率屏幕上打开.此外,在iPhone上如果单击配置文件按钮,该按钮看起来与普通浏览器上的按钮不同.
我该怎么做才能解决这些问题?
我正在寻找帮助测试黄瓜的omniauth认证.我尝试过一个教程(http://samuelmullen.com/2011/05/simple-integration-testing-with-cucumber-and-omniauth/),但似乎根本没有调用会话控制器.
这是我到目前为止:
功能/支持/ env.rb:
Capybara.default_host = 'example.org'
OmniAuth.config.test_mode = true
OmniAuth.config.add_mock(:twitter, {
:uid => '12345',
:info => {
:name => 'twitteruser',
}
})
OmniAuth.config.add_mock(:facebook, {
:uid => '12345',
:info => {
:name => 'facebookuser'
}
})
Run Code Online (Sandbox Code Playgroud)
步骤定义:
Given /^I am signed in with provider "(.*)"$/ do |provider|
visit "/auth/#{provider.downcase}"
end
Run Code Online (Sandbox Code Playgroud)
场景:
Scenario: a user can log into facebook
Given I am signed in with provider "facebook"
And I am on the profile page for "facebookuser"
Then I should …Run Code Online (Sandbox Code Playgroud)