test_flickr.rb
上传用户:netsea168
上传日期:2022-07-22
资源大小:4652k
文件大小:5k
源码类别:

Ajax

开发平台:

Others

  1. require 'flickr'
  2. require 'test/unit'
  3. #require 'stringio'
  4. class MockFlickr < Flickr
  5.   #@@data = eval(DATA.read)
  6.   #def _get_response(url)
  7.   #  raise "no data for #{url.inspect}" unless @@data.has_key? url 
  8.   #  return REXML::Document.new(@@data[url])
  9.   #end
  10. end
  11. class TestFlickr < Test::Unit::TestCase
  12.   def setup
  13.     @api_key = '86e18ef2a064ff2255845e029208d7f4'
  14.     @email = 'sco@redgreenblu.com'
  15.     @password = 'flickr.rb'
  16.     @username = 'flickr.rb'
  17.     @user_id = '35034359890@N01'
  18.     @photo_id = '8649502'
  19.     @tag = 'onetag'
  20.     @tags = 'onetag twotag'
  21.     @tag_id = '27359619'
  22.     @date_posted = '2005-01-01 16:01:26'
  23.     @dates = '1093566950'
  24.     @group_id = '37718676860@N01'
  25.     @group_url = 'http://flickr.com/groups/kansascity/'
  26.     @user_url = 'http://flickr.com/photos/sco/'
  27.     @title = 'New Set'
  28.     @f = MockFlickr.new
  29.     @f.login(@email, @password)
  30.     @u = @f.users(@email)
  31.   end
  32.   
  33.   ##### DIRECT MODE
  34.   def test_test_echo
  35.     assert_equal @f.test_echo['stat'], 'ok'
  36.   end
  37.   def test_test_login
  38.     assert_equal @f.test_login['stat'], 'ok'
  39.   end
  40.   
  41.   ##### BASICS
  42.   def test_request
  43.     assert_equal @f.request('test.echo')['stat'], 'ok'
  44.   end
  45.   def test_request_url
  46.     assert_equal "http://flickr.com/services/rest/?api_key=#{@api_key}&method=flickr.test.echo&foo=bar&email=#{@email}&password=#{@password}", @f.request_url('test.echo', ['foo'=>'bar'])
  47.   end
  48.   def test_login
  49.     assert_equal @username, @f.user.getInfo.username
  50.   end
  51.   def test_find_by_url
  52.     assert_equal @group_id, @f.find_by_url(@group_url).getInfo.id     # find group by URL
  53.     assert_equal @user_id, @f.find_by_url(@user_url).getInfo.id       # find user by URL
  54.   end
  55.   def test_photos
  56.     assert_equal 100, @f.photos.size                                              # find recent
  57.     assert_equal @user_id, @f.photos('user_id'=>@user_id).first.getInfo.owner.id  # search by user_id
  58.   end
  59.   def test_users
  60.     assert_equal @username, @f.users(@email).getInfo.username     # find by email
  61.     assert_equal @username, @f.users(@username).getInfo.username  # find by username
  62.     assert_kind_of Flickr::User, @f.users.first                   # find all online users
  63.   end
  64.   def test_groups
  65.     assert_kind_of Flickr::Group, @f.groups.first                   # find all active groups
  66.   end
  67.   def test_licenses
  68.     assert_kind_of Array, @f.licenses                   # find all licenses
  69.   end
  70.   ##### USER
  71.   def test_getInfo
  72.     @u.getInfo
  73.     assert_equal @username, @u.username
  74.   end
  75.   def test_groups
  76.     assert_kind_of Flickr::Group, @u.groups.first                   # public groups
  77.   end
  78.   def test_photos
  79.     assert_kind_of Flickr::Photo, @u.photos.first                   # public photos
  80.   end
  81.   def test_contacts
  82.     assert_kind_of Flickr::User, @u.contacts.first                   # public contacts
  83.   end
  84.   def test_favorites
  85.     assert_kind_of Flickr::Photo, @u.favorites.first                 # public favorites
  86.   end
  87.   def test_photosets
  88.     assert_kind_of Flickr::Photoset, @u.photosets.first              # public photosets
  89.   end
  90.   def test_tags
  91.     assert_kind_of Array, @u.tags                                    # tags
  92.   end
  93.   def test_contactsPhotos
  94.     assert_kind_of Flickr::Photo, @u.contactsPhotos.first            # contacts' favorites
  95.   end
  96.   ##### PHOTO
  97.   def test_getInfo
  98.     @p.getInfo
  99.     assert_equal @photo_id, @p.id
  100.   end
  101.   ##### PHOTOSETS
  102.   
  103.   #def setup
  104.   #  super
  105.   #  @photoset = @f.photosets_create('title'=>@title, 'primary_photo_id'=>@photo_id)
  106.   #  @photoset_id = @photoset['photoset']['id']
  107.   #end
  108.   #def teardown
  109.   #  @f.photosets_delete('photoset_id'=>@photoset_id)
  110.   #end
  111.   def test_photosets_editMeta
  112.     assert_equal @f.photosets_editMeta('photoset_id'=>@photoset_id, 'title'=>@title)['stat'], 'ok'
  113.   end
  114.   def test_photosets_editPhotos
  115.     assert_equal @f.photosets_editPhotos('photoset_id'=>@photoset_id, 'primary_photo_id'=>@photo_id, 'photo_ids'=>@photo_id)['stat'], 'ok'
  116.   end
  117.   def test_photosets_getContext
  118.     assert_equal @f.photosets_getContext('photoset_id'=>@photoset_id, 'photo_id'=>@photo_id)['stat'], 'ok'
  119.   end
  120.   def test_photosets_getContext
  121.     assert_equal @f.photosets_getContext('photoset_id'=>@photoset_id, 'photo_id'=>@photo_id)['stat'], 'ok'
  122.   end
  123.   def test_photosets_getInfo
  124.     assert_equal @f.photosets_getInfo('photoset_id'=>@photoset_id)['stat'], 'ok'
  125.   end
  126.   def test_photosets_getList
  127.     assert_equal @f.photosets_getList['stat'], 'ok'
  128.   end
  129.   def test_photosets_getPhotos
  130.     assert_equal @f.photosets_getPhotos('photoset_id'=>@photoset_id)['stat'], 'ok'
  131.   end
  132.   def test_photosets_orderSets
  133.     assert_equal @f.photosets_orderSets('photoset_ids'=>@photoset_id)['stat'], 'ok'
  134.   end
  135. end