diff --git a/db/migrate/20110105051803_create_import_tables.rb b/db/migrate/20110105051803_create_import_tables.rb index 938788b2d..0fd19ee15 100644 --- a/db/migrate/20110105051803_create_import_tables.rb +++ b/db/migrate/20110105051803_create_import_tables.rb @@ -1,5 +1,10 @@ class CreateImportTables < ActiveRecord::Migration def self.up + [:aspects, :comments, :contacts, :invitations, :notifications, :people, :posts, :profiles, :requests, :services, :users].each do |table| + add_column(table, :mongo_id, :string) + end + + add_column(:aspects, :user_mongo_id, :string) create_table :mongo_aspects do |t| t.string :mongo_id t.string :name @@ -150,20 +155,21 @@ class CreateImportTables < ActiveRecord::Migration add_index :mongo_services, :user_mongo_id create_table :mongo_users do |t| - t.string :mongo_id t.string :username t.text :serialized_private_key - t.string :encrypted_password t.integer :invites - t.string :invitation_token - t.datetime :invitation_sent_at t.boolean :getting_started t.boolean :disable_mail t.string :language - t.string :last_sign_in_ip - t.datetime :last_sign_in_at - t.string :reset_password_token - t.string :password_salt + t.string :email + t.database_authenticatable + t.invitable + t.recoverable + t.rememberable + t.trackable + + t.timestamps + t.string :mongo_id end end diff --git a/db/schema.rb b/db/schema.rb index 3da2136cd..225fc48c3 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -28,6 +28,8 @@ ActiveRecord::Schema.define(:version => 20110105051803) do t.integer "user_id" t.datetime "created_at" t.datetime "updated_at" + t.string "mongo_id" + t.string "user_mongo_id" end add_index "aspects", ["user_id"], :name => "index_aspects_on_user_id" @@ -42,6 +44,7 @@ ActiveRecord::Schema.define(:version => 20110105051803) do t.text "youtube_titles" t.datetime "created_at" t.datetime "updated_at" + t.string "mongo_id" end add_index "comments", ["guid"], :name => "index_comments_on_guid", :unique => true @@ -53,6 +56,7 @@ ActiveRecord::Schema.define(:version => 20110105051803) do t.boolean "pending", :default => true t.datetime "created_at" t.datetime "updated_at" + t.string "mongo_id" end add_index "contacts", ["person_id", "pending"], :name => "index_contacts_on_person_id_and_pending" @@ -66,6 +70,7 @@ ActiveRecord::Schema.define(:version => 20110105051803) do t.integer "aspect_id" t.datetime "created_at" t.datetime "updated_at" + t.string "mongo_id" end add_index "invitations", ["sender_id"], :name => "index_invitations_on_sender_id" @@ -242,20 +247,28 @@ ActiveRecord::Schema.define(:version => 20110105051803) do add_index "mongo_services", ["user_mongo_id"], :name => "index_mongo_services_on_user_mongo_id" create_table "mongo_users", :force => true do |t| - t.string "mongo_id" t.string "username" t.text "serialized_private_key" - t.string "encrypted_password" t.integer "invites" - t.string "invitation_token" - t.datetime "invitation_sent_at" t.boolean "getting_started" t.boolean "disable_mail" t.string "language" - t.string "last_sign_in_ip" - t.datetime "last_sign_in_at" + t.string "email", :default => "", :null => false + t.string "encrypted_password", :limit => 128, :default => "", :null => false + t.string "password_salt", :default => "", :null => false + t.string "invitation_token", :limit => 20 + t.datetime "invitation_sent_at" t.string "reset_password_token" - t.string "password_salt" + t.string "remember_token" + t.datetime "remember_created_at" + t.integer "sign_in_count", :default => 0 + t.datetime "current_sign_in_at" + 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.string "mongo_id" end create_table "notifications", :force => true do |t| @@ -267,6 +280,7 @@ ActiveRecord::Schema.define(:version => 20110105051803) do t.boolean "unread", :default => true t.datetime "created_at" t.datetime "updated_at" + t.string "mongo_id" end add_index "notifications", ["target_type", "target_id"], :name => "index_notifications_on_target_type_and_target_id" @@ -279,6 +293,7 @@ ActiveRecord::Schema.define(:version => 20110105051803) do t.integer "owner_id" t.datetime "created_at" t.datetime "updated_at" + t.string "mongo_id" end add_index "people", ["diaspora_handle"], :name => "index_people_on_diaspora_handle", :unique => true @@ -312,6 +327,7 @@ ActiveRecord::Schema.define(:version => 20110105051803) do t.text "youtube_titles" t.datetime "created_at" t.datetime "updated_at" + t.string "mongo_id" end add_index "posts", ["guid"], :name => "index_posts_on_guid" @@ -332,6 +348,7 @@ ActiveRecord::Schema.define(:version => 20110105051803) do t.integer "person_id" t.datetime "created_at" t.datetime "updated_at" + t.string "mongo_id" end add_index "profiles", ["first_name", "last_name", "searchable"], :name => "index_profiles_on_first_name_and_last_name_and_searchable" @@ -345,6 +362,7 @@ ActiveRecord::Schema.define(:version => 20110105051803) do t.integer "aspect_id" t.datetime "created_at" t.datetime "updated_at" + t.string "mongo_id" end add_index "requests", ["recipient_id"], :name => "index_requests_on_recipient_id" @@ -361,6 +379,7 @@ ActiveRecord::Schema.define(:version => 20110105051803) do t.string "nickname" t.datetime "created_at" t.datetime "updated_at" + t.string "mongo_id" end add_index "services", ["user_id"], :name => "index_services_on_user_id" @@ -387,6 +406,7 @@ ActiveRecord::Schema.define(:version => 20110105051803) do t.string "last_sign_in_ip" t.datetime "created_at" t.datetime "updated_at" + t.string "mongo_id" end add_index "users", ["email"], :name => "index_users_on_email", :unique => true diff --git a/lib/data_conversion/base.rb b/lib/data_conversion/base.rb index 671eaaa41..46a05f1f4 100644 --- a/lib/data_conversion/base.rb +++ b/lib/data_conversion/base.rb @@ -45,8 +45,8 @@ module DataConversion :attrs => ["type", "user_mongo_id", "provider", "uid", "access_token", "access_secret", "nickname"], :mongo_attrs => ["_type", "user_id", "provider", "uid", "access_token", "access_secret", "nickname"]}, {:name => :users, - :attrs => ["mongo_id", "username", "serialized_private_key", "encrypted_password", "invites", "invitation_token", "invitation_sent_at", "getting_started", "disable_mail", "language", "last_sign_in_ip", "last_sign_in_at", "reset_password_token", "password_salt"], - :mongo_attrs => ["_id", "username", "serialized_private_key", "encrypted_password", "invites", "invitation_token", "invitation_sent_at", "getting_started", "disable_mail", "language", "last_sign_in_ip", "last_sign_in_at", "reset_password_token", "password_salt"]}, + :attrs => ["mongo_id","email", "username", "serialized_private_key", "encrypted_password", "invites", "invitation_token", "invitation_sent_at", "getting_started", "disable_mail", "language", "last_sign_in_ip", "last_sign_in_at", "reset_password_token", "password_salt"], + :mongo_attrs => ["_id" , "email","username", "serialized_private_key", "encrypted_password", "invites", "invitation_token", "invitation_sent_at", "getting_started", "disable_mail", "language", "last_sign_in_ip", "last_sign_in_at", "reset_password_token", "password_salt"]}, ] end def log(message) diff --git a/lib/data_conversion/import_to_mysql.rb b/lib/data_conversion/import_to_mysql.rb index 332726e9c..f134e5901 100644 --- a/lib/data_conversion/import_to_mysql.rb +++ b/lib/data_conversion/import_to_mysql.rb @@ -17,17 +17,24 @@ module DataConversion def import_raw truncate_tables + import_raw_users import_raw_aspects import_raw_aspect_memberships import_raw_comments + import_raw_invitations + import_raw_notifications + import_raw_people + import_raw_profiles + import_raw_posts import_raw_contacts import_raw_post_visibilities import_raw_requests + import_raw_services end def process_raw_tables - + process_raw_users end def truncate_tables @@ -35,9 +42,33 @@ module DataConversion Mongo::Aspect.connection.execute "TRUNCATE TABLE mongo_aspects" Mongo::AspectMembership.connection.execute "TRUNCATE TABLE mongo_aspect_memberships" Mongo::Comment.connection.execute "TRUNCATE TABLE mongo_comments" + Mongo::Invitation.connection.execute "TRUNCATE TABLE mongo_invitations" + Mongo::Notification.connection.execute "TRUNCATE TABLE mongo_notifications" + Mongo::Person.connection.execute "TRUNCATE TABLE mongo_people" + Mongo::Profile.connection.execute "TRUNCATE TABLE mongo_profiles" + Mongo::Post.connection.execute "TRUNCATE TABLE mongo_posts" Mongo::Contact.connection.execute "TRUNCATE TABLE mongo_contacts" Mongo::PostVisibility.connection.execute "TRUNCATE TABLE mongo_post_visibilities" Mongo::Request.connection.execute "TRUNCATE TABLE mongo_requests" + Mongo::Services.connection.execute "TRUNCATE TABLE mongo_services" + end + + def process_raw_users + log "Importing users to main table..." + User.connection.execute <<-SQL + INSERT INTO users + SELECT mongo_users.* from mongo_users + SQL + log "Imported #{User.count} users." + end + + def process_raw_aspects + log "Importing aspects to main table..." + Aspect.connection.execute <<-SQL + INSERT INTO aspects + SELECT mongo_aspects.* from mongo_aspects + SQL + log "Imported #{Aspect.count} aspects." end def import_raw_users @@ -45,12 +76,13 @@ module DataConversion Mongo::User.connection.execute <<-SQL #{load_string("users")} #{infile_opts} - (mongo_id, username, serialized_private_key, encrypted_password, + (mongo_id, email, @username, serialized_private_key, encrypted_password, invites, @invitation_token, @invitation_sent_at, @getting_started, @disable_mail, language, @last_sign_in_ip, @last_sign_in_at, @reset_password_token, password_salt) SET #{unix_time("last_sign_in_at")}, #{nil_es("invitation_token")}, + #{nil_es("username")}, #{nil_es("last_sign_in_ip")}, #{nil_es("reset_password_token")}, #{boolean_set("getting_started")}, @@ -59,6 +91,7 @@ module DataConversion log "Finished. Imported #{Mongo::User.count} users." end + def import_raw_aspects log "Loading aspects file..." Mongo::Aspect.connection.execute <<-SQL diff --git a/spec/fixtures/data_conversion/aspect_memberships.csv b/spec/fixtures/data_conversion/aspect_memberships.csv index 7471715bf..85970dedf 100644 --- a/spec/fixtures/data_conversion/aspect_memberships.csv +++ b/spec/fixtures/data_conversion/aspect_memberships.csv @@ -1,7 +1,7 @@ contact_mongo_id,aspect_mongo_id -4d26212bcc8cb44df200000d,4d26212bcc8cb44df2000006 -4d26212bcc8cb44df200000e,4d26212bcc8cb44df200000a -4d26212bcc8cb44df2000010,4d26212bcc8cb44df200000a -4d26212bcc8cb44df2000019,4d26212bcc8cb44df2000012 -4d26212ccc8cb44df200001e,4d26212bcc8cb44df2000012 -4d262135cc8cb44df2000035,4d26212bcc8cb44df2000016 +4d2657eacc8cb4603300000d,4d2657e9cc8cb46033000006 +4d2657eacc8cb4603300000e,4d2657eacc8cb4603300000a +4d2657eacc8cb46033000010,4d2657eacc8cb4603300000a +4d2657eacc8cb46033000019,4d2657eacc8cb46033000012 +4d2657ebcc8cb4603300001e,4d2657eacc8cb46033000012 +4d265801cc8cb46033000035,4d2657eacc8cb46033000016 diff --git a/spec/fixtures/data_conversion/aspects.csv b/spec/fixtures/data_conversion/aspects.csv index 31f3fe89d..aeccce960 100644 --- a/spec/fixtures/data_conversion/aspects.csv +++ b/spec/fixtures/data_conversion/aspects.csv @@ -1,5 +1,5 @@ mongo_id,name,user_mongo_id,created_at,updated_at -4d26212bcc8cb44df2000006,generic,4d26212acc8cb44df2000005,1294344491000,1294344500000 -4d26212bcc8cb44df200000a,generic,4d26212bcc8cb44df2000009,1294344491000,1294344499000 -4d26212bcc8cb44df2000012,generic,4d26212bcc8cb44df2000011,1294344491000,1294344500000 -4d26212bcc8cb44df2000016,generic,4d26212bcc8cb44df2000015,1294344491000,1294344502000 +4d2657e9cc8cb46033000006,generic,4d2657e9cc8cb46033000005,1294358505000,1294358527000 +4d2657eacc8cb4603300000a,generic,4d2657e9cc8cb46033000009,1294358506000,1294358527000 +4d2657eacc8cb46033000012,generic,4d2657eacc8cb46033000011,1294358506000,1294358528000 +4d2657eacc8cb46033000016,generic,4d2657eacc8cb46033000015,1294358506000,1294358531000 diff --git a/spec/fixtures/data_conversion/comments.csv b/spec/fixtures/data_conversion/comments.csv index f11ef6092..70ff47c7a 100644 --- a/spec/fixtures/data_conversion/comments.csv +++ b/spec/fixtures/data_conversion/comments.csv @@ -1,3 +1,3 @@ mongo_id,post_mongo_id,person_mongo_id,diaspora_handle,text,youtube_titles -4d262132cc8cb44df2000027,4d262132cc8cb44df2000025,4d26212bcc8cb44df2000014,bob3127b24@localhost,Hey me!,"" -4d262132cc8cb44df2000029,4d262132cc8cb44df2000023,4d26212bcc8cb44df200000c,bob2f2d21a@localhost,Hey you!,"" +4d2657fdcc8cb46033000027,4d2657fdcc8cb46033000025,4d2657eacc8cb46033000014,bob3bce0e0@localhost,Hey me!,"" +4d2657fdcc8cb46033000029,4d2657fdcc8cb46033000023,4d2657eacc8cb4603300000c,bob2f629f3@localhost,Hey you!,"" diff --git a/spec/fixtures/data_conversion/contacts.csv b/spec/fixtures/data_conversion/contacts.csv index 6628ddd24..3c750b3c6 100644 --- a/spec/fixtures/data_conversion/contacts.csv +++ b/spec/fixtures/data_conversion/contacts.csv @@ -1,7 +1,7 @@ mongo_id,user_mongo_id,person_mongo_id,pending,created_at,updated_at -4d26212bcc8cb44df200000d,4d26212acc8cb44df2000005,4d26212bcc8cb44df200000c,false,, -4d26212bcc8cb44df200000e,4d26212bcc8cb44df2000009,4d26212bcc8cb44df2000008,false,, -4d26212bcc8cb44df2000010,4d26212bcc8cb44df2000009,4d26212bcc8cb44df200000f,false,, -4d26212bcc8cb44df2000019,4d26212bcc8cb44df2000011,4d26212bcc8cb44df2000018,true,, -4d26212ccc8cb44df200001e,4d26212bcc8cb44df2000011,4d26212ccc8cb44df200001d,true,, -4d262135cc8cb44df2000035,4d26212bcc8cb44df2000015,4d262135cc8cb44df2000034,false,, +4d2657eacc8cb4603300000d,4d2657e9cc8cb46033000005,4d2657eacc8cb4603300000c,false,, +4d2657eacc8cb4603300000e,4d2657e9cc8cb46033000009,4d2657e9cc8cb46033000008,false,, +4d2657eacc8cb46033000010,4d2657e9cc8cb46033000009,4d2657eacc8cb4603300000f,false,, +4d2657eacc8cb46033000019,4d2657eacc8cb46033000011,4d2657eacc8cb46033000018,true,, +4d2657ebcc8cb4603300001e,4d2657eacc8cb46033000011,4d2657ebcc8cb4603300001d,true,, +4d265801cc8cb46033000035,4d2657eacc8cb46033000015,4d265801cc8cb46033000034,false,, diff --git a/spec/fixtures/data_conversion/invitations.csv b/spec/fixtures/data_conversion/invitations.csv index 39099e133..d8c4e0479 100644 --- a/spec/fixtures/data_conversion/invitations.csv +++ b/spec/fixtures/data_conversion/invitations.csv @@ -1,2 +1,2 @@ mongo_id,recipient_mongo_id,sender_mongo_id,aspect_mongo_id,message -4d262131cc8cb44df2000022,4d26212fcc8cb44df2000021,4d26212acc8cb44df2000005,4d26212bcc8cb44df2000006,Hello! +4d2657fdcc8cb46033000022,4d2657fbcc8cb46033000021,4d2657e9cc8cb46033000005,4d2657e9cc8cb46033000006,Hello! diff --git a/spec/fixtures/data_conversion/notifications.csv b/spec/fixtures/data_conversion/notifications.csv index 665b3a9b3..af02fc521 100644 --- a/spec/fixtures/data_conversion/notifications.csv +++ b/spec/fixtures/data_conversion/notifications.csv @@ -1,4 +1,4 @@ mongo_id,target_id,target_type,unread -4d26212ccc8cb44df200001c,4d26212ccc8cb44df200001b,new_request,true -4d262132cc8cb44df200002c,4d262132cc8cb44df2000029,comment_on_post,true -4d262136cc8cb44df200003b,4d262136cc8cb44df200003a,new_request,true +4d2657eacc8cb4603300001c,4d2657eacc8cb4603300001b,new_request,true +4d2657fdcc8cb4603300002c,4d2657fdcc8cb46033000029,comment_on_post,true +4d265802cc8cb4603300003b,4d265802cc8cb4603300003a,new_request,true diff --git a/spec/fixtures/data_conversion/people.csv b/spec/fixtures/data_conversion/people.csv index 9e5dae96f..fed3717ef 100644 --- a/spec/fixtures/data_conversion/people.csv +++ b/spec/fixtures/data_conversion/people.csv @@ -1,61 +1,61 @@ created_at,updated_at,serialized_public_key,url,mongo_id,owner_mongo_id,diaspora_handle -1294344490000,1294344490000,"-----BEGIN RSA PUBLIC KEY----- -MIGJAoGBAM6tu6ynfN7NTWXWpZNIeHgGCxjdNmDt65DE0Nhduvng7ZXbyciRVtUc -miFwCOVBEQNS+NLslSaGidcGc6ASXUUWl7sZiHTJ3y2ykKE09gGz0yYgsIaZVGEQ -tcCPLgNRsNL4p+JLkNxGTQcj1I0oAqJ1hPT5EN+XE9BcEULLBv4DAgMBAAE= +1294358505000,1294358505000,"-----BEGIN RSA PUBLIC KEY----- +MIGJAoGBAOMQSpPOm4WJ0aqgZXQ0wifw5Zvlk5cZ6igebzbcVbCl4VWUEuBP1/6o +YVpM3Pu8kFManjP2q3ZHh8hjgga3QqH5veSIcLIYBsA7qPXHeC03rH2/udi6WS6g +J4idCgp3uoNjpMeReoYy/HwSndh8yOzN2klgfJrU8MlUCVA/TpCLAgMBAAE= -----END RSA PUBLIC KEY----- -",http://google-1b5b16a.com/,4d26212acc8cb44df2000002,,bob-person-1a8bc18@aol.com -1294344490000,1294344490000,"-----BEGIN RSA PUBLIC KEY----- -MIGJAoGBAM6tu6ynfN7NTWXWpZNIeHgGCxjdNmDt65DE0Nhduvng7ZXbyciRVtUc -miFwCOVBEQNS+NLslSaGidcGc6ASXUUWl7sZiHTJ3y2ykKE09gGz0yYgsIaZVGEQ -tcCPLgNRsNL4p+JLkNxGTQcj1I0oAqJ1hPT5EN+XE9BcEULLBv4DAgMBAAE= +",http://google-10ce30d.com/,4d2657e9cc8cb46033000002,,bob-person-19732b3@aol.com +1294358505000,1294358505000,"-----BEGIN RSA PUBLIC KEY----- +MIGJAoGBAOMQSpPOm4WJ0aqgZXQ0wifw5Zvlk5cZ6igebzbcVbCl4VWUEuBP1/6o +YVpM3Pu8kFManjP2q3ZHh8hjgga3QqH5veSIcLIYBsA7qPXHeC03rH2/udi6WS6g +J4idCgp3uoNjpMeReoYy/HwSndh8yOzN2klgfJrU8MlUCVA/TpCLAgMBAAE= -----END RSA PUBLIC KEY----- -",http://google-2bf625d.com/,4d26212acc8cb44df2000003,,bob-person-2e06150@aol.com -1294344490000,1294344490000,"-----BEGIN RSA PUBLIC KEY----- -MIGJAoGBAM6tu6ynfN7NTWXWpZNIeHgGCxjdNmDt65DE0Nhduvng7ZXbyciRVtUc -miFwCOVBEQNS+NLslSaGidcGc6ASXUUWl7sZiHTJ3y2ykKE09gGz0yYgsIaZVGEQ -tcCPLgNRsNL4p+JLkNxGTQcj1I0oAqJ1hPT5EN+XE9BcEULLBv4DAgMBAAE= +",http://google-241cdca.com/,4d2657e9cc8cb46033000003,,bob-person-2cfaae4@aol.com +1294358505000,1294358505000,"-----BEGIN RSA PUBLIC KEY----- +MIGJAoGBAOMQSpPOm4WJ0aqgZXQ0wifw5Zvlk5cZ6igebzbcVbCl4VWUEuBP1/6o +YVpM3Pu8kFManjP2q3ZHh8hjgga3QqH5veSIcLIYBsA7qPXHeC03rH2/udi6WS6g +J4idCgp3uoNjpMeReoYy/HwSndh8yOzN2klgfJrU8MlUCVA/TpCLAgMBAAE= -----END RSA PUBLIC KEY----- -",http://google-316cae4.com/,4d26212acc8cb44df2000004,,bob-person-30d59c1@aol.com -1294344491000,1294344500000,"-----BEGIN RSA PUBLIC KEY----- -MIGJAoGBALvHUWZmDIJ5DJpjtacVH/oCox+UtMKKiq+2nUsQC8TD1kanmVyUYK8Y -E4sy1zI56E/wKmC/a4UMEQsapFX0CtRhyXEoikoeKUQCATWKjlQVHUmNYybqLDsu -WenFygxQn9ZpcdKxVnQ6kyd6rTd98d6xtphnM2N5eVk1gRKdvsSFAgMBAAE= +",http://google-3234e4f.com/,4d2657e9cc8cb46033000004,,bob-person-3c500ce@aol.com +1294358505000,1294358527000,"-----BEGIN RSA PUBLIC KEY----- +MIGJAoGBAPX+Fht8fAO9CA98QaafnTuZV/cGCkfiFeX2DoWCBv6bqC43SkNNUGO0 +20k64y7Oxly7dfcnFkxGWvT4NY4r2eud1pf0ZhUNmbzobL6xB3bIgHFo7jxfksaq +mlWcmA58drV9bc0RxI+VzRxrgSYCdIH22xYjG0PBD+agrlryGvUlAgMBAAE= -----END RSA PUBLIC KEY----- -",http://google-45085cf.com/,4d26212bcc8cb44df2000008,4d26212acc8cb44df2000005,bob178fa79@localhost -1294344491000,1294344499000,"-----BEGIN RSA PUBLIC KEY----- -MIGJAoGBALvHUWZmDIJ5DJpjtacVH/oCox+UtMKKiq+2nUsQC8TD1kanmVyUYK8Y -E4sy1zI56E/wKmC/a4UMEQsapFX0CtRhyXEoikoeKUQCATWKjlQVHUmNYybqLDsu -WenFygxQn9ZpcdKxVnQ6kyd6rTd98d6xtphnM2N5eVk1gRKdvsSFAgMBAAE= +",http://google-4328940.com/,4d2657e9cc8cb46033000008,4d2657e9cc8cb46033000005,bob14cbf20@localhost +1294358506000,1294358527000,"-----BEGIN RSA PUBLIC KEY----- +MIGJAoGBAPX+Fht8fAO9CA98QaafnTuZV/cGCkfiFeX2DoWCBv6bqC43SkNNUGO0 +20k64y7Oxly7dfcnFkxGWvT4NY4r2eud1pf0ZhUNmbzobL6xB3bIgHFo7jxfksaq +mlWcmA58drV9bc0RxI+VzRxrgSYCdIH22xYjG0PBD+agrlryGvUlAgMBAAE= -----END RSA PUBLIC KEY----- -",http://google-5384520.com/,4d26212bcc8cb44df200000c,4d26212bcc8cb44df2000009,bob2f2d21a@localhost -1294344491000,1294344491000,"-----BEGIN RSA PUBLIC KEY----- -MIGJAoGBAM6tu6ynfN7NTWXWpZNIeHgGCxjdNmDt65DE0Nhduvng7ZXbyciRVtUc -miFwCOVBEQNS+NLslSaGidcGc6ASXUUWl7sZiHTJ3y2ykKE09gGz0yYgsIaZVGEQ -tcCPLgNRsNL4p+JLkNxGTQcj1I0oAqJ1hPT5EN+XE9BcEULLBv4DAgMBAAE= +",http://google-5d25a52.com/,4d2657eacc8cb4603300000c,4d2657e9cc8cb46033000009,bob2f629f3@localhost +1294358506000,1294358506000,"-----BEGIN RSA PUBLIC KEY----- +MIGJAoGBAOMQSpPOm4WJ0aqgZXQ0wifw5Zvlk5cZ6igebzbcVbCl4VWUEuBP1/6o +YVpM3Pu8kFManjP2q3ZHh8hjgga3QqH5veSIcLIYBsA7qPXHeC03rH2/udi6WS6g +J4idCgp3uoNjpMeReoYy/HwSndh8yOzN2klgfJrU8MlUCVA/TpCLAgMBAAE= -----END RSA PUBLIC KEY----- -",http://google-672f1da.com/,4d26212bcc8cb44df200000f,,bob-person-46276e5@aol.com -1294344491000,1294344500000,"-----BEGIN RSA PUBLIC KEY----- -MIGJAoGBALvHUWZmDIJ5DJpjtacVH/oCox+UtMKKiq+2nUsQC8TD1kanmVyUYK8Y -E4sy1zI56E/wKmC/a4UMEQsapFX0CtRhyXEoikoeKUQCATWKjlQVHUmNYybqLDsu -WenFygxQn9ZpcdKxVnQ6kyd6rTd98d6xtphnM2N5eVk1gRKdvsSFAgMBAAE= +",http://google-6eee829.com/,4d2657eacc8cb4603300000f,,bob-person-43dcf31@aol.com +1294358506000,1294358528000,"-----BEGIN RSA PUBLIC KEY----- +MIGJAoGBAPX+Fht8fAO9CA98QaafnTuZV/cGCkfiFeX2DoWCBv6bqC43SkNNUGO0 +20k64y7Oxly7dfcnFkxGWvT4NY4r2eud1pf0ZhUNmbzobL6xB3bIgHFo7jxfksaq +mlWcmA58drV9bc0RxI+VzRxrgSYCdIH22xYjG0PBD+agrlryGvUlAgMBAAE= -----END RSA PUBLIC KEY----- -",http://google-7c2ce04.com/,4d26212bcc8cb44df2000014,4d26212bcc8cb44df2000011,bob3127b24@localhost -1294344491000,1294344502000,"-----BEGIN RSA PUBLIC KEY----- -MIGJAoGBALvHUWZmDIJ5DJpjtacVH/oCox+UtMKKiq+2nUsQC8TD1kanmVyUYK8Y -E4sy1zI56E/wKmC/a4UMEQsapFX0CtRhyXEoikoeKUQCATWKjlQVHUmNYybqLDsu -WenFygxQn9ZpcdKxVnQ6kyd6rTd98d6xtphnM2N5eVk1gRKdvsSFAgMBAAE= +",http://google-717fc82.com/,4d2657eacc8cb46033000014,4d2657eacc8cb46033000011,bob3bce0e0@localhost +1294358506000,1294358530000,"-----BEGIN RSA PUBLIC KEY----- +MIGJAoGBAPX+Fht8fAO9CA98QaafnTuZV/cGCkfiFeX2DoWCBv6bqC43SkNNUGO0 +20k64y7Oxly7dfcnFkxGWvT4NY4r2eud1pf0ZhUNmbzobL6xB3bIgHFo7jxfksaq +mlWcmA58drV9bc0RxI+VzRxrgSYCdIH22xYjG0PBD+agrlryGvUlAgMBAAE= -----END RSA PUBLIC KEY----- -",http://google-89e13a6.com/,4d26212bcc8cb44df2000018,4d26212bcc8cb44df2000015,bob4221dca@localhost -1294344492000,1294344492000,"-----BEGIN RSA PUBLIC KEY----- -MIGJAoGBAM6tu6ynfN7NTWXWpZNIeHgGCxjdNmDt65DE0Nhduvng7ZXbyciRVtUc -miFwCOVBEQNS+NLslSaGidcGc6ASXUUWl7sZiHTJ3y2ykKE09gGz0yYgsIaZVGEQ -tcCPLgNRsNL4p+JLkNxGTQcj1I0oAqJ1hPT5EN+XE9BcEULLBv4DAgMBAAE= +",http://google-8cef6ec.com/,4d2657eacc8cb46033000018,4d2657eacc8cb46033000015,bob4c66fa9@localhost +1294358507000,1294358507000,"-----BEGIN RSA PUBLIC KEY----- +MIGJAoGBAOMQSpPOm4WJ0aqgZXQ0wifw5Zvlk5cZ6igebzbcVbCl4VWUEuBP1/6o +YVpM3Pu8kFManjP2q3ZHh8hjgga3QqH5veSIcLIYBsA7qPXHeC03rH2/udi6WS6g +J4idCgp3uoNjpMeReoYy/HwSndh8yOzN2klgfJrU8MlUCVA/TpCLAgMBAAE= -----END RSA PUBLIC KEY----- -",http://google-99bfbf0.com/,4d26212ccc8cb44df200001d,,bob-person-594e154@aol.com -1294344501000,1294344502000,"-----BEGIN RSA PUBLIC KEY----- -MIGJAoGBALvHUWZmDIJ5DJpjtacVH/oCox+UtMKKiq+2nUsQC8TD1kanmVyUYK8Y -E4sy1zI56E/wKmC/a4UMEQsapFX0CtRhyXEoikoeKUQCATWKjlQVHUmNYybqLDsu -WenFygxQn9ZpcdKxVnQ6kyd6rTd98d6xtphnM2N5eVk1gRKdvsSFAgMBAAE= +",http://google-9a145b5.com/,4d2657ebcc8cb4603300001d,,bob-person-5b5cac7@aol.com +1294358529000,1294358530000,"-----BEGIN RSA PUBLIC KEY----- +MIGJAoGBAPX+Fht8fAO9CA98QaafnTuZV/cGCkfiFeX2DoWCBv6bqC43SkNNUGO0 +20k64y7Oxly7dfcnFkxGWvT4NY4r2eud1pf0ZhUNmbzobL6xB3bIgHFo7jxfksaq +mlWcmA58drV9bc0RxI+VzRxrgSYCdIH22xYjG0PBD+agrlryGvUlAgMBAAE= -----END RSA PUBLIC KEY----- -",http://google-100d6ffc.com/,4d262135cc8cb44df2000034,,bob5ae60b9@localhost +",http://google-105b0733.com/,4d265801cc8cb46033000034,,bob5f4e201@localhost diff --git a/spec/fixtures/data_conversion/post_visibilities.csv b/spec/fixtures/data_conversion/post_visibilities.csv index 1159519b9..318ea2837 100644 --- a/spec/fixtures/data_conversion/post_visibilities.csv +++ b/spec/fixtures/data_conversion/post_visibilities.csv @@ -1,9 +1,9 @@ aspect_mongo_id,post_mongo_id -4d26212bcc8cb44df2000006,4d262132cc8cb44df2000023 -4d26212bcc8cb44df2000006,4d262133cc8cb44df200002d -4d26212bcc8cb44df200000a,4d262132cc8cb44df2000023 -4d26212bcc8cb44df200000a,4d262133cc8cb44df200002d -4d26212bcc8cb44df2000012,4d262132cc8cb44df2000025 -4d26212bcc8cb44df2000012,4d262134cc8cb44df200002f -4d26212bcc8cb44df2000016,4d262135cc8cb44df2000036 -4d26212bcc8cb44df2000016,4d262136cc8cb44df2000037 +4d2657e9cc8cb46033000006,4d2657fdcc8cb46033000023 +4d2657e9cc8cb46033000006,4d2657fecc8cb4603300002d +4d2657eacc8cb4603300000a,4d2657fdcc8cb46033000023 +4d2657eacc8cb4603300000a,4d2657fecc8cb4603300002d +4d2657eacc8cb46033000012,4d2657fdcc8cb46033000025 +4d2657eacc8cb46033000012,4d2657ffcc8cb4603300002f +4d2657eacc8cb46033000016,4d265801cc8cb46033000036 +4d2657eacc8cb46033000016,4d265802cc8cb46033000037 diff --git a/spec/fixtures/data_conversion/profiles.csv b/spec/fixtures/data_conversion/profiles.csv index 038ad46c6..47842d014 100644 --- a/spec/fixtures/data_conversion/profiles.csv +++ b/spec/fixtures/data_conversion/profiles.csv @@ -1,11 +1,11 @@ image_url_medium,searchable,image_url,person_mongo_id,gender,diaspora_handle,birthday,last_name,bio,image_url_small,first_name -,true,,4d262129cc8cb44df2000001,,,,weinstien,,,eugene -,true,,4d262129cc8cb44df2000001,,,,weinstien,,,eugene -,true,,4d262129cc8cb44df2000001,,,,weinstien,,,eugene -,true,,4d26212bcc8cb44df2000007,,,,Grimm172d9ad,,,Robert1c2ef4f -,true,,4d26212bcc8cb44df200000b,,,,Grimm2b840b9,,,Robert27f81ab -,true,,4d262129cc8cb44df2000001,,,,weinstien,,,eugene -,true,,4d26212bcc8cb44df2000013,,,,Grimm3402a1c,,,Robert3eae7ca -,true,,4d26212bcc8cb44df2000017,,,,Grimm4d8d32a,,,Robert49ae3ee -,true,,4d262129cc8cb44df2000001,,,,weinstien,,,eugene -,true,,4d262135cc8cb44df2000033,,,,Grimm58c83c9,,,Robert5d5a980 +,true,,4d2657e8cc8cb46033000001,,,,weinstien,,,eugene +,true,,4d2657e8cc8cb46033000001,,,,weinstien,,,eugene +,true,,4d2657e8cc8cb46033000001,,,,weinstien,,,eugene +,true,,4d2657e9cc8cb46033000007,,,,Grimm19732e7,,,Robert10185a9 +,true,,4d2657eacc8cb4603300000b,,,,Grimm28a80b3,,,Robert23d858a +,true,,4d2657e8cc8cb46033000001,,,,weinstien,,,eugene +,true,,4d2657eacc8cb46033000013,,,,Grimm3fc2757,,,Robert3c7d0f9 +,true,,4d2657eacc8cb46033000017,,,,Grimm42db0a0,,,Robert4c7f1eb +,true,,4d2657e8cc8cb46033000001,,,,weinstien,,,eugene +,true,,4d265801cc8cb46033000033,,,,Grimm53b852b,,,Robert5f2972a diff --git a/spec/fixtures/data_conversion/requests.csv b/spec/fixtures/data_conversion/requests.csv index de0683582..72b6d9fba 100644 --- a/spec/fixtures/data_conversion/requests.csv +++ b/spec/fixtures/data_conversion/requests.csv @@ -1,3 +1,3 @@ mongo_id,recipient_mongo_id,sender_mongo_id,aspect_mongo_id -4d26212ccc8cb44df200001b,4d26212bcc8cb44df2000018,4d26212bcc8cb44df2000014, -4d262136cc8cb44df200003a,4d26212bcc8cb44df200000c,4d262135cc8cb44df2000034, +4d2657eacc8cb4603300001b,4d2657eacc8cb46033000018,4d2657eacc8cb46033000014, +4d265802cc8cb4603300003a,4d2657eacc8cb4603300000c,4d265801cc8cb46033000034, diff --git a/spec/fixtures/data_conversion/users.csv b/spec/fixtures/data_conversion/users.csv index 5a61c6651..20096e3da 100644 --- a/spec/fixtures/data_conversion/users.csv +++ b/spec/fixtures/data_conversion/users.csv @@ -1,169 +1,169 @@ -mongo_id,username,serialized_private_key,encrypted_password,invites,invitation_token,invitation_sent_at,getting_started,disable_mail,language,last_sign_in_ip,last_sign_in_at,reset_password_token,password_salt -4d26212acc8cb44df2000005,bob178fa79,"-----BEGIN RSA PRIVATE KEY----- -MIICXAIBAAKBgQC7x1FmZgyCeQyaY7WnFR/6AqMflLTCioqvtp1LEAvEw9ZGp5lc -lGCvGBOLMtcyOehP8Cpgv2uFDBELGqRV9ArUYclxKIpKHilEAgE1io5UFR1JjWMm -6iw7LlnpxcoMUJ/WaXHSsVZ0OpMneq03ffHesbaYZzNjeXlZNYESnb7EhQIDAQAB -AoGAHWuRGVYLx7VngBj3MQJiTC11mVEXMRO7vuQBqO0Oqvlz7QX9RUAKFeTTyw9g -IAJqn3ulaBsVoXbOhMrbzIu71l3GjmIArRH4TtdBLSUwR7eQPeUF1QI7jKd6MUmX -wf7nw7N5YqOiTXynLoG7zi9U5Jgy7W75jusZHx6NlBWTHdECQQDsRFNI6QX1Tmrz -ZjGpbKNR5jzS5DCvnw/sys97eegal7m38k/dDWYQEPSxNNWoRW4iJ9Mt0W5cVRW7 -bmJ+uvNnAkEAy3ZA3SkEqsPj8DAyfiqksw9r78HUBUh8Dzm3kMtQn3/R0S8tiXdm -jOw6vgsuy7lObUNvgs6c8ENsRf95feAhMwJAG4g2wFdPN2/E7Moq3Vhoi8GtstGe -jsiVXX2gwf3Ju1eU78eP4O2PyC2BpijHAQ3eMKK9bChsmNvdZXMOjUAR3wJAdMro -6QtGto/EJHhGQ85OxMqxduuYvX+iV0sWaHONUEGbO60NQr/bikGAZt8cea1hq67u -L/RSekj5uiSwpOUnqQJBANA3ekh8G6WD1jw6JkSPTxrjemry+wSlNcj+UL7BEP0K -8kZ9BNbRBhflglASXniAnTLyUa7beF0TMRBZkNZJYYI= +mongo_id,email,username,serialized_private_key,encrypted_password,invites,invitation_token,invitation_sent_at,getting_started,disable_mail,language,last_sign_in_ip,last_sign_in_at,reset_password_token,password_salt +4d2657e9cc8cb46033000005,bob13ef00b@pivotallabs.com,bob14cbf20,"-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQD1/hYbfHwDvQgPfEGmn507mVf3BgpH4hXl9g6Fggb+m6guN0pD +TVBjtNtJOuMuzsZcu3X3JxZMRlr0+DWOK9nrndaX9GYVDZm86Gy+sQd2yIBxaO48 +X5LGqppVnJgOfHa1fW3NEcSPlc0ca4EmAnSB9tsWIxtDwQ/moK5a8hr1JQIDAQAB +AoGADBzNw962UIzPR8vrg6PaXyPm0/AFM5LrVx5tip9jbsgFWPk5++Rjr/Uo0wtG +QnjGBazpWxkenPTd57ANGwoHudydHl/rGNQhymfdmqpvIGfZE2ll5wWuNdFsvAwu +79nxJjxiCGh8GQOFWRR+wzocpYAiLHokgdVMI4pm9POr+oUCQQD/kB7HE2/9I6ul +kGHJIwTargV9WSCrEjqFpzv+VCJs/0Uqo29y91LUYdWNBd/KhTNmNdT5Hu09Evzj +dxCW5wDfAkEA9mnGwm1R6Fmf2HpEoKt/k20YgZJgrS9ulTzrX/3zIWUtuQbAvhjh +FF7GNQszvpGl7O7TL8cwNuF6PJTfXmG2ewJAWVaKS9Fxrq5PjLsiU+vYAJIg/Sax +Etx2dM53XHsQ5cV+6l7j0O7Al9nziy7ogqV5yFs9LjEvgdAnc2Tl+bqbRQJBAJSL +57pF1N7RSL9j1gNV366sUd2qtIUy1uM4ulw/51X2fL3SCFeQ//8bszk+646yluhi +gQWIetRa0Sm8RXvMRAkCQElrUI4sIWYrYYD4uWquzUTXo2gZluLX94y2x3xddSxd ++RmqmTODy+Ez1crag6NlJNERpQZJ2b9vzCN3qq5JLkE= -----END RSA PRIVATE KEY----- -",$2a$10$/GdbNhmBnml1x/utHQbQSemGhd6rEfIbinxXYh9jTg6/D7/TyUKHO,4,,,true,false,en,,,,$2a$10$/GdbNhmBnml1x/utHQbQSe -4d26212bcc8cb44df2000009,bob2f2d21a,"-----BEGIN RSA PRIVATE KEY----- -MIICXAIBAAKBgQC7x1FmZgyCeQyaY7WnFR/6AqMflLTCioqvtp1LEAvEw9ZGp5lc -lGCvGBOLMtcyOehP8Cpgv2uFDBELGqRV9ArUYclxKIpKHilEAgE1io5UFR1JjWMm -6iw7LlnpxcoMUJ/WaXHSsVZ0OpMneq03ffHesbaYZzNjeXlZNYESnb7EhQIDAQAB -AoGAHWuRGVYLx7VngBj3MQJiTC11mVEXMRO7vuQBqO0Oqvlz7QX9RUAKFeTTyw9g -IAJqn3ulaBsVoXbOhMrbzIu71l3GjmIArRH4TtdBLSUwR7eQPeUF1QI7jKd6MUmX -wf7nw7N5YqOiTXynLoG7zi9U5Jgy7W75jusZHx6NlBWTHdECQQDsRFNI6QX1Tmrz -ZjGpbKNR5jzS5DCvnw/sys97eegal7m38k/dDWYQEPSxNNWoRW4iJ9Mt0W5cVRW7 -bmJ+uvNnAkEAy3ZA3SkEqsPj8DAyfiqksw9r78HUBUh8Dzm3kMtQn3/R0S8tiXdm -jOw6vgsuy7lObUNvgs6c8ENsRf95feAhMwJAG4g2wFdPN2/E7Moq3Vhoi8GtstGe -jsiVXX2gwf3Ju1eU78eP4O2PyC2BpijHAQ3eMKK9bChsmNvdZXMOjUAR3wJAdMro -6QtGto/EJHhGQ85OxMqxduuYvX+iV0sWaHONUEGbO60NQr/bikGAZt8cea1hq67u -L/RSekj5uiSwpOUnqQJBANA3ekh8G6WD1jw6JkSPTxrjemry+wSlNcj+UL7BEP0K -8kZ9BNbRBhflglASXniAnTLyUa7beF0TMRBZkNZJYYI= +",$2a$10$egI1BDVd41AKPndPIo8sbuojPUDwIgbHUKm2D0DEO4rkaOf7v4IGO,4,,,true,false,en,,,,$2a$10$egI1BDVd41AKPndPIo8sbu +4d2657e9cc8cb46033000009,bob23f086f@pivotallabs.com,bob2f629f3,"-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQD1/hYbfHwDvQgPfEGmn507mVf3BgpH4hXl9g6Fggb+m6guN0pD +TVBjtNtJOuMuzsZcu3X3JxZMRlr0+DWOK9nrndaX9GYVDZm86Gy+sQd2yIBxaO48 +X5LGqppVnJgOfHa1fW3NEcSPlc0ca4EmAnSB9tsWIxtDwQ/moK5a8hr1JQIDAQAB +AoGADBzNw962UIzPR8vrg6PaXyPm0/AFM5LrVx5tip9jbsgFWPk5++Rjr/Uo0wtG +QnjGBazpWxkenPTd57ANGwoHudydHl/rGNQhymfdmqpvIGfZE2ll5wWuNdFsvAwu +79nxJjxiCGh8GQOFWRR+wzocpYAiLHokgdVMI4pm9POr+oUCQQD/kB7HE2/9I6ul +kGHJIwTargV9WSCrEjqFpzv+VCJs/0Uqo29y91LUYdWNBd/KhTNmNdT5Hu09Evzj +dxCW5wDfAkEA9mnGwm1R6Fmf2HpEoKt/k20YgZJgrS9ulTzrX/3zIWUtuQbAvhjh +FF7GNQszvpGl7O7TL8cwNuF6PJTfXmG2ewJAWVaKS9Fxrq5PjLsiU+vYAJIg/Sax +Etx2dM53XHsQ5cV+6l7j0O7Al9nziy7ogqV5yFs9LjEvgdAnc2Tl+bqbRQJBAJSL +57pF1N7RSL9j1gNV366sUd2qtIUy1uM4ulw/51X2fL3SCFeQ//8bszk+646yluhi +gQWIetRa0Sm8RXvMRAkCQElrUI4sIWYrYYD4uWquzUTXo2gZluLX94y2x3xddSxd ++RmqmTODy+Ez1crag6NlJNERpQZJ2b9vzCN3qq5JLkE= -----END RSA PRIVATE KEY----- -",$2a$10$A6dRZXL8FN3ANCOeXsU5VONxQykh6Xvq4Zh5qrPIHU/WJ/4enlRUS,5,,,true,false,en,,,,$2a$10$A6dRZXL8FN3ANCOeXsU5VO -4d26212bcc8cb44df2000011,bob3127b24,"-----BEGIN RSA PRIVATE KEY----- -MIICXAIBAAKBgQC7x1FmZgyCeQyaY7WnFR/6AqMflLTCioqvtp1LEAvEw9ZGp5lc -lGCvGBOLMtcyOehP8Cpgv2uFDBELGqRV9ArUYclxKIpKHilEAgE1io5UFR1JjWMm -6iw7LlnpxcoMUJ/WaXHSsVZ0OpMneq03ffHesbaYZzNjeXlZNYESnb7EhQIDAQAB -AoGAHWuRGVYLx7VngBj3MQJiTC11mVEXMRO7vuQBqO0Oqvlz7QX9RUAKFeTTyw9g -IAJqn3ulaBsVoXbOhMrbzIu71l3GjmIArRH4TtdBLSUwR7eQPeUF1QI7jKd6MUmX -wf7nw7N5YqOiTXynLoG7zi9U5Jgy7W75jusZHx6NlBWTHdECQQDsRFNI6QX1Tmrz -ZjGpbKNR5jzS5DCvnw/sys97eegal7m38k/dDWYQEPSxNNWoRW4iJ9Mt0W5cVRW7 -bmJ+uvNnAkEAy3ZA3SkEqsPj8DAyfiqksw9r78HUBUh8Dzm3kMtQn3/R0S8tiXdm -jOw6vgsuy7lObUNvgs6c8ENsRf95feAhMwJAG4g2wFdPN2/E7Moq3Vhoi8GtstGe -jsiVXX2gwf3Ju1eU78eP4O2PyC2BpijHAQ3eMKK9bChsmNvdZXMOjUAR3wJAdMro -6QtGto/EJHhGQ85OxMqxduuYvX+iV0sWaHONUEGbO60NQr/bikGAZt8cea1hq67u -L/RSekj5uiSwpOUnqQJBANA3ekh8G6WD1jw6JkSPTxrjemry+wSlNcj+UL7BEP0K -8kZ9BNbRBhflglASXniAnTLyUa7beF0TMRBZkNZJYYI= +",$2a$10$qP51bxw6W.4Cslrdi0x0zOT1UdBYKX9.sKTOsCD6q0IHONrn2hR1q,5,,,true,false,en,,,,$2a$10$qP51bxw6W.4Cslrdi0x0zO +4d2657eacc8cb46033000011,bob3026ee4@pivotallabs.com,bob3bce0e0,"-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQD1/hYbfHwDvQgPfEGmn507mVf3BgpH4hXl9g6Fggb+m6guN0pD +TVBjtNtJOuMuzsZcu3X3JxZMRlr0+DWOK9nrndaX9GYVDZm86Gy+sQd2yIBxaO48 +X5LGqppVnJgOfHa1fW3NEcSPlc0ca4EmAnSB9tsWIxtDwQ/moK5a8hr1JQIDAQAB +AoGADBzNw962UIzPR8vrg6PaXyPm0/AFM5LrVx5tip9jbsgFWPk5++Rjr/Uo0wtG +QnjGBazpWxkenPTd57ANGwoHudydHl/rGNQhymfdmqpvIGfZE2ll5wWuNdFsvAwu +79nxJjxiCGh8GQOFWRR+wzocpYAiLHokgdVMI4pm9POr+oUCQQD/kB7HE2/9I6ul +kGHJIwTargV9WSCrEjqFpzv+VCJs/0Uqo29y91LUYdWNBd/KhTNmNdT5Hu09Evzj +dxCW5wDfAkEA9mnGwm1R6Fmf2HpEoKt/k20YgZJgrS9ulTzrX/3zIWUtuQbAvhjh +FF7GNQszvpGl7O7TL8cwNuF6PJTfXmG2ewJAWVaKS9Fxrq5PjLsiU+vYAJIg/Sax +Etx2dM53XHsQ5cV+6l7j0O7Al9nziy7ogqV5yFs9LjEvgdAnc2Tl+bqbRQJBAJSL +57pF1N7RSL9j1gNV366sUd2qtIUy1uM4ulw/51X2fL3SCFeQ//8bszk+646yluhi +gQWIetRa0Sm8RXvMRAkCQElrUI4sIWYrYYD4uWquzUTXo2gZluLX94y2x3xddSxd ++RmqmTODy+Ez1crag6NlJNERpQZJ2b9vzCN3qq5JLkE= -----END RSA PRIVATE KEY----- -",$2a$10$hBXekBRF9C521kmtvunLj.IIvg1APqMu5fvEwpV4HmqHSAbqoCAbq,5,,,true,false,en,,,,$2a$10$hBXekBRF9C521kmtvunLj. -4d26212bcc8cb44df2000015,bob4221dca,"-----BEGIN RSA PRIVATE KEY----- -MIICXAIBAAKBgQC7x1FmZgyCeQyaY7WnFR/6AqMflLTCioqvtp1LEAvEw9ZGp5lc -lGCvGBOLMtcyOehP8Cpgv2uFDBELGqRV9ArUYclxKIpKHilEAgE1io5UFR1JjWMm -6iw7LlnpxcoMUJ/WaXHSsVZ0OpMneq03ffHesbaYZzNjeXlZNYESnb7EhQIDAQAB -AoGAHWuRGVYLx7VngBj3MQJiTC11mVEXMRO7vuQBqO0Oqvlz7QX9RUAKFeTTyw9g -IAJqn3ulaBsVoXbOhMrbzIu71l3GjmIArRH4TtdBLSUwR7eQPeUF1QI7jKd6MUmX -wf7nw7N5YqOiTXynLoG7zi9U5Jgy7W75jusZHx6NlBWTHdECQQDsRFNI6QX1Tmrz -ZjGpbKNR5jzS5DCvnw/sys97eegal7m38k/dDWYQEPSxNNWoRW4iJ9Mt0W5cVRW7 -bmJ+uvNnAkEAy3ZA3SkEqsPj8DAyfiqksw9r78HUBUh8Dzm3kMtQn3/R0S8tiXdm -jOw6vgsuy7lObUNvgs6c8ENsRf95feAhMwJAG4g2wFdPN2/E7Moq3Vhoi8GtstGe -jsiVXX2gwf3Ju1eU78eP4O2PyC2BpijHAQ3eMKK9bChsmNvdZXMOjUAR3wJAdMro -6QtGto/EJHhGQ85OxMqxduuYvX+iV0sWaHONUEGbO60NQr/bikGAZt8cea1hq67u -L/RSekj5uiSwpOUnqQJBANA3ekh8G6WD1jw6JkSPTxrjemry+wSlNcj+UL7BEP0K -8kZ9BNbRBhflglASXniAnTLyUa7beF0TMRBZkNZJYYI= +",$2a$10$tUMWbWr9JMl6N4XtSu1LKObvAfvY2pc2qQvT1nxeTE0yw0RBqMQVK,5,,,true,false,en,,,,$2a$10$tUMWbWr9JMl6N4XtSu1LKO +4d2657eacc8cb46033000015,bob4e1b09e@pivotallabs.com,bob4c66fa9,"-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQD1/hYbfHwDvQgPfEGmn507mVf3BgpH4hXl9g6Fggb+m6guN0pD +TVBjtNtJOuMuzsZcu3X3JxZMRlr0+DWOK9nrndaX9GYVDZm86Gy+sQd2yIBxaO48 +X5LGqppVnJgOfHa1fW3NEcSPlc0ca4EmAnSB9tsWIxtDwQ/moK5a8hr1JQIDAQAB +AoGADBzNw962UIzPR8vrg6PaXyPm0/AFM5LrVx5tip9jbsgFWPk5++Rjr/Uo0wtG +QnjGBazpWxkenPTd57ANGwoHudydHl/rGNQhymfdmqpvIGfZE2ll5wWuNdFsvAwu +79nxJjxiCGh8GQOFWRR+wzocpYAiLHokgdVMI4pm9POr+oUCQQD/kB7HE2/9I6ul +kGHJIwTargV9WSCrEjqFpzv+VCJs/0Uqo29y91LUYdWNBd/KhTNmNdT5Hu09Evzj +dxCW5wDfAkEA9mnGwm1R6Fmf2HpEoKt/k20YgZJgrS9ulTzrX/3zIWUtuQbAvhjh +FF7GNQszvpGl7O7TL8cwNuF6PJTfXmG2ewJAWVaKS9Fxrq5PjLsiU+vYAJIg/Sax +Etx2dM53XHsQ5cV+6l7j0O7Al9nziy7ogqV5yFs9LjEvgdAnc2Tl+bqbRQJBAJSL +57pF1N7RSL9j1gNV366sUd2qtIUy1uM4ulw/51X2fL3SCFeQ//8bszk+646yluhi +gQWIetRa0Sm8RXvMRAkCQElrUI4sIWYrYYD4uWquzUTXo2gZluLX94y2x3xddSxd ++RmqmTODy+Ez1crag6NlJNERpQZJ2b9vzCN3qq5JLkE= -----END RSA PRIVATE KEY----- -",$2a$10$4u0OKY4aXs5PU5c8J0w4VOpUqGHoqy8LCSdR3.Dxnv7bGdsQCVVES,5,,,true,false,en,,,,$2a$10$4u0OKY4aXs5PU5c8J0w4VO -4d26212ccc8cb44df2000020,,"-----BEGIN RSA PRIVATE KEY----- -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 +",$2a$10$GSVEmhmkNrTClXBKb05Za.RW6KM6EapPNAhFlaZElW5Z0/LvmSX8K,5,,,true,false,en,,,,$2a$10$GSVEmhmkNrTClXBKb05Za. +4d2657ebcc8cb46033000020,random@example.com,,"-----BEGIN RSA PRIVATE KEY----- +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 -----END RSA PRIVATE KEY----- -","",3,a2NzI43Xms9x2IyWXuUo,1294272000000,true,false,en,,,,"" -4d26212fcc8cb44df2000021,,"-----BEGIN RSA PRIVATE KEY----- -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 +","",3,ZxbEK8TipG_En1etPP58,1294358400000,true,false,en,,,,"" +4d2657fbcc8cb46033000021,random2@example.net,,"-----BEGIN RSA PRIVATE KEY----- +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 -----END RSA PRIVATE KEY----- -","",5,zWZ7OFs1QB6DEWIWFKAq,1294272000000,true,false,en,,,,"" +","",5,fdh7xwzT6TbQ8aqflPuZ,1294358400000,true,false,en,,,,"" diff --git a/spec/lib/data_conversion/import_to_mysql_spec.rb b/spec/lib/data_conversion/import_to_mysql_spec.rb index 07ea2fb8d..afb27b5e3 100644 --- a/spec/lib/data_conversion/import_to_mysql_spec.rb +++ b/spec/lib/data_conversion/import_to_mysql_spec.rb @@ -18,6 +18,66 @@ describe DataConversion::ImportToMysql do FileUtils.mkdir_p(@migrator.full_path) end + describe "#process_raw" do + + describe "users" do + before do + copy_fixture_for("users") + @migrator.import_raw_users + end + it "imports data into the users table" do + Mongo::User.count.should == 6 + User.count.should == 0 + @migrator.process_raw_users + User.count.should == 6 + end + it "imports all the columns" do + @migrator.process_raw_users + bob = User.first + bob.mongo_id.should == "4d2657e9cc8cb46033000005" + bob.username.should == "bob14cbf20" + bob.email.should == "bob13ef00b@pivotallabs.com" + bob.serialized_private_key.should_not be_nil + bob.encrypted_password.should_not be_nil + bob.invites.should == 4 + bob.invitation_token.should be_nil + bob.invitation_sent_at.should be_nil + bob.getting_started.should be_true + bob.disable_mail.should be_false + bob.language.should == 'en' + bob.last_sign_in_ip.should be_nil + bob.last_sign_in_at.to_i.should_not be_nil + bob.reset_password_token.should be_nil + bob.password_salt.should_not be_nil + end + describe "aspects" do + before do + copy_fixture_for("aspects") + @migrator.import_raw_aspects + @migrator.process_raw_users + end + it "imports data into the aspects table" do + Mongo::Aspect.count.should == 4 + Aspect.count.should == 0 + @migrator.process_raw_aspects + Aspect.count.should == 4 + end + it "imports all the columns" do + @migrator.process_raw_aspects + aspect = Aspect.first + aspect.name.should == "generic" + aspect.mongo_id.should == "4d2657e9cc8cb46033000006" + aspect.user_mongo_id.should == "4d2657e9cc8cb46033000005" + aspect.user_id.should == User.where(:mongo_id => aspect.user_mongo_id) + end + it "sets the relation column" do + @migrator.process_raw_aspects + aspect = Aspect.first + aspect.user_id.should == User.where(:mongo_id => aspect.user_mongo_id).first.id + end + end + end + end describe "#import_raw" do describe "aspects" do before do @@ -34,8 +94,8 @@ describe DataConversion::ImportToMysql do @migrator.import_raw_aspects aspect = Mongo::Aspect.first aspect.name.should == "generic" - aspect.mongo_id.should == "4d26212bcc8cb44df2000006" - aspect.user_mongo_id.should == "4d26212acc8cb44df2000005" + aspect.mongo_id.should == "4d2657e9cc8cb46033000006" + aspect.user_mongo_id.should == "4d2657e9cc8cb46033000005" end end @@ -53,8 +113,8 @@ describe DataConversion::ImportToMysql do it "imports all the columns" do @migrator.import_raw_aspect_memberships aspectm = Mongo::AspectMembership.first - aspectm.contact_mongo_id.should == "4d26212bcc8cb44df200000d" - aspectm.aspect_mongo_id.should == "4d26212bcc8cb44df2000006" + aspectm.contact_mongo_id.should == "4d2657eacc8cb4603300000d" + aspectm.aspect_mongo_id.should == "4d2657e9cc8cb46033000006" end end @@ -72,10 +132,10 @@ describe DataConversion::ImportToMysql do it "imports all the columns" do @migrator.import_raw_comments comment = Mongo::Comment.first - comment.mongo_id.should == "4d262132cc8cb44df2000027" + comment.mongo_id.should == "4d2657fdcc8cb46033000027" comment.text.should == "Hey me!" - comment.person_mongo_id.should == "4d26212bcc8cb44df2000014" - comment.post_mongo_id.should == "4d262132cc8cb44df2000025" + comment.person_mongo_id.should == "4d2657eacc8cb46033000014" + comment.post_mongo_id.should == "4d2657fdcc8cb46033000025" comment.youtube_titles.should be_nil end end @@ -93,9 +153,9 @@ describe DataConversion::ImportToMysql do it "imports all the columns" do @migrator.import_raw_contacts contact = Mongo::Contact.first - contact.mongo_id.should == "4d26212bcc8cb44df200000d" - contact.user_mongo_id.should =="4d26212acc8cb44df2000005" - contact.person_mongo_id.should == "4d26212bcc8cb44df200000c" + contact.mongo_id.should == "4d2657eacc8cb4603300000d" + contact.user_mongo_id.should =="4d2657e9cc8cb46033000005" + contact.person_mongo_id.should == "4d2657eacc8cb4603300000c" contact.pending.should be_false contact.created_at.should be_nil end @@ -114,10 +174,10 @@ describe DataConversion::ImportToMysql do it "imports all the columns" do @migrator.import_raw_invitations invitation = Mongo::Invitation.first - invitation.mongo_id.should == "4d262131cc8cb44df2000022" - invitation.recipient_mongo_id.should =="4d26212fcc8cb44df2000021" - invitation.sender_mongo_id.should == "4d26212acc8cb44df2000005" - invitation.aspect_mongo_id.should == '4d26212bcc8cb44df2000006' + invitation.mongo_id.should == "4d2657fdcc8cb46033000022" + invitation.recipient_mongo_id.should =="4d2657fbcc8cb46033000021" + invitation.sender_mongo_id.should == "4d2657e9cc8cb46033000005" + invitation.aspect_mongo_id.should == '4d2657e9cc8cb46033000006' invitation.message.should == "Hello!" end end @@ -169,8 +229,8 @@ describe DataConversion::ImportToMysql do it "imports all the columns" do @migrator.import_raw_notifications notification = Mongo::Notification.first - notification.mongo_id.should == "4d26212ccc8cb44df200001c" - notification.target_mongo_id.should == '4d26212ccc8cb44df200001b' + notification.mongo_id.should == "4d2657eacc8cb4603300001c" + notification.target_mongo_id.should == '4d2657eacc8cb4603300001b' notification.target_type.should == "new_request" notification.unread.should be_true end @@ -192,12 +252,12 @@ describe DataConversion::ImportToMysql do @migrator.import_raw_people person = Mongo::Person.first person.owner_mongo_id.should be_nil - person.mongo_id.should == "4d26212acc8cb44df2000002" + person.mongo_id.should == "4d2657e9cc8cb46033000002" person.guid.should == person.mongo_id - person.url.should == "http://google-1b5b16a.com/" - person.diaspora_handle.should == "bob-person-1a8bc18@aol.com" + person.url.should == "http://google-10ce30d.com/" + person.diaspora_handle.should == "bob-person-19732b3@aol.com" person.serialized_public_key.should_not be_nil - person.created_at.to_i.should == 1294344490 + person.created_at.to_i.should == 1294358505 end end describe "post_visibilities" do @@ -214,8 +274,8 @@ describe DataConversion::ImportToMysql do it "imports all the columns" do @migrator.import_raw_post_visibilities pv = Mongo::PostVisibility.first - pv.post_mongo_id.should == "4d262132cc8cb44df2000023" - pv.aspect_mongo_id.should =="4d26212bcc8cb44df2000006" + pv.aspect_mongo_id.should == "4d2657e9cc8cb46033000006" + pv.post_mongo_id.should =="4d2657fdcc8cb46033000023" end end describe "profiles" do @@ -235,7 +295,7 @@ describe DataConversion::ImportToMysql do profile.image_url_medium.should be_nil profile.searchable.should == true profile.image_url.should be_nil - profile.person_mongo_id.should == "4d262129cc8cb44df2000001" + profile.person_mongo_id.should == "4d2657e8cc8cb46033000001" profile.gender.should be_nil profile.diaspora_handle.should be_nil profile.birthday.should be_nil @@ -260,9 +320,9 @@ describe DataConversion::ImportToMysql do it "imports all the columns" do @migrator.import_raw_requests request = Mongo::Request.first - request.mongo_id.should == "4d26212ccc8cb44df200001b" - request.recipient_mongo_id.should =="4d26212bcc8cb44df2000018" - request.sender_mongo_id.should == "4d26212bcc8cb44df2000014" + request.mongo_id.should == "4d2657eacc8cb4603300001b" + request.recipient_mongo_id.should == "4d2657eacc8cb46033000018" + request.sender_mongo_id.should == "4d2657eacc8cb46033000014" request.aspect_mongo_id.should be_nil end end @@ -301,8 +361,9 @@ describe DataConversion::ImportToMysql do it "imports all the columns" do @migrator.import_raw_users bob = Mongo::User.first - bob.mongo_id.should == "4d26212acc8cb44df2000005" - bob.username.should == "bob178fa79" + bob.mongo_id.should == "4d2657e9cc8cb46033000005" + bob.username.should == "bob14cbf20" + bob.email.should == "bob13ef00b@pivotallabs.com" bob.serialized_private_key.should_not be_nil bob.encrypted_password.should_not be_nil bob.invites.should == 4