fix factories with spring
This commit is contained in:
parent
98deb40df1
commit
9f67cade7e
4 changed files with 173 additions and 158 deletions
|
|
@ -13,6 +13,8 @@ Metrics/LineLength:
|
||||||
# the code easier to read (by naming things), but can also clutter the class
|
# the code easier to read (by naming things), but can also clutter the class
|
||||||
Metrics/MethodLength:
|
Metrics/MethodLength:
|
||||||
Max: 20
|
Max: 20
|
||||||
|
Exclude:
|
||||||
|
- "lib/diaspora_federation/test/factories.rb"
|
||||||
|
|
||||||
# The guiding principle of classes is SRP, SRP can't be accurately measured by LoC
|
# The guiding principle of classes is SRP, SRP can't be accurately measured by LoC
|
||||||
Metrics/ClassLength:
|
Metrics/ClassLength:
|
||||||
|
|
@ -152,6 +154,8 @@ Metrics/PerceivedComplexity:
|
||||||
Max: 10
|
Max: 10
|
||||||
Metrics/AbcSize:
|
Metrics/AbcSize:
|
||||||
Max: 20
|
Max: 20
|
||||||
|
Exclude:
|
||||||
|
- "lib/diaspora_federation/test/factories.rb"
|
||||||
|
|
||||||
Metrics/ModuleLength:
|
Metrics/ModuleLength:
|
||||||
Max: 1500
|
Max: 1500
|
||||||
|
|
|
||||||
|
|
@ -1,184 +1,192 @@
|
||||||
require "diaspora_federation"
|
require "diaspora_federation"
|
||||||
require "factory_girl"
|
require "factory_girl"
|
||||||
|
|
||||||
FactoryGirl.define do
|
module DiasporaFederation
|
||||||
initialize_with { new(attributes) }
|
module Test
|
||||||
sequence(:guid) { UUID.generate :compact }
|
module Factories
|
||||||
sequence(:diaspora_id) {|n| "person-#{n}-#{SecureRandom.hex(3)}@localhost:3000" }
|
def self.federation_factories
|
||||||
sequence(:public_key) { OpenSSL::PKey::RSA.generate(1024).public_key.export }
|
FactoryGirl.define do
|
||||||
|
initialize_with { new(attributes) }
|
||||||
|
sequence(:guid) { UUID.generate :compact }
|
||||||
|
sequence(:diaspora_id) {|n| "person-#{n}-#{SecureRandom.hex(3)}@localhost:3000" }
|
||||||
|
sequence(:public_key) { OpenSSL::PKey::RSA.generate(1024).public_key.export }
|
||||||
|
|
||||||
factory :webfinger, class: DiasporaFederation::Discovery::WebFinger do
|
factory :webfinger, class: DiasporaFederation::Discovery::WebFinger do
|
||||||
guid
|
guid
|
||||||
acct_uri { "acct:#{generate(:diaspora_id)}" }
|
acct_uri { "acct:#{generate(:diaspora_id)}" }
|
||||||
alias_url "http://localhost:3000/people/0123456789abcdef"
|
alias_url "http://localhost:3000/people/0123456789abcdef"
|
||||||
hcard_url "http://localhost:3000/hcard/users/user"
|
hcard_url "http://localhost:3000/hcard/users/user"
|
||||||
seed_url "http://localhost:3000/"
|
seed_url "http://localhost:3000/"
|
||||||
profile_url "http://localhost:3000/u/user"
|
profile_url "http://localhost:3000/u/user"
|
||||||
atom_url "http://localhost:3000/public/user.atom"
|
atom_url "http://localhost:3000/public/user.atom"
|
||||||
salmon_url "http://localhost:3000/receive/users/0123456789abcdef"
|
salmon_url "http://localhost:3000/receive/users/0123456789abcdef"
|
||||||
public_key
|
public_key
|
||||||
end
|
end
|
||||||
|
|
||||||
factory :h_card, class: DiasporaFederation::Discovery::HCard do
|
factory :h_card, class: DiasporaFederation::Discovery::HCard do
|
||||||
guid
|
guid
|
||||||
nickname "some_name"
|
nickname "some_name"
|
||||||
full_name "my name"
|
full_name "my name"
|
||||||
first_name "my name"
|
first_name "my name"
|
||||||
last_name nil
|
last_name nil
|
||||||
url "http://localhost:3000/"
|
url "http://localhost:3000/"
|
||||||
public_key
|
public_key
|
||||||
photo_large_url "/assets/user/default.png"
|
photo_large_url "/assets/user/default.png"
|
||||||
photo_medium_url "/assets/user/default.png"
|
photo_medium_url "/assets/user/default.png"
|
||||||
photo_small_url "/assets/user/default.png"
|
photo_small_url "/assets/user/default.png"
|
||||||
searchable true
|
searchable true
|
||||||
end
|
end
|
||||||
|
|
||||||
factory :person_entity, class: DiasporaFederation::Entities::Person do
|
factory :person_entity, class: DiasporaFederation::Entities::Person do
|
||||||
guid
|
guid
|
||||||
diaspora_id
|
diaspora_id
|
||||||
url "http://localhost:3000/"
|
url "http://localhost:3000/"
|
||||||
exported_key { generate(:public_key) }
|
exported_key { generate(:public_key) }
|
||||||
profile {
|
profile {
|
||||||
FactoryGirl.build(:profile_entity, diaspora_id: diaspora_id)
|
FactoryGirl.build(:profile_entity, diaspora_id: diaspora_id)
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
factory :profile_entity, class: DiasporaFederation::Entities::Profile do
|
factory :profile_entity, class: DiasporaFederation::Entities::Profile do
|
||||||
diaspora_id
|
diaspora_id
|
||||||
first_name "my name"
|
first_name "my name"
|
||||||
last_name nil
|
last_name nil
|
||||||
image_url "/assets/user/default.png"
|
image_url "/assets/user/default.png"
|
||||||
image_url_medium "/assets/user/default.png"
|
image_url_medium "/assets/user/default.png"
|
||||||
image_url_small "/assets/user/default.png"
|
image_url_small "/assets/user/default.png"
|
||||||
birthday "1988-07-15"
|
birthday "1988-07-15"
|
||||||
gender "Male"
|
gender "Male"
|
||||||
bio "some text about me"
|
bio "some text about me"
|
||||||
location "github"
|
location "github"
|
||||||
searchable true
|
searchable true
|
||||||
nsfw false
|
nsfw false
|
||||||
tag_string "#i #love #tags"
|
tag_string "#i #love #tags"
|
||||||
end
|
end
|
||||||
|
|
||||||
factory :location_entity, class: DiasporaFederation::Entities::Location do
|
factory :location_entity, class: DiasporaFederation::Entities::Location do
|
||||||
address "Vienna, Austria"
|
address "Vienna, Austria"
|
||||||
lat 48.208174.to_s
|
lat 48.208174.to_s
|
||||||
lng 16.373819.to_s
|
lng 16.373819.to_s
|
||||||
end
|
end
|
||||||
|
|
||||||
factory :photo_entity, class: DiasporaFederation::Entities::Photo do
|
factory :photo_entity, class: DiasporaFederation::Entities::Photo do
|
||||||
guid
|
guid
|
||||||
diaspora_id
|
diaspora_id
|
||||||
public(true)
|
public(true)
|
||||||
created_at { Time.zone.now }
|
created_at { Time.zone.now }
|
||||||
remote_photo_path "https://diaspora.example.tld/uploads/images/"
|
remote_photo_path "https://diaspora.example.tld/uploads/images/"
|
||||||
remote_photo_name "f2a41e9d2db4d9a199c8.jpg"
|
remote_photo_name "f2a41e9d2db4d9a199c8.jpg"
|
||||||
text "what you see here..."
|
text "what you see here..."
|
||||||
status_message_guid { generate(:guid) }
|
status_message_guid { generate(:guid) }
|
||||||
height 480
|
height 480
|
||||||
width 800
|
width 800
|
||||||
end
|
end
|
||||||
|
|
||||||
factory :relayable_entity, class: DiasporaFederation::Entities::Relayable do
|
factory :relayable_entity, class: DiasporaFederation::Entities::Relayable do
|
||||||
parent_guid { generate(:guid) }
|
parent_guid { generate(:guid) }
|
||||||
end
|
end
|
||||||
|
|
||||||
factory :participation_entity, class: DiasporaFederation::Entities::Participation, parent: :relayable_entity do
|
factory :participation_entity,
|
||||||
guid
|
class: DiasporaFederation::Entities::Participation, parent: :relayable_entity do
|
||||||
target_type "Post"
|
guid
|
||||||
diaspora_id
|
target_type "Post"
|
||||||
end
|
diaspora_id
|
||||||
|
end
|
||||||
|
|
||||||
factory :status_message_entity, class: DiasporaFederation::Entities::StatusMessage do
|
factory :status_message_entity, class: DiasporaFederation::Entities::StatusMessage do
|
||||||
raw_message "i am a very interesting status update"
|
raw_message "i am a very interesting status update"
|
||||||
guid
|
guid
|
||||||
diaspora_id
|
diaspora_id
|
||||||
public(true)
|
public(true)
|
||||||
created_at { Time.zone.now }
|
created_at { Time.zone.now }
|
||||||
end
|
end
|
||||||
|
|
||||||
factory :request_entity, class: DiasporaFederation::Entities::Request do
|
factory :request_entity, class: DiasporaFederation::Entities::Request do
|
||||||
sender_id { generate(:diaspora_id) }
|
sender_id { generate(:diaspora_id) }
|
||||||
recipient_id { generate(:diaspora_id) }
|
recipient_id { generate(:diaspora_id) }
|
||||||
end
|
end
|
||||||
|
|
||||||
factory :comment_entity, class: DiasporaFederation::Entities::Comment, parent: :relayable_entity do
|
factory :comment_entity, class: DiasporaFederation::Entities::Comment, parent: :relayable_entity do
|
||||||
guid
|
guid
|
||||||
text "this is a very informative comment"
|
text "this is a very informative comment"
|
||||||
diaspora_id
|
diaspora_id
|
||||||
end
|
end
|
||||||
|
|
||||||
factory :like_entity, class: DiasporaFederation::Entities::Like, parent: :relayable_entity do
|
factory :like_entity, class: DiasporaFederation::Entities::Like, parent: :relayable_entity do
|
||||||
positive true
|
positive true
|
||||||
guid
|
guid
|
||||||
target_type "Post"
|
target_type "Post"
|
||||||
diaspora_id
|
diaspora_id
|
||||||
end
|
end
|
||||||
|
|
||||||
factory :account_deletion_entity, class: DiasporaFederation::Entities::AccountDeletion do
|
factory :account_deletion_entity, class: DiasporaFederation::Entities::AccountDeletion do
|
||||||
diaspora_id
|
diaspora_id
|
||||||
end
|
end
|
||||||
|
|
||||||
factory :conversation_entity, class: DiasporaFederation::Entities::Conversation do
|
factory :conversation_entity, class: DiasporaFederation::Entities::Conversation do
|
||||||
guid
|
guid
|
||||||
subject "this is a very informative subject"
|
subject "this is a very informative subject"
|
||||||
created_at { DateTime.now.utc }
|
created_at { DateTime.now.utc }
|
||||||
messages []
|
messages []
|
||||||
diaspora_id
|
diaspora_id
|
||||||
participant_ids { 3.times.map { generate(:diaspora_id) }.join(";") }
|
participant_ids { 3.times.map { generate(:diaspora_id) }.join(";") }
|
||||||
end
|
end
|
||||||
|
|
||||||
factory :message_entity, class: DiasporaFederation::Entities::Message, parent: :relayable_entity do
|
factory :message_entity, class: DiasporaFederation::Entities::Message, parent: :relayable_entity do
|
||||||
guid
|
guid
|
||||||
text "this is a very informative text"
|
text "this is a very informative text"
|
||||||
created_at { DateTime.now.utc }
|
created_at { DateTime.now.utc }
|
||||||
diaspora_id
|
diaspora_id
|
||||||
conversation_guid { generate(:guid) }
|
conversation_guid { generate(:guid) }
|
||||||
end
|
end
|
||||||
|
|
||||||
factory :relayable_retraction_entity, class: DiasporaFederation::Entities::RelayableRetraction do
|
factory :relayable_retraction_entity, class: DiasporaFederation::Entities::RelayableRetraction do
|
||||||
target_guid { generate(:guid) }
|
target_guid { generate(:guid) }
|
||||||
target_type "Comment"
|
target_type "Comment"
|
||||||
diaspora_id
|
diaspora_id
|
||||||
end
|
end
|
||||||
|
|
||||||
factory :reshare_entity, class: DiasporaFederation::Entities::Reshare do
|
factory :reshare_entity, class: DiasporaFederation::Entities::Reshare do
|
||||||
root_diaspora_id { generate(:diaspora_id) }
|
root_diaspora_id { generate(:diaspora_id) }
|
||||||
root_guid { generate(:guid) }
|
root_guid { generate(:guid) }
|
||||||
guid
|
guid
|
||||||
diaspora_id
|
diaspora_id
|
||||||
public(true)
|
public(true)
|
||||||
created_at { DateTime.now.utc }
|
created_at { DateTime.now.utc }
|
||||||
provider_display_name { "the testsuite" }
|
provider_display_name { "the testsuite" }
|
||||||
end
|
end
|
||||||
|
|
||||||
factory :retraction_entity, class: DiasporaFederation::Entities::Retraction do
|
factory :retraction_entity, class: DiasporaFederation::Entities::Retraction do
|
||||||
target_guid { generate(:guid) }
|
target_guid { generate(:guid) }
|
||||||
diaspora_id
|
diaspora_id
|
||||||
target_type "Post"
|
target_type "Post"
|
||||||
end
|
end
|
||||||
|
|
||||||
factory :signed_retraction_entity, class: DiasporaFederation::Entities::SignedRetraction do
|
factory :signed_retraction_entity, class: DiasporaFederation::Entities::SignedRetraction do
|
||||||
target_guid { generate(:guid) }
|
target_guid { generate(:guid) }
|
||||||
target_type "Post"
|
target_type "Post"
|
||||||
diaspora_id
|
diaspora_id
|
||||||
end
|
end
|
||||||
|
|
||||||
factory :poll_answer_entity, class: DiasporaFederation::Entities::PollAnswer do
|
factory :poll_answer_entity, class: DiasporaFederation::Entities::PollAnswer do
|
||||||
guid
|
guid
|
||||||
answer { "Obama is a bicycle" }
|
answer { "Obama is a bicycle" }
|
||||||
end
|
end
|
||||||
|
|
||||||
factory :poll_entity, class: DiasporaFederation::Entities::Poll do
|
factory :poll_entity, class: DiasporaFederation::Entities::Poll do
|
||||||
guid
|
guid
|
||||||
question { "Select an answer" }
|
question { "Select an answer" }
|
||||||
poll_answers { 3.times.map { FactoryGirl.build(:poll_answer_entity) } }
|
poll_answers { 3.times.map { FactoryGirl.build(:poll_answer_entity) } }
|
||||||
end
|
end
|
||||||
|
|
||||||
factory :poll_participation_entity,
|
factory :poll_participation_entity,
|
||||||
class: DiasporaFederation::Entities::PollParticipation,
|
class: DiasporaFederation::Entities::PollParticipation, parent: :relayable_entity do
|
||||||
parent: :relayable_entity do
|
guid
|
||||||
guid
|
diaspora_id
|
||||||
diaspora_id
|
poll_answer_guid { generate(:guid) }
|
||||||
poll_answer_guid { generate(:guid) }
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,7 @@
|
||||||
|
require "diaspora_federation/test"
|
||||||
|
|
||||||
|
DiasporaFederation::Test::Factories.federation_factories
|
||||||
|
|
||||||
FactoryGirl.define do
|
FactoryGirl.define do
|
||||||
factory :person do
|
factory :person do
|
||||||
diaspora_id
|
diaspora_id
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,6 @@ require "rspec/rails"
|
||||||
require "webmock/rspec"
|
require "webmock/rspec"
|
||||||
|
|
||||||
# load factory girl factories
|
# load factory girl factories
|
||||||
require "diaspora_federation/test"
|
|
||||||
require "factories"
|
require "factories"
|
||||||
|
|
||||||
# load test entities
|
# load test entities
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue