From b274cc3dad65baa11bbb9052a32d6831bae9096b Mon Sep 17 00:00:00 2001 From: Benjamin Neff Date: Wed, 14 Feb 2018 01:38:23 +0100 Subject: [PATCH] Fix some validators for nil values Using the real entities for the tests also uncovered some bugs where for example empty strings are converted to nil and the validation wasn't invalid in this case, but should be. --- lib/diaspora_federation/entities/account_migration.rb | 2 +- lib/diaspora_federation/validators/conversation_validator.rb | 2 +- .../validators/event_participation_validator.rb | 2 +- .../diaspora_federation/validators/web_finger_validator_spec.rb | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/diaspora_federation/entities/account_migration.rb b/lib/diaspora_federation/entities/account_migration.rb index 89e19c0..82deed3 100644 --- a/lib/diaspora_federation/entities/account_migration.rb +++ b/lib/diaspora_federation/entities/account_migration.rb @@ -43,7 +43,7 @@ module DiasporaFederation # Returns diaspora* ID of the new person identity. # @return [String] diaspora* ID of the new person identity def new_identity - profile.author + profile.author if profile end # @return [String] string representation of this object diff --git a/lib/diaspora_federation/validators/conversation_validator.rb b/lib/diaspora_federation/validators/conversation_validator.rb index d3d63a9..1e66994 100644 --- a/lib/diaspora_federation/validators/conversation_validator.rb +++ b/lib/diaspora_federation/validators/conversation_validator.rb @@ -9,7 +9,7 @@ module DiasporaFederation rule :subject, [:not_empty, length: {maximum: 255}] - rule :participants, diaspora_id_list: {minimum: 2} + rule :participants, [:not_empty, diaspora_id_list: {minimum: 2}] rule :messages, :not_nil end end diff --git a/lib/diaspora_federation/validators/event_participation_validator.rb b/lib/diaspora_federation/validators/event_participation_validator.rb index 9bbb9e8..8e1209f 100644 --- a/lib/diaspora_federation/validators/event_participation_validator.rb +++ b/lib/diaspora_federation/validators/event_participation_validator.rb @@ -6,7 +6,7 @@ module DiasporaFederation include RelayableValidator - rule :status, regular_expression: {regex: /\A(accepted|declined|tentative)\z/} + rule :status, [:not_empty, regular_expression: {regex: /\A(accepted|declined|tentative)\z/}] end end end diff --git a/spec/lib/diaspora_federation/validators/web_finger_validator_spec.rb b/spec/lib/diaspora_federation/validators/web_finger_validator_spec.rb index d493827..bad3334 100644 --- a/spec/lib/diaspora_federation/validators/web_finger_validator_spec.rb +++ b/spec/lib/diaspora_federation/validators/web_finger_validator_spec.rb @@ -27,7 +27,7 @@ module DiasporaFederation describe "##{prop}" do it_behaves_like "a property with a value validation/restriction" do let(:property) { prop } - let(:wrong_values) { ["", "https://asdf$%.com", "example.com"] } + let(:wrong_values) { %w[https://asdf$.com example.com] } let(:correct_values) { [nil] } end