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