google_apps_api 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,81 @@
1
+ require 'test_helper'
2
+
3
+ class GoogleAppsApiCalendarTest < Test::Unit::TestCase
4
+ include GoogleAppsApi
5
+
6
+
7
+ context "given a connection to apps.cul" do
8
+ setup do
9
+ gapps_config =YAML::load_file("private/gapps-config.yml")["apps_ocelot"].symbolize_keys!
10
+ @api = Calendar::Api.new(gapps_config)
11
+ end
12
+
13
+ should "have a token" do
14
+ assert @api.token
15
+ end
16
+
17
+
18
+ # should "be able to retrieve all calendars" do
19
+ # calendars = @api.retrieve_all_calendars
20
+ #
21
+ # assert calendars
22
+ # end
23
+ #
24
+ # should "be able to retrieve all calendars for self" do
25
+ # calendars = @api.retrieve_users_calendars(:username => "_sc_api@ocelot.cul.columbia.edu")
26
+ # puts calendars.class
27
+ # end
28
+ #
29
+ #
30
+ should "be able to retrieve own calendars" do
31
+ calendars = @api.retrieve_users_own_calendars(:username => "nco2104@ocelot.cul.columbia.edu")
32
+
33
+
34
+ calendars.each { |c| assert_kind_of CalendarEntry, c }
35
+ end
36
+
37
+ should "be able to retrieve all calendars subscribed to" do
38
+ calendars = @api.retrieve_users_calendars(:username => "nco2104@ocelot.cul.columbia.edu")
39
+
40
+ calendars.each { |c| assert_kind_of CalendarEntry, c }
41
+
42
+ end
43
+
44
+
45
+ should "be able to add and remove other calendars" do
46
+ jws_cal = CalendarEntry.new
47
+ jws_cal.id = "jws2135%40ocelot.cul.columbia.edu"
48
+ jws_cal.title = "James Stuart"
49
+
50
+ res = @api.delete_calendar_from_user(jws_cal, "nco2104@ocelot.cul.columbia.edu")
51
+
52
+ count = @api.retrieve_users_calendars(:username => "nco2104@ocelot.cul.columbia.edu").length
53
+
54
+ res = @api.add_calendar_to_user(jws_cal, "nco2104@ocelot.cul.columbia.edu")
55
+ assert_kind_of CalendarEntry, res
56
+
57
+ assert_equal count + 1, @api.retrieve_users_calendars(:username => "nco2104@ocelot.cul.columbia.edu").length
58
+
59
+ res = @api.delete_calendar_from_user(res, "nco2104@ocelot.cul.columbia.edu")
60
+
61
+ assert_equal count , @api.retrieve_users_calendars(:username => "nco2104@ocelot.cul.columbia.edu").length
62
+
63
+ end
64
+
65
+
66
+ end
67
+
68
+ context "given a calendar entry" do
69
+ setup do
70
+ @jws_cal = CalendarEntry.new
71
+ @jws_cal.id = "jws2135%40ocelot.cul.columbia.edu"
72
+ @jws_cal.title = "James Stuart"
73
+ end
74
+
75
+ should "generate an add message" do
76
+ assert_kind_of String, @jws_cal.add_message
77
+ end
78
+
79
+ end
80
+
81
+ end
@@ -0,0 +1,27 @@
1
+ # require 'test_helper'
2
+ #
3
+ # class GappsContactsTest < Test::Unit::TestCase
4
+ #
5
+ # context "given a connection to apps.cul" do
6
+ # setup do
7
+ # gapps_config =YAML::load_file("private/gapps-config.yml")["apps_ocelot"].symbolize_keys!
8
+ # @api = GoogleAppsApi::SharedContacts::Api.new(gapps_config)
9
+ # end
10
+ #
11
+ # should "have a token" do
12
+ # assert @api.token
13
+ # end
14
+ #
15
+ # should "be able to create user" do
16
+ # @api.create_contact(:name => "Nada API O'Neal", :email => { "home" => "nco2104@columbia.edu", "work" => "nco2104@apps.cul.columbia.edu"})
17
+ # end
18
+ #
19
+ # should "be able to retrieve user" do
20
+ # assert @api.retrieve_all
21
+ # end
22
+ #
23
+ #
24
+ #
25
+ # end
26
+ #
27
+ # end
@@ -0,0 +1,78 @@
1
+ require 'test_helper'
2
+
3
+ class GoogleAppsApiProvisioningTest < Test::Unit::TestCase
4
+ include GoogleAppsApi
5
+
6
+ context "given a connection to apps.cul" do
7
+ setup do
8
+ gapps_config =YAML::load_file("private/gapps-config.yml")["apps_ocelot"].symbolize_keys!
9
+ @api = Provisioning::Api.new(gapps_config)
10
+ end
11
+
12
+ should "have a token" do
13
+ assert @api.token
14
+ end
15
+
16
+ should "be able to retrieve user" do
17
+ resp = @api.retrieve_user("jws2135")
18
+
19
+ assert_kind_of UserEntry, resp
20
+
21
+ assert_equal resp.username, "jws2135"
22
+ end
23
+
24
+ should "throw an error if given an invalid user" do
25
+ assert_raises GDataError do
26
+ resp = @api.retrieve_user("xx_jws2135")
27
+ end
28
+ end
29
+
30
+
31
+ should "be able to retrieve all users" do
32
+ assert_kind_of Array, @api.retrieve_all_users
33
+ end
34
+
35
+
36
+
37
+ should "be able to create and delete a user" do
38
+ uid = random_letters(9, "_t_")
39
+
40
+ assert_raises GDataError do
41
+ @api.retrieve_user(uid)
42
+ end
43
+
44
+ ue = UserEntry.new()
45
+ @api.create_user(uid, :given_name => random_letters(5), :family_name => random_letters(5), :password => random_letters(10))
46
+
47
+ assert_kind_of UserEntry, @api.retrieve_user(uid)
48
+
49
+ @api.delete_user(uid)
50
+
51
+
52
+ assert_raises GDataError do
53
+ @api.retrieve_user(uid)
54
+ end
55
+
56
+
57
+ end
58
+
59
+
60
+
61
+
62
+ should "be able to update a user" do
63
+ uid = "jws2135"
64
+
65
+ @api.update_user(uid, :given_name => "Jimmy", :family_name => "Stuart")
66
+
67
+ assert_equal "Jimmy", @api.retrieve_user(uid).given_name
68
+
69
+ @api.update_user(uid, :given_name => "James", :family_name => "Stuart")
70
+
71
+ assert_equal "James", @api.retrieve_user(uid).given_name
72
+
73
+ end
74
+
75
+
76
+ end
77
+
78
+ end
@@ -0,0 +1,30 @@
1
+ # require 'test_helper'
2
+ #
3
+ # class GappsUserProfilesTest < Test::Unit::TestCase
4
+ #
5
+ # context "given a connection to apps.cul" do
6
+ # setup do
7
+ # gapps_config =YAML::load_file("private/gapps-config.yml")["apps_ocelot"].symbolize_keys!
8
+ # @api = GoogleAppsApi::UserProfiles::Api.new(gapps_config)
9
+ # end
10
+ #
11
+ # should "have a token" do
12
+ # assert @api.token
13
+ # end
14
+ #
15
+ #
16
+ # should "be able to retrieve all users" do
17
+ # # raise @api.retrieve_all.to_s
18
+ # end
19
+ #
20
+ # should "be able to retrieve one user" do
21
+ # assert @api.retrieve_user("nco2104").to_s
22
+ # end
23
+ #
24
+ # should "be able to set email" do
25
+ # assert @api.set_emails("jws2135",:primary => :work, :home => "james.stuart+profilesapi@gmail.com", :work => "james.stuart+profilesapi@columbia.edu").to_s
26
+ # end
27
+ #
28
+ # end
29
+ #
30
+ # end
data/test/helper.rb ADDED
@@ -0,0 +1,10 @@
1
+ require 'rubygems'
2
+ require 'test/unit'
3
+ require 'shoulda'
4
+
5
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
6
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
7
+ require 'google_apps_api'
8
+
9
+ class Test::Unit::TestCase
10
+ end
@@ -0,0 +1,15 @@
1
+ require 'rubygems'
2
+ require 'test/unit'
3
+ require 'shoulda'
4
+ require 'ruby-debug'
5
+
6
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
7
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
8
+ require 'google_apps_api'
9
+
10
+ class Test::Unit::TestCase
11
+
12
+ def random_letters(num, prefix = "", suffix = "")
13
+ prefix + (0...num).map{65.+(rand(25)).chr}.join + suffix
14
+ end
15
+ end
metadata ADDED
@@ -0,0 +1,127 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: google_apps_api
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - James Stuart
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2010-05-05 00:00:00 -04:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: httpclient
17
+ type: :runtime
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: "0"
24
+ version:
25
+ - !ruby/object:Gem::Dependency
26
+ name: nokogiri
27
+ type: :runtime
28
+ version_requirement:
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: "0"
34
+ version:
35
+ - !ruby/object:Gem::Dependency
36
+ name: activesupport
37
+ type: :runtime
38
+ version_requirement:
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ version: "0"
44
+ version:
45
+ - !ruby/object:Gem::Dependency
46
+ name: shoulda
47
+ type: :development
48
+ version_requirement:
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: "0"
54
+ version:
55
+ description: APIs for Google Apps (currently Provisioning, Calendar, Calendar Resources)
56
+ email: tastyhat@jamesstuart.org
57
+ executables: []
58
+
59
+ extensions: []
60
+
61
+ extra_rdoc_files:
62
+ - LICENSE
63
+ - README.rdoc
64
+ files:
65
+ - .document
66
+ - .gitignore
67
+ - LICENSE
68
+ - README.rdoc
69
+ - Rakefile
70
+ - VERSION
71
+ - google_apps_api.gemspec
72
+ - lib/config/calendar.yml
73
+ - lib/config/provisioning.yml
74
+ - lib/google_apps_api.rb
75
+ - lib/google_apps_api/base_api.rb
76
+ - lib/google_apps_api/calendar.rb
77
+ - lib/google_apps_api/calendar_resources.rb
78
+ - lib/google_apps_api/contacts.rb
79
+ - lib/google_apps_api/exceptions.rb
80
+ - lib/google_apps_api/provisioning.rb
81
+ - lib/google_apps_api/user_profiles.rb
82
+ - lib/load_config.rb
83
+ - private/gapps-config.yml
84
+ - private/userscalendars.xml
85
+ - test/google_apps_api-calendar_resources_test.rb
86
+ - test/google_apps_api_calendar_test.rb
87
+ - test/google_apps_api_contacts_test.rb
88
+ - test/google_apps_api_provisioning_test.rb
89
+ - test/google_apps_api_user_profiles_test.rb
90
+ - test/helper.rb
91
+ - test/test_helper.rb
92
+ has_rdoc: true
93
+ homepage: http://github.com/tastyhat/google_apps_api
94
+ licenses: []
95
+
96
+ post_install_message:
97
+ rdoc_options:
98
+ - --charset=UTF-8
99
+ require_paths:
100
+ - lib
101
+ required_ruby_version: !ruby/object:Gem::Requirement
102
+ requirements:
103
+ - - ">="
104
+ - !ruby/object:Gem::Version
105
+ version: "0"
106
+ version:
107
+ required_rubygems_version: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - ">="
110
+ - !ruby/object:Gem::Version
111
+ version: "0"
112
+ version:
113
+ requirements: []
114
+
115
+ rubyforge_project:
116
+ rubygems_version: 1.3.5
117
+ signing_key:
118
+ specification_version: 3
119
+ summary: Various APIs for Google Apps
120
+ test_files:
121
+ - test/google_apps_api-calendar_resources_test.rb
122
+ - test/google_apps_api_calendar_test.rb
123
+ - test/google_apps_api_contacts_test.rb
124
+ - test/google_apps_api_provisioning_test.rb
125
+ - test/google_apps_api_user_profiles_test.rb
126
+ - test/helper.rb
127
+ - test/test_helper.rb