diff --git a/app/models/dnskey.rb b/app/models/dnskey.rb index 59fe57c17..87f44166f 100644 --- a/app/models/dnskey.rb +++ b/app/models/dnskey.rb @@ -15,7 +15,7 @@ class Dnskey < ActiveRecord::Base def epp_code_map { '2005' => [ - [:alg, :invalid, { value: { obj: 'alg', val: alg } }], + [:alg, :invalid, { value: { obj: 'alg', val: alg }, values: ALGORITHMS.join(', ') }], [:protocol, :invalid, { value: { obj: 'protocol', val: protocol } }], [:flags, :invalid, { value: { obj: 'flags', val: flags } }] ], @@ -36,8 +36,8 @@ class Dnskey < ActiveRecord::Base def validate_algorithm return if alg.blank? - return if %w(3 5 6 7 8 252 253 254 255).include?(alg.to_s) - errors.add(:alg, :invalid) + return if ALGORITHMS.include?(alg.to_s) + errors.add(:alg, :invalid, values: ALGORITHMS.join(', ')) end def validate_protocol diff --git a/config/locales/en.yml b/config/locales/en.yml index b51fa2b78..3cb52fb35 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -191,7 +191,7 @@ en: dnskey: attributes: alg: - invalid: 'Algorithm is invalid' + invalid: 'Valid algorithms are %{values}' blank: 'Algorithm is missing' protocol: invalid: 'Protocol is invalid' diff --git a/spec/epp/domain_spec.rb b/spec/epp/domain_spec.rb index f3939cd0a..9974df120 100644 --- a/spec/epp/domain_spec.rb +++ b/spec/epp/domain_spec.rb @@ -398,7 +398,7 @@ describe 'EPP Domain', epp: true do response = epp_request(xml, :xml) - expect(response[:results][0][:msg]).to eq('Algorithm is invalid') + expect(response[:results][0][:msg]).to eq('Valid algorithms are 3, 5, 6, 7, 8, 252, 253, 254, 255') expect(response[:results][0][:value]).to eq('9') expect(response[:results][1][:msg]).to eq('Protocol is invalid') @@ -407,7 +407,7 @@ describe 'EPP Domain', epp: true do expect(response[:results][2][:msg]).to eq('Flag is invalid') expect(response[:results][2][:value]).to eq('250') - expect(response[:results][3][:msg]).to eq('Algorithm is invalid') + expect(response[:results][3][:msg]).to eq('Valid algorithms are 3, 5, 6, 7, 8, 252, 253, 254, 255') expect(response[:results][3][:value]).to eq('10') expect(response[:results][4][:msg]).to eq('Flag is invalid')