diff --git a/Gemfile b/Gemfile index f246c137e0991c52d975f18e231adf92fbbac95d..c44664602a787b036910fc1f4467bd5873a3c614 100644 --- a/Gemfile +++ b/Gemfile @@ -6,10 +6,11 @@ ruby '1.9.3' if ENV['HEROKU'] gem 'rails', '3.2.2' gem 'foreman', '0.41' -gem 'whenever' + +gem 'whenever' #why is this in the bundle gem 'rails_autolink' -gem 'thin', '~> 1.3.1', :require => false +gem 'thin', '~> 1.3.1', :require => false #why is this here? # cross-origin resource sharing @@ -18,8 +19,7 @@ gem 'rack-cors', '~> 0.2.4', :require => 'rack/cors' # authentication gem 'devise', '1.5.3' -gem 'jwt' -gem 'oauth2-provider', '0.0.19' + gem 'remotipart', '~> 1.0' gem 'omniauth', '1.0.3' @@ -90,6 +90,7 @@ gem 'resque', '1.20.0' gem 'resque-timeout', '1.0.0' gem 'SystemTimer', '1.2.3', :platforms => :ruby_18 +gem 'rest-client' #why, need to switch to faraday # tags gem 'acts-as-taggable-on', '~> 2.2.2' @@ -148,11 +149,9 @@ group :test do gem 'database_cleaner', '0.7.1' gem 'timecop' - #"0.1.0", #:path => '~/workspace/diaspora-client' gem 'factory_girl_rails', '1.7.0' gem 'fixture_builder', '0.3.3' gem 'fuubar', '>= 1.0' - gem 'mongrel', :require => false, :platforms => :ruby_18 gem 'rspec', '>= 2.0.0' gem 'rspec-core', '~> 2.9.0' gem 'rspec-instafail', '>= 0.1.7', :require => false @@ -167,6 +166,9 @@ group :test do gem 'guard-rspec' gem 'guard-spork' gem 'guard-cucumber' + + + gem 'mongrel', :require => false, :platforms => :ruby_18 #why end group :test, :development do diff --git a/Gemfile.lock b/Gemfile.lock index bed0355c61d7e789b56a637e8bb15d3d9163bd85..e6e945feb6d0b4dbd50e8e1f636fbc0c01ab1387 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -13,20 +13,6 @@ GIT specs: settingslogic (2.0.8) -GIT - remote: git://github.com/diaspora/diaspora-client.git - revision: 86bd398a60320e06d9b8f9c865955dfe2df851db - specs: - diaspora-client (0.1.3.1) - activerecord - em-http-request - em-synchrony - faraday - jwt (>= 0.1.3) - oauth2 (= 0.5.0) - rack-fiber_pool - sinatra - GIT remote: git://github.com/pivotal/jasmine-gem.git revision: 1e075fbf5a69812fcc914c453f002ecf5bed38ab @@ -120,7 +106,6 @@ GEM execjs coffee-script-source (1.3.2) columnize (0.3.6) - cookiejar (0.3.0) crack (0.3.1) cucumber (1.2.0) builder (>= 2.1.2) @@ -145,16 +130,6 @@ GEM orm_adapter (~> 0.0.3) warden (~> 1.1) diff-lcs (1.1.3) - em-http-request (1.0.2) - addressable (>= 2.2.3) - cookiejar - em-socksify - eventmachine (>= 1.0.0.beta.4) - http_parser.rb (>= 0.5.3) - em-socksify (0.2.0) - eventmachine (>= 1.0.0.beta.4) - em-synchrony (1.0.0) - eventmachine (>= 1.0.0.beta.1) erubis (2.7.0) eventmachine (1.0.0.beta.4) excon (0.13.4) @@ -236,7 +211,6 @@ GEM hodel_3000_compliant_logger (0.1.0) hpricot (0.8.6) http_accept_language (1.0.2) - http_parser.rb (0.5.3) i18n (0.6.0) i18n-inflector (2.6.6) i18n (>= 0.4.1) @@ -253,8 +227,6 @@ GEM jquery-rails railties (>= 3.1.0) json (1.7.3) - jwt (0.1.4) - json (>= 1.2.4) kaminari (0.13.0) actionpack (>= 3.0.0) activesupport (>= 3.0.0) @@ -301,9 +273,6 @@ GEM oauth2 (0.5.0) faraday (>= 0.6.1, < 0.8) multi_json (~> 1.0.0) - oauth2-provider (0.0.19) - activesupport (~> 3.0) - addressable (~> 2.2) oink (0.9.3) activerecord hodel_3000_compliant_logger @@ -333,7 +302,6 @@ GEM rack (>= 0.4) rack-cors (0.2.6) rack - rack-fiber_pool (0.9.2) rack-mobile-detect (0.3.0) rack rack-piwik (0.1.2) @@ -510,8 +478,6 @@ DEPENDENCIES database_cleaner (= 0.7.1) debugger devise (= 1.5.3) - diaspora-client! - em-synchrony (= 1.0.0) factory_girl_rails (= 1.7.0) faraday faraday_middleware @@ -534,7 +500,6 @@ DEPENDENCIES jasmine! jquery-rails json - jwt linecache (= 0.46) markerb (~> 1.0.0) messagebus_ruby_api (= 1.0.3) @@ -545,7 +510,6 @@ DEPENDENCIES mysql2 (= 0.3.11) newrelic_rpm nokogiri (= 1.5.2) - oauth2-provider (= 0.0.19) oink omniauth (= 1.0.3) omniauth-facebook @@ -565,7 +529,7 @@ DEPENDENCIES remotipart (~> 1.0) resque (= 1.20.0) resque-timeout (= 1.0.0) - rest-client (= 1.6.7) + rest-client roxml! rpm_contrib (~> 2.1.7) rspec (>= 2.0.0) diff --git a/app/helpers/getting_started_helper.rb b/app/helpers/getting_started_helper.rb index 195c2465391123b18f5a5accf4001b2135ed5161..1be8d1419f9e908b1b8f2962bf6f82af10fad222 100644 --- a/app/helpers/getting_started_helper.rb +++ b/app/helpers/getting_started_helper.rb @@ -3,11 +3,6 @@ # the COPYRIGHT file. module GettingStartedHelper - # @return [Boolean] The user has connected to cubbi.es - def has_connected_cubbies? - current_user.authorizations.size > 0 - end - # @return [Boolean] The user has completed all steps in getting started def has_completed_getting_started? current_user.getting_started == false diff --git a/app/models/account_deleter.rb b/app/models/account_deleter.rb index c3565994d88a34e76c649570a417a6311070bf7e..ea92d6331eb3445a8378d30b16fab06a4839bbb4 100644 --- a/app/models/account_deleter.rb +++ b/app/models/account_deleter.rb @@ -42,7 +42,7 @@ class AccountDeleter #user deletions def normal_ar_user_associates_to_delete - [:tag_followings, :authorizations, :invitations_to_me, :services, :aspects, :user_preferences, :notifications, :blocks] + [:tag_followings, :invitations_to_me, :services, :aspects, :user_preferences, :notifications, :blocks] end def special_ar_user_associations @@ -50,7 +50,7 @@ class AccountDeleter end def ignored_ar_user_associations - [:followed_tags, :invited_by, :contact_people, :applications, :aspect_memberships, :ignored_people] + [:followed_tags, :invited_by, :contact_people, :aspect_memberships, :ignored_people] end def delete_standard_user_associations diff --git a/app/models/oauth2_provider_models_activerecord_authorization.rb b/app/models/oauth2_provider_models_activerecord_authorization.rb deleted file mode 100644 index cb956967e2831ce0820e050a78e32df1017454d3..0000000000000000000000000000000000000000 --- a/app/models/oauth2_provider_models_activerecord_authorization.rb +++ /dev/null @@ -1,4 +0,0 @@ -class OAuth2::Provider::Models::ActiveRecord::Authorization - validates_presence_of :resource_owner_id, :resource_owner_type - validates_uniqueness_of :client_id, :scope => :resource_owner_id -end diff --git a/app/models/oauth2_provider_models_activerecord_client.rb b/app/models/oauth2_provider_models_activerecord_client.rb deleted file mode 100644 index 5e92538847b4b2829439158231173d6e24d8e365..0000000000000000000000000000000000000000 --- a/app/models/oauth2_provider_models_activerecord_client.rb +++ /dev/null @@ -1,12 +0,0 @@ -class OAuth2::Provider::Models::ActiveRecord::Client - def self.find_or_create_from_manifest!(manifest, pub_key) - find_by_name(manifest['name']) || self.create!( - :name => manifest["name"], - :permissions_overview => manifest["permissions_overview"], - :description => manifest["description"], - :application_base_url => manifest["application_base_url"], - :icon_url => manifest["icon_url"], - :public_key => pub_key.export - ) - end -end diff --git a/app/models/user.rb b/app/models/user.rb index 33146a2187adac068208c1b14e67902569777b09..1a73170693cafd1de07470d78d2bca8ccd3d8ffd 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -59,8 +59,6 @@ class User < ActiveRecord::Base has_many :notifications, :foreign_key => :recipient_id - has_many :authorizations, :class_name => 'OAuth2::Provider::Models::ActiveRecord::Authorization', :foreign_key => :resource_owner_id - has_many :applications, :through => :authorizations, :source => :client before_save :guard_unconfirmed_email, :save_person! diff --git a/app/views/apps/show.html.haml b/app/views/apps/show.html.haml deleted file mode 100644 index 7a8fa4b7240e0be2c9a88ad8f0f4c90c41b8cb76..0000000000000000000000000000000000000000 --- a/app/views/apps/show.html.haml +++ /dev/null @@ -1,31 +0,0 @@ --# Copyright (c) 2010-2011, Diaspora Inc. This file is --# licensed under the Affero General Public License version 3 or later. See --# the COPYRIGHT file. - -- content_for :page_title do - = "everything happening from #{@app}" - -- content_for :head do - = javascript_include_tag :home - -- content_for :body_class do - = "apps_show" - -- content_for :break_the_mold do - = "width:100%;" - -%h1 - = "#{@app}" - -#main_stream.stream.canvas - - if @posts.length > 0 - - for post in @posts - .image-element.stream_element - .hold-me - = link_to(image_tag(post.image_url), post_path(post)) - .via - = post.author.name - .time{:integer => post.created_at.to_i} - #pagination - =link_to(t('more'), next_page_path, :class => 'paginate') - diff --git a/app/views/authorizations/index.html.haml b/app/views/authorizations/index.html.haml deleted file mode 100644 index 483e32eaa3739c683f0d253bc816191ae3030095..0000000000000000000000000000000000000000 --- a/app/views/authorizations/index.html.haml +++ /dev/null @@ -1,27 +0,0 @@ --# Copyright (c) 2010-2011, Diaspora Inc. This file is --# licensed under the Affero General Public License version 3 or later. See --# the COPYRIGHT file. - -#section_header - %h2 - = t('settings') - = render 'shared/settings_nav' - -.span-19.prepend-5.last - #applications_stream.stream - -if @applications.any? - - @applications.each do |app| - .stream_element{:id => app.id} - - .float-right - = link_to t('.revoke_access'), authorization_path(:id => app.id), :method => :delete, :confirm => 'are you sure?', :class => "button" - .media - - if app.icon_url - .img - = image_tag(app.application_base_url + app.icon_url, :class => "avatar") - .bd - %div.from - = link_to app.name, app.application_base_url - = app.description - - else - = t('.no_applications') diff --git a/app/views/authorizations/index.mobile.haml b/app/views/authorizations/index.mobile.haml deleted file mode 100644 index 9cb9bdfd385881d966e3b8ba471d6272522c1965..0000000000000000000000000000000000000000 --- a/app/views/authorizations/index.mobile.haml +++ /dev/null @@ -1,24 +0,0 @@ --# Copyright (c) 2010-2011, Diaspora Inc. This file is --# licensed under the Affero General Public License version 3 or later. See --# the COPYRIGHT file. - -%h3 - = t('_applications') -#applications_stream.stream - - if @applications.count > 0 - - for app in @applications - .stream_element{:id => app.id} - .right - = link_to t('.revoke_access'), authorization_path(:id => app.id), :method => :delete, :confirm => 'are you sure?', :class => "button" - - - if app.icon_url - = image_tag(app.application_base_url + app.icon_url, :class => "avatar") - - .content - %div.from - = link_to app.name, app.application_base_url - = app.description - - - else - = t('.no_applications') -%br diff --git a/app/views/authorizations/new.html.haml b/app/views/authorizations/new.html.haml deleted file mode 100644 index d32759e14fd4d07208a350aa441131c00e12ae44..0000000000000000000000000000000000000000 --- a/app/views/authorizations/new.html.haml +++ /dev/null @@ -1,42 +0,0 @@ -#authorize - #application-description - = image_tag(@client.application_base_url + @client.icon_url, :id => 'client-application-image') - %br - %strong - = @client.name - .description - = @client.description - - %h2 - = @client.permissions_overview - - %ul#requested-scopes - - @requested_scopes.each do |scope| - - if scope == "profile" - %li - .scope-photo - = owner_image_tag - - .scope-description - %strong - Basic Info - %br - Cubbies will be able to see your name, profile photo, and other basic profile information. - - - elsif scope == "AS_photo:post" - %li - .scope-photo - = image_tag('/assets/icons/photo.png', :title => t('.cubbies_will')) - - .scope-description - %strong - Your Photos - %br - Cubbies will be able to post photos on your behalf - - = form_for :authorization, - :url => oauth_authorize_path(params.slice(:redirect_uri, :client_id, :client_secret)) do |form| - %br - %p - = form.submit "Fuck Yeah!", :value => t('.authorize'), :class => 'button', :name => "confirm" - = form.submit "Hell No.", :value => t('.nope'), :class => 'button', :name => "cancel" diff --git a/app/views/shared/_settings_nav.haml b/app/views/shared/_settings_nav.haml index fcde8f046df71ffaab392ccd157e2ca72752b89c..d08f59d37f5debcfe11b2aa41cccd6cb2086a7c3 100644 --- a/app/views/shared/_settings_nav.haml +++ b/app/views/shared/_settings_nav.haml @@ -3,4 +3,3 @@ %li= link_to_unless_current t('account'), edit_user_path %li= link_to_unless_current t('privacy'), privacy_settings_path %li= link_to_unless_current t('_services'), services_path - %li= link_to_unless_current t('_applications'), authorizations_path diff --git a/app/views/tokens/show.html.haml b/app/views/tokens/show.html.haml deleted file mode 100644 index 6d54dd18c41c51ecddff5d09b3cd151ad1e71e2d..0000000000000000000000000000000000000000 --- a/app/views/tokens/show.html.haml +++ /dev/null @@ -1,42 +0,0 @@ -- content_for :page_title do - = t('.connect_to_cubbies') - -.span-24.last{:style => "position:relative;"} - .right{:style => 'z-index:10;'} - = link_to t('.sign_up_today'), 'http://cubbi.es', :class => "button sign_up" - %h1 - = t('.connect_to_cubbies') -%h3 - = t('.what_is_cubbies') - %br - = t('.love_to_try') - -%hr - -.cubbies_infographic.span-24{:style => "text-align:left;position:relative;"} - = image_tag 'cubbies_screenshot2.png', :height => 452, :width => 600, :class => "cubbies_screenshot" - = image_tag 'cubbies_collage.png', :class => "cubbies_collage" - -.span-24.last{:style => "text-align:right;"} - %p.subtle - != t('.screenshot_explanation', :link1 => link_to(t('.typical_userpage'), "http://cubbi.es/daniel"), :link2 => link_to(t('.daniels_account'), "https://joindiaspora.com/u/daniel")) - %br -%hr - -%br -.span-24.last - %h2 - = t('.making_the_connection') - %br - -.span-24.last - .span-10 - = image_tag 'connect_services.png', :class => "cubbies-settings-image" - %div.subtle - != t('.via', :link => link_to('http://cubbi.es/users/edit', 'http://cubbi.es/users/edit')) - - - .span-12.last - %h3 - != t('.connecting_is_simple', :diaspora_id => current_user.diaspora_handle, :href_link => 'http://cubbi.es/users/edit') - diff --git a/db/migrate/20120517014034_remove_oauth.rb b/db/migrate/20120517014034_remove_oauth.rb new file mode 100644 index 0000000000000000000000000000000000000000..876d92fb559d23df806157b7f4475716a9e9eb50 --- /dev/null +++ b/db/migrate/20120517014034_remove_oauth.rb @@ -0,0 +1,57 @@ +class RemoveOauth < ActiveRecord::Migration + def up + drop_table 'oauth_access_tokens' + drop_table "oauth_authorization_codes" + drop_table "oauth_authorizations" + drop_table "oauth_clients" + + end + + def down + create_table "oauth_access_tokens", :force => true do |t| + t.integer "authorization_id", :null => false + t.string "access_token", :limit => 127, :null => false + t.string "refresh_token", :limit => 127 + t.datetime "expires_at" + t.datetime "created_at" + t.datetime "updated_at" + end + + create_table "oauth_authorization_codes", :force => true do |t| + t.integer "authorization_id", :null => false + t.string "code", :limit => 127, :null => false + t.datetime "expires_at" + t.datetime "created_at" + t.datetime "updated_at" + t.string "redirect_uri" + end + + create_table "oauth_authorizations", :force => true do |t| + t.integer "client_id", :null => false + t.integer "resource_owner_id" + t.string "resource_owner_type", :limit => 32 + t.string "scope" + t.datetime "expires_at" + end + + add_index "oauth_authorizations", ["resource_owner_id", "resource_owner_type", "client_id"], :name => "index_oauth_authorizations_on_resource_owner_and_client_id", :unique => true + + create_table "oauth_clients", :force => true do |t| + t.string "name", :limit => 127, :null => false + t.text "description", :null => false + t.string "application_base_url", :limit => 127, :null => false + t.string "icon_url", :limit => 127, :null => false + t.string "oauth_identifier", :limit => 127, :null => false + t.string "oauth_secret", :limit => 127, :null => false + t.string "nonce", :limit => 127 + t.text "public_key", :null => false + t.text "permissions_overview", :null => false + t.string "oauth_redirect_uri" + end + + add_index "oauth_clients", ["application_base_url"], :name => "index_oauth_clients_on_application_base_url", :unique => true + add_index "oauth_clients", ["name"], :name => "index_oauth_clients_on_name", :unique => true + add_index "oauth_clients", ["nonce"], :name => "index_oauth_clients_on_nonce", :unique => true + + end +end diff --git a/db/schema.rb b/db/schema.rb index 1e01514d6949523439b87bf2ae783e00364e8e9d..05486ea15169219f9e1bbcfb3e16510d01c13cb5 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,7 +11,7 @@ # # It's strongly recommended to check this file into your version control system. -ActiveRecord::Schema.define(:version => 20120510184853) do +ActiveRecord::Schema.define(:version => 20120517014034) do create_table "account_deletions", :force => true do |t| t.string "diaspora_handle" @@ -21,8 +21,8 @@ ActiveRecord::Schema.define(:version => 20120510184853) do create_table "aspect_memberships", :force => true do |t| t.integer "aspect_id", :null => false t.integer "contact_id", :null => false - t.datetime "created_at" - t.datetime "updated_at" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false end add_index "aspect_memberships", ["aspect_id", "contact_id"], :name => "index_aspect_memberships_on_aspect_id_and_contact_id", :unique => true @@ -32,8 +32,8 @@ ActiveRecord::Schema.define(:version => 20120510184853) do create_table "aspect_visibilities", :force => true do |t| t.integer "shareable_id", :null => false t.integer "aspect_id", :null => false - t.datetime "created_at" - t.datetime "updated_at" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false t.string "shareable_type", :default => "Post", :null => false end @@ -44,8 +44,8 @@ ActiveRecord::Schema.define(:version => 20120510184853) do create_table "aspects", :force => true do |t| t.string "name", :null => false t.integer "user_id", :null => false - t.datetime "created_at" - t.datetime "updated_at" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false t.boolean "contacts_visible", :default => true, :null => false t.integer "order_id" end @@ -65,8 +65,8 @@ ActiveRecord::Schema.define(:version => 20120510184853) do t.string "guid", :null => false t.text "author_signature" t.text "parent_author_signature" - t.datetime "created_at" - t.datetime "updated_at" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false t.integer "likes_count", :default => 0, :null => false t.string "commentable_type", :limit => 60, :default => "Post", :null => false end @@ -78,8 +78,8 @@ ActiveRecord::Schema.define(:version => 20120510184853) do create_table "contacts", :force => true do |t| t.integer "user_id", :null => false t.integer "person_id", :null => false - t.datetime "created_at" - t.datetime "updated_at" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false t.boolean "sharing", :default => false, :null => false t.boolean "receiving", :default => false, :null => false end @@ -91,8 +91,8 @@ ActiveRecord::Schema.define(:version => 20120510184853) do t.integer "conversation_id", :null => false t.integer "person_id", :null => false t.integer "unread", :default => 0, :null => false - t.datetime "created_at" - t.datetime "updated_at" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false end add_index "conversation_visibilities", ["conversation_id", "person_id"], :name => "index_conversation_visibilities_usefully", :unique => true @@ -103,18 +103,16 @@ ActiveRecord::Schema.define(:version => 20120510184853) do t.string "subject" t.string "guid", :null => false t.integer "author_id", :null => false - t.datetime "created_at" - t.datetime "updated_at" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false end - add_index "conversations", ["author_id"], :name => "conversations_author_id_fk" - create_table "invitation_codes", :force => true do |t| t.string "token" t.integer "user_id" t.integer "count" - t.datetime "created_at" - t.datetime "updated_at" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false end create_table "invitations", :force => true do |t| @@ -122,8 +120,8 @@ ActiveRecord::Schema.define(:version => 20120510184853) do t.integer "sender_id" t.integer "recipient_id" t.integer "aspect_id" - t.datetime "created_at" - t.datetime "updated_at" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false t.string "service" t.string "identifier" t.boolean "admin", :default => false @@ -141,12 +139,11 @@ ActiveRecord::Schema.define(:version => 20120510184853) do t.string "guid" t.text "author_signature" t.text "parent_author_signature" - t.datetime "created_at" - t.datetime "updated_at" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false t.string "target_type", :limit => 60, :null => false end - add_index "likes", ["author_id"], :name => "likes_author_id_fk" add_index "likes", ["guid"], :name => "index_likes_on_guid", :unique => true add_index "likes", ["target_id", "author_id", "target_type"], :name => "index_likes_on_target_id_and_author_id_and_target_type", :unique => true add_index "likes", ["target_id"], :name => "index_likes_on_post_id" @@ -165,20 +162,19 @@ ActiveRecord::Schema.define(:version => 20120510184853) do t.integer "author_id", :null => false t.string "guid", :null => false t.text "text", :null => false - t.datetime "created_at" - t.datetime "updated_at" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false t.text "author_signature" t.text "parent_author_signature" end add_index "messages", ["author_id"], :name => "index_messages_on_author_id" - add_index "messages", ["conversation_id"], :name => "messages_conversation_id_fk" create_table "notification_actors", :force => true do |t| t.integer "notification_id" t.integer "person_id" - t.datetime "created_at" - t.datetime "updated_at" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false end add_index "notification_actors", ["notification_id", "person_id"], :name => "index_notification_actors_on_notification_id_and_person_id", :unique => true @@ -190,8 +186,8 @@ ActiveRecord::Schema.define(:version => 20120510184853) do t.integer "target_id" t.integer "recipient_id", :null => false t.boolean "unread", :default => true, :null => false - t.datetime "created_at" - t.datetime "updated_at" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false t.string "type" end @@ -204,52 +200,7 @@ ActiveRecord::Schema.define(:version => 20120510184853) do t.text "data", :null => false end - add_index "o_embed_caches", ["url"], :name => "index_o_embed_caches_on_url", :length => {"url"=>255} - - create_table "oauth_access_tokens", :force => true do |t| - t.integer "authorization_id", :null => false - t.string "access_token", :limit => 127, :null => false - t.string "refresh_token", :limit => 127 - t.datetime "expires_at" - t.datetime "created_at" - t.datetime "updated_at" - end - - create_table "oauth_authorization_codes", :force => true do |t| - t.integer "authorization_id", :null => false - t.string "code", :limit => 127, :null => false - t.datetime "expires_at" - t.datetime "created_at" - t.datetime "updated_at" - t.string "redirect_uri" - end - - create_table "oauth_authorizations", :force => true do |t| - t.integer "client_id", :null => false - t.integer "resource_owner_id" - t.string "resource_owner_type", :limit => 32 - t.string "scope" - t.datetime "expires_at" - end - - add_index "oauth_authorizations", ["resource_owner_id", "resource_owner_type", "client_id"], :name => "index_oauth_authorizations_on_resource_owner_and_client_id", :unique => true - - create_table "oauth_clients", :force => true do |t| - t.string "name", :limit => 127, :null => false - t.text "description", :null => false - t.string "application_base_url", :limit => 127, :null => false - t.string "icon_url", :limit => 127, :null => false - t.string "oauth_identifier", :limit => 127, :null => false - t.string "oauth_secret", :limit => 127, :null => false - t.string "nonce", :limit => 127 - t.text "public_key", :null => false - t.text "permissions_overview", :null => false - t.string "oauth_redirect_uri" - end - - add_index "oauth_clients", ["application_base_url"], :name => "index_oauth_clients_on_application_base_url", :unique => true - add_index "oauth_clients", ["name"], :name => "index_oauth_clients_on_name", :unique => true - add_index "oauth_clients", ["nonce"], :name => "index_oauth_clients_on_nonce", :unique => true + add_index "o_embed_caches", ["url"], :name => "index_o_embed_caches_on_url" create_table "participations", :force => true do |t| t.string "guid" @@ -258,8 +209,8 @@ ActiveRecord::Schema.define(:version => 20120510184853) do t.integer "author_id" t.text "author_signature" t.text "parent_author_signature" - t.datetime "created_at" - t.datetime "updated_at" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false end add_index "participations", ["guid"], :name => "index_participations_on_guid" @@ -271,8 +222,8 @@ ActiveRecord::Schema.define(:version => 20120510184853) do t.string "diaspora_handle", :null => false t.text "serialized_public_key", :null => false t.integer "owner_id" - t.datetime "created_at" - t.datetime "updated_at" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false t.boolean "closed_account", :default => false end @@ -306,8 +257,8 @@ ActiveRecord::Schema.define(:version => 20120510184853) do create_table "pods", :force => true do |t| t.string "host" t.boolean "ssl" - t.datetime "created_at" - t.datetime "updated_at" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false end create_table "posts", :force => true do |t| @@ -322,8 +273,8 @@ ActiveRecord::Schema.define(:version => 20120510184853) do t.string "remote_photo_name" t.string "random_string" t.string "processed_image" - t.datetime "created_at" - t.datetime "updated_at" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false t.string "unprocessed_image" t.string "object_url" t.string "image_url" @@ -364,8 +315,8 @@ ActiveRecord::Schema.define(:version => 20120510184853) do t.text "bio" t.boolean "searchable", :default => true, :null => false t.integer "person_id", :null => false - t.datetime "created_at" - t.datetime "updated_at" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false t.string "location" t.string "full_name", :limit => 70 t.boolean "nsfw", :default => false @@ -383,8 +334,8 @@ ActiveRecord::Schema.define(:version => 20120510184853) do t.string "table" t.integer "month", :limit => 2 t.integer "year", :limit => 8 - t.datetime "created_at" - t.datetime "updated_at" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false end add_index "rails_admin_histories", ["item", "table", "month", "year"], :name => "index_rails_admin_histories" @@ -392,8 +343,8 @@ ActiveRecord::Schema.define(:version => 20120510184853) do create_table "roles", :force => true do |t| t.integer "person_id" t.string "name" - t.datetime "created_at" - t.datetime "updated_at" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false end create_table "services", :force => true do |t| @@ -403,8 +354,8 @@ ActiveRecord::Schema.define(:version => 20120510184853) do t.string "access_token" t.string "access_secret" t.string "nickname" - t.datetime "created_at" - t.datetime "updated_at" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false end add_index "services", ["type", "uid"], :name => "index_services_on_type_and_uid" @@ -412,8 +363,8 @@ ActiveRecord::Schema.define(:version => 20120510184853) do create_table "share_visibilities", :force => true do |t| t.integer "shareable_id", :null => false - t.datetime "created_at" - t.datetime "updated_at" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false t.boolean "hidden", :default => false, :null => false t.integer "contact_id", :null => false t.string "shareable_type", :limit => 60, :default => "Post", :null => false @@ -427,8 +378,8 @@ ActiveRecord::Schema.define(:version => 20120510184853) do create_table "tag_followings", :force => true do |t| t.integer "tag_id", :null => false t.integer "user_id", :null => false - t.datetime "created_at" - t.datetime "updated_at" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false end add_index "tag_followings", ["tag_id", "user_id"], :name => "index_tag_followings_on_tag_id_and_user_id", :unique => true @@ -459,8 +410,8 @@ ActiveRecord::Schema.define(:version => 20120510184853) do create_table "user_preferences", :force => true do |t| t.string "email_type" t.integer "user_id" - t.datetime "created_at" - t.datetime "updated_at" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false end create_table "users", :force => true do |t| @@ -481,8 +432,8 @@ ActiveRecord::Schema.define(:version => 20120510184853) do t.datetime "last_sign_in_at" t.string "current_sign_in_ip" t.string "last_sign_in_ip" - t.datetime "created_at" - t.datetime "updated_at" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false t.string "invitation_service", :limit => 127 t.string "invitation_identifier", :limit => 127 t.integer "invitation_limit" diff --git a/features/oauth.feature b/features/oauth.feature deleted file mode 100644 index 07f4b20a8f0959b8e93d0c205f27a3648bc7ce02..0000000000000000000000000000000000000000 --- a/features/oauth.feature +++ /dev/null @@ -1,120 +0,0 @@ -@wip @javascript @oauth-group -Feature: oauth - Exchanging oauth credentials - - Background: - Given Chubbies has been killed - And Chubbies is running - And I visit "/reset" on Chubbies - And a user with username "bob" and password "secret" - - Scenario: Authorize Chubbies - When I try to authorize Chubbies - - When I press "Authorize" - Then I should be on "/account" on Chubbies - And I should see my "profile.birthday" - And I should see my "name" - - Scenario: Signup+login (Diaspora Connect) with Chubbies - When I visit "/reset" on Chubbies - And I should have 0 user on Chubbies - And I try to authorize Chubbies - And I press "Authorize" - Then I should be on "/account" on Chubbies - - And I should have 1 user on Chubbies - - Scenario: Signing up as a user while someone else is logged into Diaspora - When I change the app_host to Diaspora - Given a user with username "alice" - When I sign in as "alice@alice.alice" - Then I visit "/new" on Chubbies - And I fill in "Diaspora ID" with "bob@localhost:9887" - And I press "Connect to Diaspora" - Then I should be on the new user session page - And the "Username" field within "#user_new" should contain "bob" - - Scenario: Not authorize Chubbies - When I try to authorize Chubbies - - When I press "No" - Then I should be on "/account" on Chubbies - And I should have 0 user on Chubbies - - Scenario: Authorize Chubbies when Chubbies is already connected - Given Chubbies is registered on my pod - When I try to authorize Chubbies - And there is only one Chubbies - - When I press "Authorize" - Then I should be on "/account" on Chubbies - And I should see my "profile.birthday" - And I should see my "name" - - Scenario: Authorize Chubbies when the pod knows about Chubbies - Given Chubbies is registered on my pod - When I try to authorize Chubbies - And I visit "/reset" on Chubbies - And I change the app_host to Diaspora - And I go to the destroy user session page - - When I try to authorize Chubbies - And there is only one Chubbies - - When I press "Authorize" - Then I should be on "/account" on Chubbies - And I should see my "profile.birthday" - And I should see my "name" - - Scenario: Authorize Chubbies should place it on the authorized applications page - When I try to authorize Chubbies - - When I press "Authorize" - - And I change the app_host to Diaspora - And I am on the authorizations page - Then I should see "Chubbies" - And I should see "The best way to chub." - - Scenario: Removing Chubbies from the authorized applications list de-authorizes it - When I try to authorize Chubbies - - When I press "Authorize" - - And I change the app_host to Diaspora - And I am on the authorizations page - And I preemptively confirm the alert - And I follow "Revoke Access" - Then I visit "/account?id=1" on Chubbies - Then I should see "Token invalid" - - Scenario: Re-registering a client if the client recognizes the diaspora pod but the diaspora pod has since been reset - Given Chubbies is registered on my pod - And I remove all traces of Chubbies on the pod - - When I try to authorize Chubbies - - When I press "Authorize" - Then I should be on "/account" on Chubbies - And I should see my "profile.birthday" - And I should see my "name" - - Scenario: Login in with Chubbies when you already authorized it - Given Chubbies is registered on my pod - And I should have 0 user on Chubbies - - When I try to authorize Chubbies - When I press "Authorize" - Then I should be on "/account" on Chubbies - - And I should have 1 user on Chubbies - Then I visit "/new" on Chubbies - And I fill in my Diaspora ID to connect - And I press "Connect to Diaspora" - - Then I should be on "/account" on Chubbies - And I should have 1 user on Chubbies - When I change the app_host to Diaspora - - diff --git a/features/step_definitions/oauth_steps.rb b/features/step_definitions/oauth_steps.rb deleted file mode 100644 index 8d367cf2cb9f767a1d78f712240e032b34f78bda..0000000000000000000000000000000000000000 --- a/features/step_definitions/oauth_steps.rb +++ /dev/null @@ -1,119 +0,0 @@ -Given /^Chubbies is running$/ do - Chubbies.run unless Chubbies.running? -end - -Given /^Chubbies has been killed$/ do - Chubbies.kill -end - -Given /^Chubbies is registered on my pod$/ do - packaged_manifest = JSON.parse(RestClient.get("localhost:#{Chubbies::PORT}/manifest.json").body) - public_key = OpenSSL::PKey::RSA.new(packaged_manifest['public_key']) - manifest = JWT.decode(packaged_manifest['jwt'], public_key) - - client = OAuth2::Provider.client_class.find_or_create_from_manifest!(manifest, public_key) - params = {:client_id => client.oauth_identifier, - :client_secret => client.oauth_secret, - :host => "localhost:9887"} - RestClient.post("localhost:#{Chubbies::PORT}/register", params) -end - -And /^I should see my "([^"]+)"/ do |code| - page.should have_content(@me.person.instance_eval(code).to_s) -end - -And /^there is only one Chubbies$/ do - OAuth2::Provider.client_class.where(:name => "Chubbies").count.should == 1 -end - -And /^I remove all traces of Chubbies on the pod$/ do - OAuth2::Provider.client_class.destroy_all -end - -When /^I try to authorize Chubbies$/ do - # We need to reset the tokens saved in Chubbies, - # as we are clearing the Diaspora DB every scenario - step 'I visit "/new" on Chubbies' - ### - step "I fill in my Diaspora ID to connect" - step 'I press "Connect to Diaspora"' - step 'I should be on the new user session page' - step "I fill in \"Username\" with \"#{@me.username}\"" - step "I fill in \"Password\" with \"#{@me.password}\"" - step 'I press "Sign in"' - step 'I should be on the oauth authorize page' - step 'I should see "Chubbies"' - step 'I should see "The best way to chub."' -end - -And /^I fill in my Diaspora ID to connect$/ do - step "I fill in \"Diaspora ID\" with \"#{@me.diaspora_handle}\"" -end - -And /^I should have (\d) user on Chubbies$/ do |num| - step "I visit \"/user_count\" on Chubbies" - step "I should see \"#{num}\"" -end - -When /^I visit "([^"]+)" on Chubbies$/ do |path| - Capybara.app_host = "http://localhost:#{Chubbies::PORT}" - visit(path) -end - -When /^I change the app_host to Diaspora$/ do - Capybara.app_host = "http://localhost:9887" -end - -class Chubbies - PORT = 9292 - - def self.run - @pid = fork do - Process.exec "cd #{Rails.root}/spec/chubbies/ && bundle exec #{run_command} #{nullify}" - end - - at_exit do - Chubbies.kill - end - - while(!running?) do - sleep(1) - end - end - - def self.nullify - "2> /dev/null > /dev/null" - end - - def self.kill - pid = self.get_pid - `kill -9 #{pid}` if pid.present? - end - - def self.running? - begin - begin - RestClient.get("localhost:#{PORT}/running") - rescue RestClient::ResourceNotFound - end - true - rescue Errno::ECONNREFUSED, Errno::ECONNRESET - false - end - end - - def self.run_command - "rackup -p #{PORT}" - end - - def self.get_pid - processes = `ps ax -o pid,command | grep "#{run_command}"`.split("\n") - processes = processes.select{|p| !p.include?("grep") } - if processes.any? - processes.first.split(" ").first - else - nil - end - end -end - diff --git a/spec/controllers/activity_streams/photos_controller_spec.rb b/spec/controllers/activity_streams/photos_controller_spec.rb deleted file mode 100644 index cb33880c99ed89af521fe355235116cd372a5f25..0000000000000000000000000000000000000000 --- a/spec/controllers/activity_streams/photos_controller_spec.rb +++ /dev/null @@ -1,5 +0,0 @@ -require 'spec_helper' - -describe ActivityStreams::PhotosController do -end - diff --git a/spec/controllers/apis_controller_spec.rb b/spec/controllers/apis_controller_spec.rb deleted file mode 100644 index dd988b3756b0e9f5faf22e7e6fc4fbcd11ccd560..0000000000000000000000000000000000000000 --- a/spec/controllers/apis_controller_spec.rb +++ /dev/null @@ -1,8 +0,0 @@ -# Copyright (c) 2010-2011, Diaspora Inc. This file is -# licensed under the Affero General Public License version 3 or later. See -# the COPYRIGHT file. - -require 'spec_helper' - -describe ApisController do -end diff --git a/spec/controllers/apps_controller_spec.rb b/spec/controllers/apps_controller_spec.rb deleted file mode 100644 index ae066c5203e0d61fcebe6e4267de961bec490777..0000000000000000000000000000000000000000 --- a/spec/controllers/apps_controller_spec.rb +++ /dev/null @@ -1,13 +0,0 @@ - -require 'spec_helper' - -describe AppsController do - describe '#show' do - it 'works as long as you pass something as id' do - Factory(:activity_streams_photo) - get :show, :id => 'cubbies' - response.should be_success - end - - end -end diff --git a/spec/controllers/authorizations_controller_spec.rb b/spec/controllers/authorizations_controller_spec.rb deleted file mode 100644 index 65d56b930bae582abcec3134f7135a055bc776ce..0000000000000000000000000000000000000000 --- a/spec/controllers/authorizations_controller_spec.rb +++ /dev/null @@ -1,274 +0,0 @@ -# Copyright (c) 2010-2011, Diaspora Inc. This file is -# licensed under the Affero General Public License version 3 or later. See -# the COPYRIGHT file. - -require 'spec_helper' - -describe AuthorizationsController do - RSA = OpenSSL::PKey::RSA - - before :all do - @private_key = RSA.generate(2048) - @public_key = @private_key.public_key - end - - before do - sign_in :user, alice - @controller.stub(:current_user).and_return(alice) - - @time = Time.now - Time.stub(:now).and_return(@time) - @nonce = 'asdfsfasf' - @signed_string = ["http://chubbi.es/",'http://pod.pod',"#{Time.now.to_i}", @nonce].join(';') - @signature = @private_key.sign(OpenSSL::Digest::SHA256.new, @signed_string) - - @manifest = { - "name" => "Chubbies", - "description" => "The best way to chub.", - "application_base_url" => "http://chubbi.es/", - "icon_url" => "#", - "permissions_overview" => "I will use the permissions this way!", - } - end - - describe '#new' do - before do - @app = Factory(:app, :name => "Authorized App") - @params = { - :scope => "profile", - :redirect_uri => @manifest['application_base_url'] << '/callback', - :client_id => @app.oauth_identifier, - :uid => alice.username - } - end - it 'succeeds' do - get :new, @params - response.should be_success - end - - it 'logs out the signed in user if a different username is passed' do - @params[:uid] = bob.username - get :new, @params - response.location.should include(oauth_authorize_path) - end - - it 'it succeeds if no uid is passed' do - @params[:uid] = nil - get :new, @params - response.should be_success - end - end - - describe '#token' do - before do - packaged_manifest = {:public_key => @public_key.export, :jwt => JWT.encode(@manifest, @private_key, "RS256")}.to_json - - stub_request(:get, "http://chubbi.es/manifest.json"). - to_return(:status => 200, :body => packaged_manifest, :headers => {}) - - @params_hash = {:type => 'client_associate', :signed_string => Base64.encode64(@signed_string), :signature => Base64.encode64(@signature)} - end - - context 'special casing (temporary, read note in the controller)' do - def prepare_manifest(url) - manifest = { - "name" => "Chubbies", - "description" => "The best way to chub.", - "application_base_url" => url, - "icon_url" => "#", - "permissions_overview" => "I will use the permissions this way!", - } - - packaged_manifest = {:public_key => @public_key.export, :jwt => JWT.encode(manifest, @private_key, "RS256")}.to_json - - stub_request(:get, "#{url}manifest.json"). - to_return(:status => 200, :body => packaged_manifest, :headers => {}) - - @signed_string = [url,'http://pod.pod',"#{Time.now.to_i}", @nonce].join(';') - @signature = @private_key.sign(OpenSSL::Digest::SHA256.new, @signed_string) - @params_hash = {:type => 'client_associate', :signed_string => Base64.encode64(@signed_string), :signature => Base64.encode64(@signature)} - end - - it 'renders something for chubbies ' do - prepare_manifest("http://chubbi.es/") - @controller.stub!(:verify).and_return('ok') - post :token, @params_hash - response.code.should == "200" - end - - it 'renders something for cubbies ' do - prepare_manifest("http://cubbi.es/") - @controller.stub!(:verify).and_return('ok') - post :token, @params_hash - response.code.should == "200" - end - - it 'renders something for cubbies ' do - prepare_manifest("https://www.cubbi.es:443/") - @controller.stub!(:verify).and_return('ok') - post :token, @params_hash - response.code.should == "200" - end - - it 'renders something for localhost' do - prepare_manifest("http://localhost:3423/") - @controller.stub!(:verify).and_return('ok') - post :token, @params_hash - response.code.should == "200" - end - - it 'renders nothing for myspace' do - prepare_manifest("http://myspace.com") - @controller.stub!(:verify).and_return('ok') - post :token, @params_hash - response.code.should == "403" - response.body.should include("http://myspace.com") - end - end - - it 'fetches the manifest' do - @controller.stub!(:verify).and_return('ok') - post :token, @params_hash - end - - it 'creates a client application' do - @controller.stub!(:verify).and_return('ok') - lambda { - post :token, @params_hash - }.should change(OAuth2::Provider.client_class, :count).by(1) - end - - it 'does not create a client if verification fails' do - @controller.stub!(:verify).and_return('invalid signature') - lambda { - post :token, @params_hash - }.should_not change(OAuth2::Provider.client_class, :count) - end - - it 'verifies the signable string validity(time,nonce,sig)' do - @controller.should_receive(:verify){|a,b,c,d| - a.should == @signed_string - b.should == @signature - c.export.should == @public_key.export - d.should == @manifest - } - post :token, @params_hash - end - end - - describe "#index" do - it 'succeeds' do - get :index - response.should be_success - end - it 'succeeds on a phone' do - get :index, :format => :mobile - response.should be_success - end - - it 'assigns the auth. & apps for the current user' do - app1 = Factory(:app, :name => "Authorized App") - app2 = Factory(:app, :name => "Unauthorized App") - auth = OAuth2::Provider.authorization_class.create(:client => app1, :resource_owner => alice) - - OAuth2::Provider.authorization_class.create(:client => app1, :resource_owner => bob) - OAuth2::Provider.authorization_class.create(:client => app2, :resource_owner => bob) - - get :index - assigns[:authorizations].should == [auth] - assigns[:applications].should == [app1] - end - end - - describe "#destroy" do - before do - @app1 = Factory(:app) - @auth1 = OAuth2::Provider.authorization_class.create(:client => @app1, :resource_owner => alice) - @auth2 = OAuth2::Provider.authorization_class.create(:client => @app1, :resource_owner => bob) - end - it 'deletes an authorization' do - lambda{ - delete :destroy, :id => @app1.id - }.should change(OAuth2::Provider.authorization_class, :count).by(-1) - end - end - - describe '#verify' do - before do - @controller.stub!(:verify_signature) - @sig = 'sig' - end - it 'checks for valid time' do - @controller.should_receive(:valid_time?).with(@time.to_i.to_s) - @controller.verify(@signed_string, @sig, @public_key, @manifest) - end - - it 'checks the signature' do - @controller.should_receive(:verify_signature).with(@signed_string, 'sig', @public_key) - @controller.verify(@signed_string, @sig, @public_key, @manifest) - end - - it 'checks for valid nonce' do - @controller.should_receive(:valid_nonce?).with(@nonce) - @controller.verify(@signed_string, @sig, @public_key, @manifest) - end - - it 'checks for public key' do - @controller.verify(@signed_string, @sig, RSA.new(), @manifest).should == "blank public key" - end - - it 'checks consistency of app_url' do - @controller.verify(@signed_string, @sig, @public_key, @manifest.merge({"application_base_url" => "http://badsite.com/"})). - should == "the app url in the manifest (http://badsite.com/) does not match the url passed in the parameters (http://chubbi.es/)." - end - - it 'checks key size' do - short_key = RSA.generate(100) - RSA.stub!(:new).and_return(short_key) - @controller.verify(@signed_string, @sig, RSA.generate(100).public_key, @manifest). - should == "key too small, use at least 2048 bits" - end - end - - describe '#verify_signature' do - before do - - @sig = @private_key.sign(OpenSSL::Digest::SHA256.new, @signed_string) - end - - it 'returns true if the signature is valid' do - @controller.verify_signature(@signed_string, @sig, @public_key).should be_true - end - - it 'returns false if the signature is invalid' do - @signed_string = "something else" - - @controller.verify_signature(@signed_string, @sig, @public_key).should be_false - end - end - - describe "valid_time?" do - it "returns true if time is within the last 5 minutes" do - @controller.valid_time?(@time - 4.minutes - 59.seconds).should be_true - end - - it "returns false if time is not within the last 5 minutes" do - @controller.valid_time?(@time - 5.minutes - 1.seconds).should be_false - end - end - - describe 'valid_nonce' do - before do - @nonce = "abc123" - Factory(:app, :nonce => @nonce) - end - - it 'returns true if its a new nonce' do - @controller.valid_nonce?("lalalala").should be_true - end - - it 'returns false if the nonce was already used' do - @controller.valid_nonce?(@nonce).should be_false - end - end -end diff --git a/spec/controllers/tokens_controller_spec.rb b/spec/controllers/tokens_controller_spec.rb deleted file mode 100644 index c727f70a33a9097d27e72547b95481691f151bba..0000000000000000000000000000000000000000 --- a/spec/controllers/tokens_controller_spec.rb +++ /dev/null @@ -1,9 +0,0 @@ -describe TokensController do - describe '#show' do - it 'succeeds' do - sign_in eve - get :show - response.should be_success - end - end -end diff --git a/spec/factories.rb b/spec/factories.rb index dcb35458d789520cbd76542b008adaa19a00c0ea..16150db4235b91e4915462ade8e5d7c362a4cb54 100644 --- a/spec/factories.rb +++ b/spec/factories.rb @@ -180,25 +180,6 @@ FactoryGirl.define do public true end - factory(:app, :class => OAuth2::Provider.client_class) do - sequence(:name) { |token| "Chubbies#{token}" } - sequence(:application_base_url) { |token| "http://chubbi#{token}.es/" } - - description "The best way to chub on the ne" - icon_url "/assets/chubbies48.png" - permissions_overview "I will use the permissions this way!" - sequence(:public_key) {|n| OpenSSL::PKey::RSA.new(2048) } - end - - factory(:oauth_authorization, :class => OAuth2::Provider.authorization_class) do - association(:client, :factory => :app) - association(:resource_owner, :factory => :user) - end - - factory(:oauth_access_token, :class => OAuth2::Provider.access_token_class) do - association(:authorization, :factory => :oauth_authorization) - end - factory(:tag, :class => ActsAsTaggableOn::Tag) do name "partytimeexcellent" end diff --git a/spec/helpers/getting_started_helper_spec.rb b/spec/helpers/getting_started_helper_spec.rb index c6d7ac49a54bd865168389d192d3ffa9d019d35a..c780fc73b7b6431ee14248ae796afffb21cc1db9 100644 --- a/spec/helpers/getting_started_helper_spec.rb +++ b/spec/helpers/getting_started_helper_spec.rb @@ -12,17 +12,6 @@ describe GettingStartedHelper do @current_user end - describe "#has_connected_cubbies?" do - it 'returns true if the current user has connected cubbies to their account' do - @current_user.authorizations << Factory(:oauth_authorization) - has_connected_cubbies?.should be_true - end - - it 'returns false if the current user has not connected cubbies to their account' do - has_connected_cubbies?.should be_false - end - end - describe "#has_completed_getting_started?" do it 'returns true if the current user has completed getting started' do @current_user.getting_started = false diff --git a/spec/integration/account_deletion_spec.rb b/spec/integration/account_deletion_spec.rb index 26bb0f5b4c1016011e62c5eef2bc9b49a7a92aa8..490b2e0a773b939aac6d98807f92a59768d90ed0 100644 --- a/spec/integration/account_deletion_spec.rb +++ b/spec/integration/account_deletion_spec.rb @@ -48,7 +48,6 @@ describe 'deleteing your account' do @block = @bob2.blocks.create!(:person => eve.person) #authorization - @authorization = Factory(:oauth_authorization, :resource_owner => @bob2) AccountDeleter.new(@bob2.person.diaspora_handle).perform! @bob2.reload @@ -87,9 +86,6 @@ describe 'deleteing your account' do @bob2.contacts.should be_empty end - it 'deletes all the authorizations' do - OAuth2::Provider.authorization_class.where(:id => @authorization.id).should be_empty - end it "clears the account fields" do @bob2.send(:clearable_fields).each do |field| diff --git a/spec/integration/activity_streams/photos_controller_spec.rb b/spec/integration/activity_streams/photos_controller_spec.rb deleted file mode 100644 index e95a3ae4eb5da5f18b2740e381cb1ca166c8f86a..0000000000000000000000000000000000000000 --- a/spec/integration/activity_streams/photos_controller_spec.rb +++ /dev/null @@ -1,58 +0,0 @@ -require 'spec_helper' - -describe ActivityStreams::PhotosController do - describe '#create' do - before do - @json = JSON.parse <<JSON - { - "activity": { - "actor": { - "url":"http://cubbi.es/daniel", - "displayName":"daniel", - "objectType":"person" - }, - "published":"2011-05-19T18:12:23Z", - "verb":"save", - "object": { - "objectType":"photo", - "url":"http://i658.photobucket.com/albums/uu308/R3b3lAp3/Swagger_dog.jpg", - "id":"http://i658.photobucket.com/albums/uu308/R3b3lAp3/Swagger_dog.jpg", - "image": { - "url":"http://i658.photobucket.com/albums/uu308/R3b3lAp3/Swagger_dog.jpg", - "width":637, - "height":469 - } - }, - "provider": { - "url":"http://cubbi.es/", - "displayName":"Cubbi.es" - } - } - } -JSON - @url = activity_streams_photos_path - end - it 'allows oauth authentication' do - token = Factory(:oauth_access_token) - post @url, @json.merge!(:oauth_token => token.access_token) - response.should be_success - end - - it 'denies an invalid oauth token' do - post @url, @json.merge!(:oauth_token => "aoijgosidjg") - response.status.should == 401 - response.body.should be_empty - end - - it 'allows token authentication' do - bob.reset_authentication_token! - post @url, @json.merge!(:auth_token => bob.authentication_token) - response.should be_success - end - - it 'correctly denies an invalid token' do - post @url, @json.merge!(:auth_token => "iudsfghpsdifugh") - response.status.should == 401 - end - end -end diff --git a/spec/models/oauth2_provider_models_activerecord_authorization_spec.rb b/spec/models/oauth2_provider_models_activerecord_authorization_spec.rb deleted file mode 100644 index 1f82ed1ab8396a73756b7a6f5baacfabb2f5a0f5..0000000000000000000000000000000000000000 --- a/spec/models/oauth2_provider_models_activerecord_authorization_spec.rb +++ /dev/null @@ -1,23 +0,0 @@ -# Copyright (c) 2010-2011, Diaspora Inc. This file is -# licensed under the Affero General Public License version 3 or later. See -# the COPYRIGHT file. - -require 'spec_helper' - -describe OAuth2::Provider::Models::ActiveRecord::Authorization do - describe 'validations'do - before do - @client = Factory(:app) - end - - it 'validates uniqueness on resource owner and client' do - OAuth2::Provider::Models::ActiveRecord::Authorization.create!(:client => @client, :resource_owner => alice) - OAuth2::Provider::Models::ActiveRecord::Authorization.new(:client => @client, :resource_owner => alice).should_not be_valid - end - - it 'requires a resource owner for an authorization' do - OAuth2::Provider::Models::ActiveRecord::Authorization.new(:client => @client).should_not be_valid - end - end -end - diff --git a/spec/models/oauth2_provider_models_activerecord_client_spec.rb b/spec/models/oauth2_provider_models_activerecord_client_spec.rb deleted file mode 100644 index 8292531a3a435b918c24598f064dfc2398e937f0..0000000000000000000000000000000000000000 --- a/spec/models/oauth2_provider_models_activerecord_client_spec.rb +++ /dev/null @@ -1,15 +0,0 @@ -# Copyright (c) 2010-2011, Diaspora Inc. This file is -# licensed under the Affero General Public License version 3 or later. See -# the COPYRIGHT file. -# -require 'spec_helper' - -describe OAuth2::Provider::Models::ActiveRecord::Client do - describe 'validations'do - it 'validates uniqueness on identifier' do - OAuth2::Provider::Models::ActiveRecord::Client.create(:oauth_identifier => "three") - OAuth2::Provider::Models::ActiveRecord::Client.new(:oauth_identifier => "three").valid?.should be_false - end - end -end -