Skip to content
Snippets Groups Projects
Commit 25bde28d authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets
Browse files

Fixed tests. removed delegate to id

parent bb164ebf
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -14,7 +14,7 @@ class Key < ActiveRecord::Base
before_save :set_identifier
after_save :update_repository
after_destroy :repository_delete_key
delegate :id, :name, :email, :to => :user, :prefix => true
delegate :name, :email, :to => :user, :prefix => true
 
def set_identifier
if is_deploy_key
Loading
Loading
Loading
Loading
@@ -117,7 +117,7 @@ class Project < ActiveRecord::Base
before: oldrev,
after: newrev,
ref: ref,
user_id: key.user_id,
user_id: key.user.id,
user_name: key.user_name,
repository: {
name: name,
Loading
Loading
Loading
Loading
@@ -16,7 +16,7 @@ class UsersProject < ActiveRecord::Base
validates_presence_of :user_id
validates_presence_of :project_id
 
delegate :id, :name, :email, :to => :user, :prefix => true
delegate :name, :email, :to => :user, :prefix => true
 
def self.bulk_import(project, user_ids, project_access, repo_access)
UsersProject.transaction do
Loading
Loading
Loading
Loading
@@ -5,6 +5,9 @@ class PostReceive
project = Project.find_by_path(reponame)
return false if project.nil?
 
# Ignore push from non-gitlab users
return false unless Key.find_by_identifier(author_key_id)
project.observe_push(oldrev, newrev, ref, author_key_id)
project.execute_web_hooks(oldrev, newrev, ref, author_key_id)
end
Loading
Loading
Loading
Loading
@@ -2,17 +2,21 @@ require 'spec_helper'
 
describe Project, "Hooks" do
let(:project) { Factory :project }
before do
@key = Factory :key, :user => project.owner
@key_id = @key.identifier
end
 
describe "Post Receive Event" do
it "should create push event" do
oldrev, newrev, ref = '00000000000000000000000000000000', 'newrev', 'refs/heads/master'
project.observe_push(oldrev, newrev, ref)
project.observe_push(oldrev, newrev, ref, @key_id)
event = Event.last
 
event.should_not be_nil
event.project.should == project
event.action.should == Event::Pushed
event.data == project.web_hook_data(oldrev, newrev, ref)
event.data == project.web_hook_data(oldrev, newrev, ref, @key_id)
end
end
 
Loading
Loading
@@ -20,7 +24,7 @@ describe Project, "Hooks" do
context "with no web hooks" do
it "raises no errors" do
lambda {
project.execute_web_hooks('oldrev', 'newrev', 'ref')
project.execute_web_hooks('oldrev', 'newrev', 'ref', @key_id)
}.should_not raise_error
end
end
Loading
Loading
@@ -36,7 +40,7 @@ describe Project, "Hooks" do
@webhook.should_receive(:execute).once
@webhook_2.should_receive(:execute).once
 
project.execute_web_hooks('oldrev', 'newrev', 'refs/heads/master')
project.execute_web_hooks('oldrev', 'newrev', 'refs/heads/master', @key_id)
end
end
 
Loading
Loading
@@ -48,12 +52,12 @@ describe Project, "Hooks" do
 
it "when pushing a branch for the first time" do
@webhook.should_not_receive(:execute)
project.execute_web_hooks('00000000000000000000000000000000', 'newrev', 'refs/heads/master')
project.execute_web_hooks('00000000000000000000000000000000', 'newrev', 'refs/heads/master', @key_id)
end
 
it "when pushing tags" do
@webhook.should_not_receive(:execute)
project.execute_web_hooks('oldrev', 'newrev', 'refs/tags/v1.0.0')
project.execute_web_hooks('oldrev', 'newrev', 'refs/tags/v1.0.0', @key_id)
end
end
 
Loading
Loading
@@ -69,7 +73,7 @@ describe Project, "Hooks" do
# Fill nil/empty attributes
project.description = "This is a description"
 
@data = project.web_hook_data(@oldrev, @newrev, @ref)
@data = project.web_hook_data(@oldrev, @newrev, @ref, @key_id)
end
 
subject { @data }
Loading
Loading
@@ -77,6 +81,8 @@ describe Project, "Hooks" do
it { should include(before: @oldrev) }
it { should include(after: @newrev) }
it { should include(ref: @ref) }
it { should include(user_id: project.owner.id) }
it { should include(user_name: project.owner.name) }
 
context "with repository data" do
subject { @data[:repository] }
Loading
Loading
Loading
Loading
@@ -10,17 +10,22 @@ describe PostReceive do
 
context "web hooks" do
let(:project) { Factory :project }
before do
@key = Factory :key, :user => project.owner
@key_id = @key.identifier
end
 
it "it retrieves the correct project" do
Project.should_receive(:find_by_path).with(project.path)
PostReceive.perform(project.path, 'sha-old', 'sha-new', 'refs/heads/master')
Key.should_receive(:find_by_identifier).with(project.path)
PostReceive.perform(project.path, 'sha-old', 'sha-new', 'refs/heads/master', @key_id)
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')
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')
PostReceive.perform(project.path, 'sha-old', 'sha-new', 'refs/heads/master', @key_id)
end
end
end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment