summaryrefslogtreecommitdiff
path: root/spec/observers
diff options
context:
space:
mode:
authorrandx <dmitriy.zaporozhets@gmail.com>2012-08-29 00:04:06 +0300
committerrandx <dmitriy.zaporozhets@gmail.com>2012-08-29 00:04:06 +0300
commit7cdc5b9e0438c35c83fce739a764cb146d20c004 (patch)
tree42cfe847873dee51c54d32c81a8543c2d75fce50 /spec/observers
parentaded7056fd3a9830215f41233ef609c0f9a3b862 (diff)
downloadgitlab-ce-7cdc5b9e0438c35c83fce739a764cb146d20c004.tar.gz
Use similar interface to access gitolite
Simplified gitolite handle logic Stubn over monkeypatch Stub only specific methods in Gitlab:Gitolite Moved grach auth to lib added specs for keys observer removes SshKey role
Diffstat (limited to 'spec/observers')
-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