summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAriejan de Vroom <ariejan@ariejan.net>2012-03-01 16:43:04 +0100
committerAriejan de Vroom <ariejan@ariejan.net>2012-03-01 16:43:04 +0100
commit219ac1898095355ad9fc5c9f2ae08d9428b33090 (patch)
treecbfbba0b0c4fa2da30204f528ecd9785ef7044bd
parent4e5597b852939d04535cc8453bb288da41654de7 (diff)
downloadgitlab-ce-219ac1898095355ad9fc5c9f2ae08d9428b33090.tar.gz
Updated specs for post_receive worker
-rw-r--r--spec/workers/post_receive_spec.rb35
1 files changed, 24 insertions, 11 deletions
diff --git a/spec/workers/post_receive_spec.rb b/spec/workers/post_receive_spec.rb
index c28273d5e81..6b833d7229a 100644
--- a/spec/workers/post_receive_spec.rb
+++ b/spec/workers/post_receive_spec.rb
@@ -8,24 +8,37 @@ describe PostReceive do
end
end
- context "web hooks" do
- let(:project) { Factory :project }
- before do
- @key = Factory :key, :user => project.owner
- @key_id = @key.identifier
+ context "web hook" do
+ let(:project) { Factory.create(:project) }
+ let(:key) { Factory.create(:key, :user => project.owner) }
+ let(:key_id) { key.identifier }
+
+ it "fetches the correct project" do
+ Project.should_receive(:find_by_path).with(project.path).and_return(project)
+ PostReceive.perform(project.path, 'sha-old', 'sha-new', 'refs/heads/master', key_id)
end
- it "it retrieves the correct project" do
- Project.should_receive(:find_by_path).with(project.path)
- Key.should_receive(:find_by_identifier).with(project.path)
- PostReceive.perform(project.path, 'sha-old', 'sha-new', 'refs/heads/master', @key_id)
+ it "does not run if the author is not in the project" do
+ Key.stub(find_by_identifier: nil)
+
+ project.should_not_receive(:observe_push)
+ project.should_not_receive(:execute_web_hooks)
+
+ PostReceive.perform(project.path, 'sha-old', 'sha-new', 'refs/heads/master', key_id).should be_false
end
it "asks the project to execute web hooks" do
Project.stub(find_by_path: project)
- project.should_receive(:execute_web_hooks).with('sha-old', 'sha-new', 'refs/heads/master', @key_id)
+ project.should_receive(:execute_web_hooks).with('sha-old', 'sha-new', 'refs/heads/master', key_id)
+
+ PostReceive.perform(project.path, 'sha-old', 'sha-new', 'refs/heads/master', key_id)
+ end
+
+ it "asks the project to observe push/create event data" do
+ Project.stub(find_by_path: project)
+ project.should_receive(:observe_push).with('sha-old', 'sha-new', 'refs/heads/master', key_id)
- PostReceive.perform(project.path, 'sha-old', 'sha-new', 'refs/heads/master', @key_id)
+ PostReceive.perform(project.path, 'sha-old', 'sha-new', 'refs/heads/master', key_id)
end
end
end