myspaceid-sdk 0.1.9 → 0.1.11

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,66 @@
1
+ require 'rake/testtask'
2
+ require 'rake/packagetask'
3
+ # require 'rake/rdoctask'
4
+ require 'hoe'
5
+
6
+ $LOAD_PATH.push('lib')
7
+ require 'myspace.rb'
8
+
9
+ Hoe.new('myspaceid-sdk', MySpace::VERSION) do |p|
10
+ p.author = 'Christopher B. Baker'
11
+ p.email = 'cbaker@myspace.com'
12
+ p.rubyforge_name = 'myspaceid-sdk'
13
+ p.extra_deps = ['ruby-openid', 'oauth', 'json']
14
+ end
15
+
16
+ desc "Generate manifest file programmatically"
17
+ task :generate_manifest do
18
+ files = FileList[
19
+ 'README.txt', 'lib/**/*', 'test/**/*', 'samples/**/*'
20
+ ].exclude(/db\/cstore|log\/|public\/doc|tmp/)
21
+
22
+ File.rename('Manifest.txt', "Manifest-#{Time.now.to_i.to_s}.txt") if File.exists?('Manifest.txt')
23
+ File.open('Manifest.txt', 'w') do |f|
24
+ files.each do |name|
25
+ f.write(name + "\n")
26
+ end
27
+ end
28
+ end
29
+
30
+ # desc "Build the rubygem for the SDK"
31
+ # task 'build-gem' => [] do
32
+ # sh %{gem build myspaceid-sdk.gemspec}
33
+ # end
34
+
35
+ # desc "Build the online documetation for the SDK"
36
+ # task 'build-docs' => [] do
37
+ # sh %{rdoc --fmt html}
38
+ # end
39
+
40
+ desc "Run the unit tests"
41
+ Rake::TestTask.new do |t|
42
+ t.libs << "test"
43
+ t.test_files = 'ts_alltests.rb'
44
+ t.verbose = true
45
+ end
46
+ # Rake::RDocTask.new('rdoc') do |t|
47
+ # t.rdoc_files.include('README', 'lib/**/*.rb')
48
+ # t.main = 'README'
49
+ # t.title = "MySpaceID SDK documentation"
50
+ # end
51
+
52
+ # rubyforge_project = 'myspaceid-sdk'
53
+ # rubyforge_user = 'cbaker'
54
+ # rubyforge_path = "/var/www/gforge-projects/#{rubyforge_project}/"
55
+ # desc 'Upload documentation to RubyForge.'
56
+ # task 'upload-docs' => ['rdoc'] do
57
+ # sh "scp -r html/* " + "#{rubyforge_user}@rubyforge.org:#{rubyforge_path}"
58
+ # end
59
+
60
+ desc "Generate doc files, but deal with source control as well"
61
+ task 'generate-docs' do
62
+ sh %{git rm -rf doc}
63
+ sh %{rake docs}
64
+ sh %{git add doc}
65
+ sh %{git commmit -m 'autogenerated docs' doc}
66
+ end
@@ -7,7 +7,7 @@ require 'logger'
7
7
  require 'patches'
8
8
 
9
9
  module MySpace
10
- VERSION = '0.1.9'
10
+ VERSION = '0.1.11'
11
11
  end
12
12
 
13
13
  require 'myspace/end_point'
@@ -26,7 +26,7 @@ module MySpace
26
26
  @method = method
27
27
  @options = options.dup
28
28
  @options.delete(:v1_json)
29
- @v1_json = options.detect(:v1_json)
29
+ @v1_json = options.include?(:v1_json)
30
30
  end
31
31
 
32
32
  def self.parse_path(path)
@@ -16,31 +16,38 @@ module MySpace
16
16
  # tests regularly timeout at 2 seconds
17
17
  TIMEOUT_SECS = 3 unless const_defined?('TIMEOUT_SECS')
18
18
 
