Skip to content

Instantly share code, notes, and snippets.

@dekart
Created March 15, 2011 08:37
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dekart/870462 to your computer and use it in GitHub Desktop.
Save dekart/870462 to your computer and use it in GitHub Desktop.
Test users for Facebook applications
def app_client
puts 'Obtaining app authentication...'
@app_client ||= Mogli::AppClient.create_and_authenticate_as_application(Facebooker2.app_id, Facebooker2.secret).tap do
puts 'Done!'
end
end
def test_user(options = {})
puts 'Creating test user...'
options.reverse_merge!(
:installed => true,
:permissions => [:email]
)
response = app_client.post(
"/%s/accounts/test-users?installed=%s&permissions=%s" % [Facebooker2.app_id, options[:installed], Array.wrap(options[:permissions]).join(',')],
nil, {}
)
puts 'Done!'
response.parsed_response
end
def test_friendship(user1, user2)
puts 'Creating friendship...'
# Request friendship
Mogli::Client.new(user1['access_token']).post(
'/%s/friends/%s' % [user1['id'], user2['id']],
nil, {}
)
puts 'Done! Please confirm friendship from %s' % user2['login_url']
end
def test_delete_user(user)
puts 'Deleting test users...'
app_client.delete('/%s' % [user['id']])
puts 'Done!'
end
def test_users
puts 'Fetching test users...'
response = app_client.get_and_map('/%s/accounts/test-users' % Facebooker2.app_id, nil, {})
puts 'Done!'
response
end
# Shows all available users
test_users
# Create new user
test_user # app installed by default
test_user(:installed => false, :permissions => [:email])
# Request friendship from user1 to user2
users = test_users
test_friendship(users[0], users[1])
# Delete user
test_delete_user(test_users[0])
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment