From 1666843aa94a10ff1ea6727c701e1ef1a307c9c1 Mon Sep 17 00:00:00 2001 From: Raphael Sofaer <raphael@joindiaspora.com> Date: Mon, 14 Mar 2011 16:48:07 -0700 Subject: [PATCH] Fix 500 in publicsController --- app/controllers/publics_controller.rb | 2 +- spec/controllers/publics_controller_spec.rb | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/app/controllers/publics_controller.rb b/app/controllers/publics_controller.rb index 2c864fd0b6..6e54615067 100644 --- a/app/controllers/publics_controller.rb +++ b/app/controllers/publics_controller.rb @@ -49,7 +49,7 @@ class PublicsController < ApplicationController person = Person.where(:guid => params[:guid]).first - if person.owner_id.nil? + if person.nil? || person.owner_id.nil? Rails.logger.error("Received post for nonexistent person #{params[:guid]}") render :nothing => true, :status => 404 return diff --git a/spec/controllers/publics_controller_spec.rb b/spec/controllers/publics_controller_spec.rb index a4eb80d1fd..01c958e83c 100644 --- a/spec/controllers/publics_controller_spec.rb +++ b/spec/controllers/publics_controller_spec.rb @@ -55,6 +55,10 @@ describe PublicsController do post :receive, "guid" => @person.guid.to_s, "xml" => xml response.should be_not_found end + it 'returns a 404 if no person is found' do + post :receive, :guid => '2398rq3948yftn', :xml => xml + response.should be_not_found + end end describe '#hcard' do -- GitLab