spec/model_key_spec.rb in gritano-0.5.3 vs spec/model_key_spec.rb in gritano-0.5.4
- old
+ new
@@ -1,18 +1,38 @@
require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
-describe Gritano::Key do
- it 'should have a name' do
- key = Gritano::Key.new(key: "key")
- key.should be_invalid
+module Gritano
+ describe Key do
+
+ def create_new_user_and_key
+ user = User.create(login: "igor")
+ key = user.keys.create(name: "mykey", key: "sshkey")
+ return user, key
+ end
+
+ it "should have a name" do
+ key = Gritano::Key.new(key: "key")
+ key.should be_invalid
+ end
+
+ it "should have a ssh key" do
+ key = Gritano::Key.new(name: "name")
+ key.should be_invalid
+ end
+
+ it "should have a unique name per user" do
+ user, key = create_new_user_and_key
+ user.keys.create(name: "mykey", key: "sshkey").should be_invalid
+ user.keys.count.should == 1
+ end
+
+ it "should belongs to a user" do
+ user, key = create_new_user_and_key
+ key.user.should == user
+ end
+
+ it "should generate the authorized_keys files" do
+ create_new_user_and_key
+ Key.authorized_keys.should == "command=\"gritano-remote igor\" sshkey\n"
+ end
end
-
- it 'should have a key' do
- key = Gritano::Key.new(name: "name")
- key.should be_invalid
- end
-
- it 'should generate authorized_keys file' do
- Gritano::User.create(login: 'login').keys.create(key: "key", name: "name")
- Gritano::Key.authorized_keys.should match /^command=/
- end
-end
+end
\ No newline at end of file