Newer
Older
module HelperMethods
def stub_comment_signature_verification
Comment.any_instance.stubs(:verify_signature).returns(true)
end
def unstub_mocha_stubs
Mocha::Mockery.instance.stubba.unstub_all
end
def fantasy_resque
Michael Sofaer
a validé
former_value = $process_queue
$process_queue = true
Michael Sofaer
a validé
result = yield
$process_queue = former_value
result
end
Michael Sofaer
a validé
def connect_users(user1, aspect1, user2, aspect2)
Contact.create!(:user => user1,
:person => user2.person,
:aspects => [aspect1],
:pending => false)
Contact.create!(:user => user2,
:person => user1.person,
:aspects => [aspect2],
:pending => false)
user1.reload
user2.reload
aspect1.reload
aspect2.reload
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
end
def stub_success(address = 'abc@example.com', opts = {})
host = address.split('@')[1]
stub_request(:get, "https://#{host}/.well-known/host-meta").to_return(:status => 200, :body => host_xrd)
stub_request(:get, "http://#{host}/.well-known/host-meta").to_return(:status => 200, :body => host_xrd)
if opts[:diaspora] || host.include?("diaspora")
stub_request(:get, /webfinger\/\?q=#{address}/).to_return(:status => 200, :body => finger_xrd)
stub_request(:get, "http://#{host}/hcard/users/4c8eccce34b7da59ff000002").to_return(:status => 200, :body => hcard_response)
else
stub_request(:get, /webfinger\/\?q=#{address}/).to_return(:status => 200, :body => nonseed_finger_xrd)
stub_request(:get, 'http://evan.status.net/hcard').to_return(:status => 200, :body => evan_hcard)
end
end
def stub_failure(address = 'abc@example.com')
host = address.split('@')[1]
stub_request(:get, "https://#{host}/.well-known/host-meta").to_return(:status => 200, :body => host_xrd)
stub_request(:get, "http://#{host}/.well-known/host-meta").to_return(:status => 200, :body => host_xrd)
stub_request(:get, /webfinger\/\?q=#{address}/).to_return(:status => 500)
end
def host_xrd
File.open(File.dirname(__FILE__) + '/fixtures/host_xrd').read
end
def finger_xrd
File.open(File.dirname(__FILE__) + '/fixtures/finger_xrd').read
end
def hcard_response
File.open(File.dirname(__FILE__) + '/fixtures/hcard_response').read
end
def nonseed_finger_xrd
File.open(File.dirname(__FILE__) + '/fixtures/nonseed_finger_xrd').read
end
def evan_hcard
File.open(File.dirname(__FILE__) + '/fixtures/evan_hcard').read
end
def uploaded_photo
fixture_filename = 'button.png'
fixture_name = File.join(File.dirname(__FILE__), 'fixtures', fixture_filename)
File.open(fixture_name)
end
class UserFixer
def self.regenerate_user_fixtures
users = {:users => build_user_fixtures}
File.open(File.join(Rails.root,"spec/fixtures/users.yaml"),'w') do |file|
file.write(users.to_yaml)
end
end
def self.build_user_fixtures
arr = []
10.times do
user = Factory :user
person = user.person
arr << { :user => user.to_mongo, :person => person.to_mongo}
end
arr
end
def self.load_user_fixtures
yaml_users = YAML.load_file(File.join(Rails.root,"spec/fixtures/users.yaml"))
@@user_hashes = []
@@user_number = 0
yaml_users[:users].each do |yaml_user|
user_id = yaml_user[:user]["_id"].to_id
@@user_hashes << {:id => user_id, :data => yaml_user}
end
def self.fixed_user
db = MongoMapper.database
people = db.collection("people")
users = db.collection("users")
user_hash = @@user_hashes[@@user_number]
@@user_number += 1
@@user_number = 0 if @@user_number >= @@user_hashes.length
users.insert(user_hash[:data][:user])
people.insert(user_hash[:data][:person])
User.find(user_hash[:id])
end
end