35 lines
732 B
Ruby
35 lines
732 B
Ruby
|
require 'spec_helper'
|
||
|
|
||
|
describe KeyObserver do
|
||
|
before do
|
||
|
@key = double('Key',
|
||
|
identifier: 'admin_654654',
|
||
|
key: '== a vaild ssh key',
|
||
|
projects: [],
|
||
|
is_deploy_key: false
|
||
|
)
|
||
|
|
||
|
@gitolite = double('Gitlab::Gitolite',
|
||
|
set_key: true,
|
||
|
remove_key: true
|
||
|
)
|
||
|
|
||
|
@observer = KeyObserver.instance
|
||
|
@observer.stub(:git_host => @gitolite)
|
||
|
end
|
||
|
|
||
|
context :after_save do
|
||
|
it do
|
||
|
@gitolite.should_receive(:set_key).with(@key.identifier, @key.key, @key.projects)
|
||
|
@observer.after_save(@key)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
context :after_destroy do
|
||
|
it do
|
||
|
@gitolite.should_receive(:remove_key).with(@key.identifier, @key.projects)
|
||
|
@observer.after_destroy(@key)
|
||
|
end
|
||
|
end
|
||
|
end
|