summaryrefslogtreecommitdiff
path: root/spec/observers/key_observer_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/observers/key_observer_spec.rb')
-rw-r--r--spec/observers/key_observer_spec.rb34
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