19
- EndPoint.define(:user_info, '/v1/user', :get, :v1_json)
20
- EndPoint.define(:albums, '/v1/users/{user_id}/albums', :get, :v1_json)
21
- EndPoint.define(:album, '/v1/users/{user_id}/albums/{album_id}/photos', :get, :v1_json)
22
- EndPoint.define(:friends, '/v1/users/{user_id}/friends', :get, :v1_json)
23
- EndPoint.define(:friendship, '/v1/users/{user_id}/friends/{friend_ids}', :get, :v1_json)
24
- EndPoint.define(:mood, '/v1/users/{user_id}/mood', :get, :v1_json)
25
- EndPoint.define(:photos, '/v1/users/{user_id}/photos', :get, :v1_json)
26
- EndPoint.define(:photo, '/v1/users/{user_id}/photos/{photo_id}', :get, :v1_json)
27
- EndPoint.define(:profile, '/v1/users/{user_id}/profile', :get, :v1_json)
28
- EndPoint.define(:status_get, '/v1/users/{user_id}/status', :get, :v1_json)
29
- EndPoint.define(:status_put, '/v1/users/{user_id}/status', :put)
30
- EndPoint.define(:videos, '/v1/users/{user_id}/videos', :get, :v1_json)
31
- EndPoint.define(:video, '/v1/users/{user_id}/videos/{video_id}', :get, :v1_json)
32
- EndPoint.define(:activities, '/v1/users/{user_id}/activities.atom', :get)
33
- EndPoint.define(:friends_activities, '/v1/users/{user_id}/friends/activities.atom', :get)
34
- EndPoint.define(:appdata_global_get, '/v1/appdata/global', :get, :v1_json)
35
- EndPoint.define(:appdata_global_keys_get, '/v1/appdata/global/{keys}', :get, :v1_json)
36
- EndPoint.define(:appdata_global_put, '/v1/appdata/global', :put)
37
- EndPoint.define(:appdata_global_delete, '/v1/appdata/global/{keys}', :delete)
38
- EndPoint.define(:appdata_user_get, '/v1/users/{user_id}/appdata', :get, :v1_json)
39
- EndPoint.define(:appdata_user_keys_get, '/v1/users/{user_id}/appdata/{keys}', :get, :v1_json)
40
- EndPoint.define(:appdata_user_put, '/v1/users/{user_id}/appdata', :put)
41
- EndPoint.define(:appdata_user_delete, '/v1/users/{user_id}/appdata/{keys}', :delete)
42
- EndPoint.define(:appdata_friends_get, '/v1/users/{user_id}/friends/appdata', :get, :v1_json)
43
- EndPoint.define(:appdata_friends_keys_get, '/v1/users/{user_id}/friends/appdata/{keys}', :get, :v1_json)
19
+
20
+ EndPoint.define(:user_info, '/v1/user', :get, :v1_json)
21
+ EndPoint.define(:albums, '/v1/users/{user_id}/albums', :get, :v1_json)
22
+ EndPoint.define(:album_info, '/v1/users/{user_id}/albums/{album_id}', :get, :v1_json)
23
+ EndPoint.define(:album, '/v1/users/{user_id}/albums/{album_id}/photos', :get, :v1_json)
24
+ EndPoint.define(:friends, '/v1/users/{user_id}/friends', :get, :v1_json)
25
+ EndPoint.define(:friendship, '/v1/users/{user_id}/friends/{friend_ids}', :get, :v1_json)
26
+ EndPoint.define(:friends_list, '/v1/users/{user_id}/friendslist/{friend_ids}', :get, :v1_json)
27
+ EndPoint.define(:mood_get, '/v1/users/{user_id}/mood', :get, :v1_json)
28
+ EndPoint.define(:mood_put, '/v1/users/{user_id}/mood', :put)
29
+ EndPoint.define(:moods, '/v1/users/{user_id}/moods', :get, :v1_json)
30
+ EndPoint.define(:photos, '/v1/users/{user_id}/photos', :get, :v1_json)
31
+ EndPoint.define(:photo, '/v1/users/{user_id}/photos/{photo_id}', :get, :v1_json)
32
+ EndPoint.define(:profile, '/v1/users/{user_id}/profile', :get, :v1_json)
33
+ EndPoint.define(:status_get, '/v1/users/{user_id}/status', :get, :v1_json)
34
+ EndPoint.define(:status_put, '/v1/users/{user_id}/status', :put)
35
+ EndPoint.define(:videos, '/v1/users/{user_id}/videos', :get, :v1_json)
36
+ EndPoint.define(:video, '/v1/users/{user_id}/videos/{video_id}', :get, :v1_json)
37
+ EndPoint.define(:activities, '/v1/users/{user_id}/activities.atom', :get)
38
+ EndPoint.define(:friends_activities, '/v1/users/{user_id}/friends/activities.atom', :get)
39
+ EndPoint.define(:appdata_global_get, '/v1/appdata/global', :get, :v1_json)
40
+ EndPoint.define(:appdata_global_keys_get, '/v1/appdata/global/{keys}', :get, :v1_json)
41
+ EndPoint.define(:appdata_global_put, '/v1/appdata/global', :put)
42
+ EndPoint.define(:appdata_global_delete, '/v1/appdata/global/{keys}', :delete)
43
+ EndPoint.define(:appdata_user_get, '/v1/users/{user_id}/appdata', :get, :v1_json)
44
+ EndPoint.define(:appdata_user_keys_get, '/v1/users/{user_id}/appdata/{keys}', :get, :v1_json)
45
+ EndPoint.define(:appdata_user_put, '/v1/users/{user_id}/appdata', :put)
46
+ EndPoint.define(:appdata_user_delete, '/v1/users/{user_id}/appdata/{keys}', :delete)
47
+ EndPoint.define(:appdata_friends_get, '/v1/users/{user_id}/friends/appdata', :get, :v1_json)
48
+ EndPoint.define(:appdata_friends_keys_get, '/v1/users/{user_id}/friends/appdata/{keys}', :get, :v1_json)
49
+ EndPoint.define(:indicators, '/v1/users/{user_id}/indicators', :get, :v1_json)
50
+
44
51
 
45
52
  attr_reader :consumer
46
53
  attr_accessor :http_logger
