myspaceid-sdk 0.1.9 → 0.1.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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