diff options
Diffstat (limited to 'spec/observers')
-rw-r--r-- | spec/observers/key_observer_spec.rb | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/spec/observers/key_observer_spec.rb b/spec/observers/key_observer_spec.rb new file mode 100644 index 00000000000..7f2a76a320c --- /dev/null +++ b/spec/observers/key_observer_spec.rb @@ -0,0 +1,34 @@ +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 |