@@ -74,6 +81,7 @@ module MySpace
74
81
  @consumer = ::OAuth::Consumer.new(oauth_token_key,
75
82
  oauth_token_secret,
76
83
  :scheme => :query_string,
84
+ # :scheme => :header,
77
85
  :http_method => :get,
78
86
  :site => OAUTH_SITES[site],
79
87
  :request_token_path => OAUTH_REQUEST_TOKEN_URL,
@@ -164,6 +172,35 @@ module MySpace
164
172
  call_myspace_api(:albums, params.dup.update(:user_id => user_id, :v1_json => true))
165
173
  end
166
174
 
175
+ # Get the photo album description for user +user_id+ and album +album_id+
176
+ #
177
+ # {"photosUri"=>"http://api.myspace.com/v1/users/456073223/albums/40418/photos",
178
+ # "photoCount"=>1,
179
+ # "location"=>"",
180
+ # "title"=>"My Photos",
181
+ # "id"=>40418,
182
+ # "defaultImage"=>
183
+ # "http://c1.ac-images.myspacecdn.com/images02/45/m_f820313641924f0f90004932c8bc310c.jpg",
184
+ # "privacy"=>"Everyone",
185
+ # "user"=>
186
+ # {"name"=>"Bob",
187
+ # "uri"=>"http://api.myspace.com/v1/users/456073223",
188
+ # "webUri"=>"http://www.myspace.com/bobvontestacount",
189
+ # "largeImage"=>
190
+ # "http://c1.ac-images.myspacecdn.com/images02/45/l_f820313641924f0f90004932c8bc310c.jpg",
191
+ # "userType"=>"RegularUser",
192
+ # "userId"=>456073223,
193
+ # "image"=>
194
+ # "http://c1.ac-images.myspacecdn.com/images02/45/s_f820313641924f0f90004932c8bc310c.jpg"},
195
+ # "albumUri"=>"http://api.myspace.com/v1/users/456073223/albums/40418"}
196
+ def get_album_info(user_id, album_id, params = {})
197
+ user_id = user_id.to_s
198
+ validate_identifier(:user_id, user_id)
199
+ album_id = album_id.to_s
200
+ validate_identifier(:album_id, album_id)
201
+ call_myspace_api(:album_info, params.dup.update(:user_id => user_id, :album_id => album_id, :v1_json => true))
202
+ end
203
+
167
204
  # Get the photo descriptions for the photos of album +album_id+
168
205
  # for the user +user_id+:
169
206
  #
@@ -261,6 +298,19 @@ module MySpace
261
298
  call_myspace_api(:friendship, :user_id => user_id, :friend_ids => friend_ids.join(';'), :v1_json => true)
262
299
  end
263
300
 
301
+ # Gets the list of friends for the user +user_id+, for the friends
302
+ # in +friend_ids+. Use this call if you only need information
303
+ # about a specific set of friends whose ids you already know.
304
+ def get_friends_list(user_id, *friend_ids)
305
+ user_id = user_id.to_s
306
+ validate_identifier(:user_id, user_id)
307
+ friend_ids.each do |friend_id|
308
+ friend_id = friend_id.to_s
309
+ validate_identifier(:friend_ids, friend_id)
310
+ end
311
+ call_myspace_api(:friends_list, :user_id => user_id, :friend_ids => friend_ids.join(';'), :v1_json => true)
312
+ end
313
+
264
314
  # Gets the mood of user +user_id+:
265
315
  #
266
316
  # {"mood"=>"tested",
@@ -280,7 +330,48 @@ module MySpace
280
330
  def get_mood(user_id, params = {})
281
331
  user_id = user_id.to_s
282
332
  validate_identifier(:user_id, user_id)
283
- call_myspace_api(:mood, params.dup.update(:user_id => user_id, :v1_json => true))
333
+ call_myspace_api(:mood_get, params.dup.update(:user_id => user_id, :v1_json => true))
334
+ end
335
+
336
+ # Sets the mood of the user +user_id+ to +mood_id+, which must be
337
+ # a number from this list:
338
+ #
339
+ # http://wiki.developer.myspace.com/index.php?title=Myspace_mood_data_names_codes_images
340
+ def set_mood(user_id, mood_id)
341
+ user_id = user_id.to_s
342
+ validate_identifier(:user_id, user_id)
343
+ mood_id = mood_id.to_s
344
+ validate_identifier(:mood_id, mood_id)
345
+ call_myspace_api(:mood_put, :user_id => user_id, :body => {:mood => mood_id})
346
+ end
347
+
348
+ # Gets and caches the list of available moods for user +user_id+.
349
+ def moods(user_id)
350
+ @moods ||= {}
351
+ @moods[user_id] ||= get_moods(user_id)
352
+ end
353
+
354
+ # Gets the mood names available for user +user_id+.
355
+ def mood_names(user_id)
356
+ moods(user_id).collect do |mood|
357
+ mood['moodName']
358
+ end
359
+ end
360
+
361
+ # Given a +user_id+ and the name of a mood, returns the
362
+ # corresponding mood id
363
+ def mood_id(user_id, name)
364
+ moods(user_id).each do |mood|
365
+ return mood['moodId'] if mood['moodName'] == name
366
+ end
367
+ end
368
+
369
+ # Gets the list of available moods for user +user_id+.
370
+ def get_moods(user_id, params = {})
371
+ user_id = user_id.to_s
372
+ validate_identifier(:user_id, user_id)
373
+ moods = call_myspace_api(:moods, params.dup.update(:user_id => user_id, :v1_json => true))
374
+ moods['moods']
284
375
  end
285
376
 
286
377
  # Gets the photo descriptions for the photos that belong to user +user_id+:
@@ -498,20 +589,25 @@ module MySpace
498
589
  call_myspace_api(:video, params.dup.update(:user_id => user_id, :video_id => video_id, :v1_json => true))
499
590
  end
500
591
 
592
+ # Gets the activity stream of user +user_id+
501
593
  def get_activities(user_id, params = {})
502
594
  user_id = user_id.to_s
503
595
  validate_identifier(:user_id, user_id)
504
596
  call_myspace_api(:activities, params.dup.update(:user_id => user_id))
505
597
  end
506
598
 
599
+ # Gets the activity streams of the friends of user +user_id+
507
600
  def get_friends_activities(user_id, params = {})
508
601
  user_id = user_id.to_s
509
602
  validate_identifier(:user_id, user_id)
510
603
  call_myspace_api(:friends_activities, params.dup.update(:user_id => user_id))
511
604
  end
512
-
605
+
606
+ # Gets the global application data. This can be anything the
607
+ # application wants. If you pass +keys+, only return data
608
+ # corresponding to the passed keys.
513
609
  def get_global_appdata(*keys)
514
- appdata_to_hash do
610
+ MySpace.appdata_to_hash do
515
611
  if keys.length > 0
516
612
  call_myspace_api(:appdata_global_keys_get, :keys => keys.join(';'), :v1_json => true)
517
613
  else
@@ -520,16 +616,6 @@ module MySpace
520
616
  end
521
617
  end
522
618
 
523
- def self.remove_null_values(hash)
524
- hash.keys.inject([]) do |nulls, key|
525
- unless hash[key]
526
- hash.delete(key)
527
- nulls << key
528
- end
529
- nulls
530
- end
531
- end
532
-
533
619
  def set_global_appdata(params = {})
534
620
  deletes = MySpace.remove_null_values(params)
535
621
 
@@ -544,7 +630,7 @@ module MySpace
544
630
  def get_user_appdata(user_id, *keys)
545
631
  user_id = user_id.to_s
546
632
  validate_identifier(:user_id, user_id)
547
- appdata_to_hash do
633
+ MySpace.appdata_to_hash do
548
634
  if keys.length > 0
549
635
  call_myspace_api(:appdata_user_keys_get, :user_id => user_id, :keys => keys.join(';'), :v1_json => true)
550
636
  else
@@ -570,23 +656,42 @@ module MySpace
570
656
  def get_user_friends_appdata(user_id, *keys)
571
657
  user_id = user_id.to_s
572
658
  validate_identifier(:user_id, user_id)
573
- appdata_to_hash do
574
- if keys.length > 0
575
- call_myspace_api(:appdata_friends_get, :user_id => user_id, :v1_json => true)
576
- else
577
- call_myspace_api(:appdata_friends_keys_get, :user_id => user_id, :keys => keys.join(';'), :v1_json => true)
659
+ if keys.length > 0
660
+ call_myspace_api(:appdata_friends_keys_get, :user_id => user_id, :keys => keys.join(';'), :v1_json => true)
661
+ else
662
+ call_myspace_api(:appdata_friends_get, :user_id => user_id, :v1_json => true)
663
+ end.inject({}) do |hash, friend|
664
+ hash.update(friend['userid'].to_s => MySpace.appdata_to_hash(friend))
665
+ end
666
+ end
667
+
668
+ protected
669
+
670
+ def self.remove_null_values(hash)
671
+ hash.keys.inject([]) do |nulls, key|
672
+ unless hash[key]
673
+ hash.delete(key)
674
+ nulls << key
578
675
  end
676
+ nulls
579
677
  end
580
678
  end
581
679
 
582
- def appdata_to_hash(&block)
583
- appdata = yield
680
+ def self.appdata_to_hash(appdata = {}, &block)
681
+ appdata = yield if block_given?
584
682
  return {} unless appdata['keyvaluecollection']
585
683
  appdata['keyvaluecollection'].inject({}) do |hash, entry|
586
684
  hash.update(entry['key'].to_sym => entry['value'])
587
685
  end
588
686
  end
589
687
 
688
+ public
689
+
690
+ def get_indicators(user_id)
691
+ user_id = user_id.to_s
692
+ validate_identifier(:user_id, user_id)
693
+ call_myspace_api(:indicators, :user_id => user_id, :v1_json => true)
694
+ end
590
695
 
591
696
  def call_myspace_api(name, params = {}, &block)
592
697
  params = params.dup
@@ -629,18 +734,6 @@ module MySpace
629
734
  end
630
735
  end
631
736
 
632
- # def call_myspace_api_json(url, method = :get, params = {})
633
- # call_myspace_api(url, method, params) do |body|
634
- # JSON::parse(body)
635
- # end
636
- # end
637
-
638
- # def call_myspace_api_xml(url, method = :get, params = {})
639
- # call_myspace_api(url, method, params) do |body|
640
- # REXML::Document.new(body)
641
- # end
642
- # end
643
-
644
737
  protected
645
738
 
646
739
  ID_REGEXP = /[0-9]+/ unless const_defined?('ID_REGEXP')
@@ -664,3 +757,4 @@ module MySpace
664
757
  end
665
758
  end
666
759
  end
760
+
@@ -1,8 +1,6 @@
1
1
  require 'myspace'
2
2
 
3
- key_file = File.expand_path(File.join(File.dirname(__FILE__), "/../../../consumer_key.rb"))
4
- raise "You must create a consumer_key.rb file with your application credentials in it. See #{File.expand_path(File.join(File.dirname(__FILE__), "/../../../../README"))} for more info." unless File.exists?(key_file)
5
- require key_file
3
+ require File.expand_path(File.join(File.dirname(__FILE__), "/../../../consumer_key.rb"))
6
4
 
7
5
  class OauthController < ApplicationController
8
6
  include ConsumerKey
@@ -7,9 +7,7 @@ require 'openid/store/filesystem'
7
7
 
8
8
  require 'myspace'
9
9
 
10
- key_file = File.expand_path(File.join(File.dirname(__FILE__), "/../../../consumer_key.rb"))
11
- raise "You must create a consumer_key.rb file with your application credentials in it. See #{File.expand_path(File.join(File.dirname(__FILE__), "/../../../../README"))} for more info." unless File.exists?(key_file)
12
- require key_file
10
+ require File.expand_path(File.join(File.dirname(__FILE__), "/../../../consumer_key.rb"))
13
11
 
14
12
  class OpenidController < ApplicationController
15
13
  include ConsumerKey
@@ -7,9 +7,7 @@ require 'openid/store/filesystem'
7
7
 
8
8
  require 'myspace'
9
9
 
10
- key_file = File.expand_path(File.join(File.dirname(__FILE__), "/../../../consumer_key.rb"))
11
- raise "You must create a consumer_key.rb file with your application credentials in it. See #{File.expand_path(File.join(File.dirname(__FILE__), "/../../../../README"))} for more info." unless File.exists?(key_file)
12
- require key_file
10
+ require File.expand_path(File.join(File.dirname(__FILE__), "/../../../consumer_key.rb"))
13
11
 
14
12
  class UserController < ApplicationController
15
13
  include ConsumerKey
@@ -8,9 +8,11 @@ module MySpaceTest
8
8
  include TestData
9
9
 
10
10
  def setup
11
- @myspace = MySpace::MySpace.new(CONSUMER_KEY, CONSUMER_SECRET,
12
- :access_token => TOKEN, :access_token_secret => SECRET,
13
- :logger => Logger.new($stdout))
11
+ @ms_offsite = MySpace::MySpace.new(OFFSITE_KEY, OFFSITE_SECRET,
12
+ :access_token => TOKEN, :access_token_secret => SECRET,
13
+ :logger => Logger.new($stdout))
14
+ @ms_onsite = MySpace::MySpace.new(ONSITE_KEY, ONSITE_SECRET, :application_type => MySpace::MySpace::APPLICATION_TYPE_ONSITE,
15
+ :logger => Logger.new($stdout))
14
16
  end
15
17
 
16
18
  class Tester
@@ -29,4 +31,5 @@ module MySpaceTest
29
31
  end
30
32
  assert(tester.passed)
31
33
  end
34
+
32
35
  end
@@ -6,25 +6,28 @@ class TC_Albums < Test::Unit::TestCase
6
6
 
7
7
  def test_albums
8
8
  obj = nil
9
- BAD_IDS.each do |value|
10
- assert_raise(MySpace::BadIdentifier) do
11
- obj = @myspace.get_albums(value)
9
+ [@ms_offsite, @ms_onsite].each do |ms|
10
+ BAD_IDS.each do |value|
11
+ assert_raise(MySpace::BadIdentifier) do
12
+ obj = ms.get_albums(value)
13
+ end
12
14
  end
15
+ assert_nothing_raised do
16
+ obj = ms.get_albums(USER_ID)
17
+ end
18
+ assert_equal(1, obj['count'])
19
+ albums = obj['albums']
20
+ assert_instance_of(Array, albums)
21
+ assert_equal(1, albums.length)
22
+ album = albums[0]
23
+ assert_instance_of(Hash, album)
24
+ album_id = album['id'].to_s
25
+ assert_equal('40418', album_id)
26
+ title = album['title']
27
+ assert_instance_of(String, title)
28
+ # oops this is culture specific
29
+ # assert_equal('My Photos', title)
13
30
  end
14
- assert_nothing_raised do
15
- obj = @myspace.get_albums(USER_ID)
16
- end
17
- assert_equal(1, obj['count'])
18
- albums = obj['albums']
19
- assert_instance_of(Array, albums)
20
- assert_equal(1, albums.length)
21
- album = albums[0]
22
- assert_instance_of(Hash, album)
23
- album_id = album['id'].to_s
24
- assert_equal('40418', album_id)
25
- title = album['title']
26
- assert_instance_of(String, title)
27
- assert_equal('My Photos', title)
28
31
  end
29
32
 
30
33
  # {"albums"=>
@@ -62,33 +65,35 @@ class TC_Albums < Test::Unit::TestCase
62
65
 
63
66
  def test_album
64
67
  obj = nil
65
- BAD_IDS.each do |value|
66
- assert_raise(MySpace::BadIdentifier) do
67
- obj = @myspace.get_album(value, ALBUM_ID)
68
+ [@ms_offsite, @ms_onsite].each do |ms|
69
+ BAD_IDS.each do |value|
70
+ assert_raise(MySpace::BadIdentifier) do
71
+ obj = ms.get_album(value, ALBUM_ID)
72
+ end
68
73
  end
69
- end
70
- BAD_IDS.each do |value|
71
- assert_raise(MySpace::BadIdentifier) do
72
- obj = @myspace.get_album(USER_ID, value)
74
+ BAD_IDS.each do |value|
75
+ assert_raise(MySpace::BadIdentifier) do
76
+ obj = ms.get_album(USER_ID, value)
77
+ end
73
78
  end
79
+ assert_raise(MySpace::RestException) do
80
+ obj = ms.get_album(USER_ID, "1234")
81
+ end
82
+ assert_nothing_raised do
83
+ obj = ms.get_album(USER_ID, ALBUM_ID)
84
+ end
85
+ assert_equal(1, obj['count'])
86
+ photos = obj['photos']
87
+ assert_instance_of(Array, photos)
88
+ assert_equal(1, photos.length)
89
+ photo = photos[0]
90
+ assert_instance_of(Hash, photo)
91
+ photo_id = photo['id'].to_s
92
+ assert_equal(PHOTO_ID, photo_id)
93
+ caption = photo['caption']
94
+ assert_instance_of(String, caption)
95
+ assert_equal('', caption)
74
96
  end
75
- assert_raise(MySpace::RestException) do
76
- obj = @myspace.get_album(USER_ID, "1234")
77
- end
78
- assert_nothing_raised do
79
- obj = @myspace.get_album(USER_ID, ALBUM_ID)
80
- end
81
- assert_equal(1, obj['count'])
82
- photos = obj['photos']
83
- assert_instance_of(Array, photos)
84
- assert_equal(1, photos.length)
85
- photo = photos[0]
86
- assert_instance_of(Hash, photo)
87
- photo_id = photo['id'].to_s
88
- assert_equal(PHOTO_ID, photo_id)
89
- caption = photo['caption']
90
- assert_instance_of(String, caption)
91
- assert_equal('', caption)
92
97
  end
93
98
 
94
99
  # {"photos"=>
@@ -6,29 +6,34 @@ class TC_Friends < Test::Unit::TestCase
6
6
 
7
7
  def test_friends
8
8
  obj = nil
9
- BAD_IDS.each do |value|
10
- assert_raise(MySpace::BadIdentifier) do
11
- obj = @myspace.get_friends(value)
12
- end
13
- end
14
9
  assert_raise(OAuth::Problem) do
15
- obj = @myspace.get_friends("6221")
10
+ obj = @ms_offsite.get_friends("6221")
11
+ end
12
+ assert_raise(MySpace::PermissionDenied) do
13
+ obj = @ms_onsite.get_friends("6221")
16
14
  end
17
- assert_nothing_raised do
18
- obj = @myspace.get_friends(USER_ID)
15
+ [@ms_offsite, @ms_onsite].each do |ms|
16
+ BAD_IDS.each do |value|
17
+ assert_raise(MySpace::BadIdentifier) do
18
+ obj = ms.get_friends(value)
19
+ end
20
+ end
21
+ assert_nothing_raised do
22
+ obj = ms.get_friends(USER_ID)
23
+ end
24
+ count = obj['count']
25
+ assert_instance_of(Fixnum, count)
26
+ assert_equal(2, count)
27
+ friends = obj['Friends']
28
+ assert_instance_of(Array, friends)
29
+ assert_equal(count, friends.length)
30
+ tom = friends[0]
31
+ name = tom['name']
32
+ assert_instance_of(String, name)
33
+ assert_equal('Tom', name)
34
+ userid = tom['userId'].to_s
35
+ assert_equal("6221", userid)
19
36
  end
20
- count = obj['count']
21
- assert_instance_of(Fixnum, count)
22
- assert_equal(1, count)
23
- friends = obj['Friends']
24
- assert_instance_of(Array, friends)
25
- assert_equal(count, friends.length)
26
- tom = friends[0]
27
- name = tom['name']
28
- assert_instance_of(String, name)
29
- assert_equal('Tom', name)
30
- userid = tom['userId'].to_s
31
- assert_equal("6221", userid)
32
37
  end
33
38
  # {"topFriends"=>"http://api.myspace.com/v1/users/456073223/friends?list=top",
34
39
  # "Friends"=>
@@ -53,30 +58,33 @@ class TC_Friends < Test::Unit::TestCase
53
58
 
54
59
  def test_friendship
55
60
  obj = nil
56
- BAD_IDS.each do |value|
57
- assert_raise(MySpace::BadIdentifier) do
58
- obj = @myspace.get_friendship(USER_ID, value, "12341234", "456073223")
61
+ [@ms_offsite, @ms_onsite].each do |ms|
62
+ BAD_IDS.each do |value|
63
+ assert_raise(MySpace::BadIdentifier) do
64
+ obj = ms.get_friendship(USER_ID, value, "12341234", "456073223")
65
+ end
59
66
  end
60
- end
61
- BAD_IDS.each do |value|
62
- assert_raise(MySpace::BadIdentifier) do
63
- obj = @myspace.get_friendship(USER_ID, 6221, value, "456073223")
67
+ BAD_IDS.each do |value|
68
+ assert_raise(MySpace::BadIdentifier) do
69
+ obj = ms.get_friendship(USER_ID, 6221, value, "456073223")
70
+ end
64
71
  end
65
- end
66
- BAD_IDS.each do |value|
67
- assert_raise(MySpace::BadIdentifier) do
68
- obj = @myspace.get_friendship(USER_ID, 6221, "12341234", value)
72
+ BAD_IDS.each do |value|
73
+ assert_raise(MySpace::BadIdentifier) do
74
+ obj = ms.get_friendship(USER_ID, 6221, "12341234", value)
75
+ end
69
76
  end
77
+
78
+ assert_nothing_raised do
79
+ obj = ms.get_friendship(USER_ID, 6221, "12341234", "456073223")
80
+ end
81
+ friendship = obj['friendship']
82
+ assert_instance_of(Array, friendship)
83
+ assert_equal(3, friendship.length)
84
+ assert_equal(true, friendship[0]['areFriends'])
85
+ assert_equal(false, friendship[1]['areFriends'])
86
+ assert_equal(true, friendship[2]['areFriends'])
70
87
  end
71
- assert_nothing_raised do
72
- obj = @myspace.get_friendship(USER_ID, 6221, "12341234", "456073223")
73
- end
74
- friendship = obj['friendship']
75
- assert_instance_of(Array, friendship)
76
- assert_equal(3, friendship.length)
77
- assert_equal(true, friendship[0]['areFriends'])
78
- assert_equal(false, friendship[1]['areFriends'])
79
- assert_equal(true, friendship[2]['areFriends'])
80
88
  end
81
89
 
82
90
  # {"friendship"=>
@@ -10,21 +10,22 @@ class TC_Profile < Test::Unit::TestCase
10
10
  def test_userid
11
11
  user_id = nil
12
12
  assert_nothing_raised do
13
- user_id = @myspace.get_userid
13
+ user_id = @ms_offsite.get_userid
14
14
  end
15
15
  assert_instance_of(String, user_id)
16
16
  assert_equal(USER_ID, user_id)
17
17
  end
18
18
 
19
19
  def test_profile
20
+ [@ms_offsite, @ms_onsite].each do |ms|
20
21
  obj = nil
21
22
  BAD_IDS.each do |value|
22
23
  assert_raise(MySpace::BadIdentifier) do
23
- obj = @myspace.get_profile(value)
24
+ obj = ms.get_profile(value)
24
25
  end
25
26
  end
26
27
  assert_nothing_raised do
27
- obj = @myspace.get_profile(USER_ID)
28
+ obj = ms.get_profile(USER_ID)
28
29
  end
29
30
  assert_instance_of(Hash, obj)
30
31
  basic_profile = obj['basicprofile']
@@ -44,74 +45,63 @@ class TC_Profile < Test::Unit::TestCase
44
45
  image = basic_profile['image']
45
46
  assert_instance_of(String, image)
46
47
  assert_equal("http://c1.ac-images.myspacecdn.com/images02/45/s_f820313641924f0f90004932c8bc310c.jpg", image)
48
+ end
47
49
  end
48
50
 
49
51
  def test_mood
50
- obj = nil
51
- BAD_IDS.each do |value|
52
- assert_raise(MySpace::BadIdentifier) do
53
- obj = @myspace.get_mood(value)
52
+ [@ms_offsite, @ms_onsite].each do |ms|
53
+ obj = nil
54
+ BAD_IDS.each do |value|
55
+ assert_raise(MySpace::BadIdentifier) do
56
+ obj = ms.get_mood(value)
57
+ end
54
58
  end
59
+ assert_nothing_raised do
60
+ obj = ms.get_mood(USER_ID)
61
+ end
62
+ assert_instance_of(Hash, obj)
63
+ mood = obj['mood']
64
+ assert_instance_of(String, mood)
65
+ # assert_equal("tested", mood)
66
+ # mood_image = obj['moodImageUrl']
67
+ # assert_instance_of(String, mood_image)
68
+ # assert_equal("http://x.myspacecdn.com/images/blog/moods/iBrads/confused.gif", mood_image)
55
69
  end
56
- assert_nothing_raised do
57
- obj = @myspace.get_mood(USER_ID)
58
- end
59
- assert_instance_of(Hash, obj)
60
- mood = obj['mood']
61
- assert_instance_of(String, mood)
62
- assert_equal("tested", mood)
63
- mood_image = obj['moodImageUrl']
64
- assert_instance_of(String, mood_image)
65
- assert_equal("http://x.myspacecdn.com/images/blog/moods/iBrads/confused.gif", mood_image)
66
70
  end
67
71
 
68
72
  def test_status
69
- obj = nil
70
- BAD_IDS.each do |value|
71
- assert_raise(MySpace::BadIdentifier) do
72
- obj = @myspace.get_status(value)
73
+ [@ms_offsite, @ms_onsite].each do |ms|
74
+ obj = nil
75
+ BAD_IDS.each do |value|
76
+ assert_raise(MySpace::BadIdentifier) do
77
+ obj = ms.get_status(value)
78
+ end
73
79
  end
74
- end
75
- assert_nothing_raised do
76
- obj = @myspace.get_status(USER_ID)
77
- end
78
- assert_instance_of(Hash, obj)
79
- status = obj['status']
80
- assert_instance_of(String, status)
81
- # assert_equal("Testing", status)
82
-
83
- assert_nothing_raised do
84
- @myspace.set_status(USER_ID, "Updating!")
85
- end
86
-
87
- assert_passes_eventually do |result|
88
80
  assert_nothing_raised do
89
- obj = @myspace.get_status(USER_ID)
81
+ obj = ms.get_status(USER_ID)
90
82
  end
91
83
  assert_instance_of(Hash, obj)
92
84
  status = obj['status']
93
85
  assert_instance_of(String, status)
94
- result.passed = true if status == "Updating!"
95
- end
86
+ # assert_equal("Testing", status)
96
87
 
97
- # passed = false
98
- # 10.times do
99
- # assert_nothing_raised do
100
- # obj = @myspace.get_status(USER_ID)
101
- # end
102
- # assert_instance_of(Hash, obj)
103
- # status = obj['status']
104
- # assert_instance_of(String, status)
105
- # if status == "Updating!"
106
- # passed = true
107
- # break
108
- # end
109
- # sleep(0.1)
110
- # end
111
- # assert(passed)
88
+ assert_nothing_raised do
89
+ ms.set_status(USER_ID, "Updating!")
90
+ end
112
91
 
113
- assert_nothing_raised do
114
- @myspace.set_status(USER_ID, "Testing")
92
+ assert_passes_eventually do |result|
93
+ assert_nothing_raised do
94
+ obj = ms.get_status(USER_ID)
95
+ end
96
+ assert_instance_of(Hash, obj)
97
+ status = obj['status']
98
+ assert_instance_of(String, status)
99
+ result.passed = true if status == "Updating!"
100
+ end
101
+
102
+ assert_nothing_raised do
103
+ ms.set_status(USER_ID, "Testing")
104
+ end
115
105
  end
116
106
  end
117
107
  end
@@ -5,26 +5,28 @@ class TC_Videos < Test::Unit::TestCase
5
5
  include MySpaceTest
6
6
 
7
7
  def test_videos
8
- obj = nil
9
- BAD_IDS.each do |value|
10
- assert_raise(MySpace::BadIdentifier) do
11
- obj = @myspace.get_videos(value)
8
+ [@ms_offsite, @ms_onsite].each do |ms|
9
+ obj = nil
10
+ BAD_IDS.each do |value|
11
+ assert_raise(MySpace::BadIdentifier) do
12
+ obj = ms.get_videos(value)
13
+ end
12
14
  end
15
+ assert_nothing_raised do
16
+ obj = ms.get_videos(USER_ID)
17
+ end
18
+ assert_instance_of(Hash, obj)
19
+ assert_equal(1, obj['count'])
20
+ videos = obj['videos']
21
+ assert_instance_of(Array, videos)
22
+ assert_equal(1, videos.length)
23
+ video = videos[0]
24
+ video_id = video['id'].to_s
25
+ assert_equal(VIDEO_ID, video_id)
26
+ video_title = video['title']
27
+ assert_instance_of(String, video_title)
28
+ assert_equal(VIDEO_TITLE, video_title)
13
29
  end
14
- assert_nothing_raised do
15
- obj = @myspace.get_videos(USER_ID)
16
- end
17
- assert_instance_of(Hash, obj)
18
- assert_equal(1, obj['count'])
19
- videos = obj['videos']
20
- assert_instance_of(Array, videos)
21
- assert_equal(1, videos.length)
22
- video = videos[0]
23
- video_id = video['id'].to_s
24
- assert_equal(VIDEO_ID, video_id)
25
- video_title = video['title']
26
- assert_instance_of(String, video_title)
27
- assert_equal(VIDEO_TITLE, video_title)
28
30
  end
29
31
 
30
32
  # {"videos"=>
@@ -70,26 +72,28 @@ class TC_Videos < Test::Unit::TestCase
70
72
  # "http://c1.ac-images.myspacecdn.com/images02/45/s_f820313641924f0f90004932c8bc310c.jpg"}}
71
73
 
72
74
  def test_video
73
- obj = nil
74
- BAD_IDS.each do |value|
75
- assert_raise(MySpace::BadIdentifier) do
76
- obj = @myspace.get_video(value, VIDEO_ID)
75
+ [@ms_offsite, @ms_onsite].each do |ms|
76
+ obj = nil
77
+ BAD_IDS.each do |value|
78
+ assert_raise(MySpace::BadIdentifier) do
79
+ obj = ms.get_video(value, VIDEO_ID)
80
+ end
77
81
  end
78
- end
79
- BAD_IDS.each do |value|
80
- assert_raise(MySpace::BadIdentifier) do
81
- obj = @myspace.get_video(USER_ID, value)
82
+ BAD_IDS.each do |value|
83
+ assert_raise(MySpace::BadIdentifier) do
84
+ obj = ms.get_video(USER_ID, value)
85
+ end
82
86
  end
87
+ assert_nothing_raised do
88
+ obj = ms.get_video(USER_ID, VIDEO_ID)
89
+ end
90
+ assert_instance_of(Hash, obj)
91
+ video_id = obj['id'].to_s
92
+ assert_equal(VIDEO_ID, video_id)
93
+ video_title = obj['title']
94
+ assert_instance_of(String, video_title)
95
+ assert_equal(VIDEO_TITLE, video_title)
83
96
  end
84
- assert_nothing_raised do
85
- obj = @myspace.get_video(USER_ID, VIDEO_ID)
86
- end
87
- assert_instance_of(Hash, obj)
88
- video_id = obj['id'].to_s
89
- assert_equal(VIDEO_ID, video_id)
90
- video_title = obj['title']
91
- assert_instance_of(String, video_title)
92
- assert_equal(VIDEO_TITLE, video_title)
93
97
  end
94
98
 
95
99
  # {"totalrating"=>"0",
@@ -1,9 +1,12 @@
1
1
  module TestData
2
- CONSUMER_KEY = '5796bcaafb2a4e48a94f4c1849bb2058' unless const_defined?('CONSUMER_KEY')
3
- CONSUMER_SECRET = '5311c1fbe72b47298d4db5a098ce26d0' unless const_defined?('CONSUMER_SECRET')
2
+ OFFSITE_KEY = '18bed0f4247a4f79bc9941bfed5b534c' unless const_defined?('OFFSITE_KEY')
3
+ OFFSITE_SECRET = '2e8ebdafbef844a5929086e659e4188c' unless const_defined?('OFFSITE_SECRET')
4
4
 
5
- TOKEN = '2+mefZUAJvSniIj9Shj+PMvgCaUr1rPgIrFfvbj9pxOdOxNnUQoXGWP4jQk6OzS4Jv5x8hR1QdXqosT/HdhQSpEwEPdRSv2e6jWVwtMtEXk=' unless const_defined?('TOKEN')
6
- SECRET = 'a062817544804c8da349e7621a8a26cb' unless const_defined?('SECRET')
5
+ ONSITE_KEY = 'http://perisphere.1939worldsfair.com/app.xml' unless const_defined?('ONSITE_KEY')
6
+ ONSITE_SECRET = 'eda0c62773234093bea92645eea0493d' unless const_defined?('ONSITE_SECRET')
7
+
8
+ TOKEN = 'iELpLIedJM1N1oz4tbsME4v8bbGiqE8D2DGs1MHvqM9386xJAiBYV7kAbPsKH1LfvMCDNUxk4IDl3KvtKzbqFEZAKW90DK1pkNml0cK1xuU=' unless const_defined?('TOKEN')
9
+ SECRET = '8805c751977a4b1d8bbf0d9913ae5840' unless const_defined?('SECRET')
7
10
 
8
11
  USER_ID = '456073223' unless const_defined?('USER_ID')
9
12
  ALBUM_ID = '40418' unless const_defined?('ALBUM_ID')
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: myspaceid-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.9
4
+ version: 0.1.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Christopher B. Baker
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-04-03 00:00:00 -07:00
12
+ date: 2009-05-05 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -62,6 +62,7 @@ extra_rdoc_files:
62
62
  - README.txt
63
63
  - samples/rails/sample/public/robots.txt
64
64
  files:
65
+ - Rakefile
65
66
  - README.txt
66
67
  - lib/myspace.rb
67
68
  - lib/myspace
@@ -73,7 +74,6 @@ files:
73
74
  - test/tc_profile.rb
74
75
  - test/myspace_test.rb
75
76
  - test/tc_videos.rb
76
- - test/data.rb
77
77
  - test/ts_alltests.rb
78
78
  - test/tc_friends.rb
79
79
  - test/tc_albums.rb
@@ -1,8 +0,0 @@
1
- module TestData
2
- CONSUMER_KEY = '5796bcaafb2a4e48a94f4c1849bb2058' unless const_defined?('CONSUMER_KEY')
3
- CONSUMER_SECRET = '5311c1fbe72b47298d4db5a098ce26d0' unless const_defined?('CONSUMER_SECRET')
4
-
5
- TOKEN = 'BFKvhXYYsrP88LvZ+Yi3qJ2syRnUkwRUB2wfWL9jROL+MFVWOXSZfg7pi37DlCSkYoHtxLiapKMQRMXFh4mvJi9ze3t9lvKAMm85WMKPka0=' unless const_defined?('TOKEN')
6
- SECRET = 'a062817544804c8da349e7621a8a26cb' unless const_defined?('SECRET')
7
- USER_ID = '456073223' unless const_defined?('USER_ID')
8
- end