created = []

begin
  user = { :username => 'foo', :password => 'bar', :email => 'foo@bar.com' }

  doc = db.save user
  created << doc

  created << db.save('_id' => 'username:foo', 'doc' => doc.id)
  created << db.save('_id' => 'email:foo@bar.com', 'doc' => doc.id)

  doc = db.get doc.id
  doc['type'] = 'user'
  created << db.save(doc)

rescue Object
  created.each{|doc| db.delete doc.id rescue next}
end