added test

This commit is contained in:
Oleg Hasjanov 2021-06-17 13:04:44 +03:00
parent 0d40feb9c0
commit 7c8c9120b5
5 changed files with 107 additions and 8 deletions

View file

@ -0,0 +1,78 @@
namespace :collect_invalid_contacts do
desc 'Starts collect invalid validation contacts'
task all_domains: :environment do
# prepare_csv_file
Contact.all.each do |contact|
# email = convert_to_unicode(contact.email)
# result = Truemail.validate(email, with: :mx)
# collect_data_for_csv(contact, result.result) unless result.result.success
end
end
end
# def find_related_domains(contact)
# registrant_domains = Domain.where(registrant_id: contact.id)
# tech_domains = collect_tech_domains(contact)
# admin_domains = collect_admin_domains(contact)
# tech_domains | admin_domains | registrant_domains
# end
# def collect_admin_domains(contact)
# admin_domains = []
# admin_contacts = AdminDomainContact.where(contact_id: contact.id)
# admin_contacts.each do |c|
# admin_domains << Domain.find(c.domain_id)
# end
# admin_domains
# end
# def collect_tech_domains(contact)
# tech_domains = []
# tech_contacts = TechDomainContact.where(contact_id: contact.id)
# tech_contacts.each do |c|
# tech_domains << Domain.find(c.domain_id)
# end
# tech_domains
# end
# def collect_data_for_csv(contact, result)
# domains = find_related_domains(contact)
# domains.reject! { |dom| dom.statuses.include? DomainStatus::FORCE_DELETE }
# CSV.open('invalid_emails.csv', 'a') do |csv|
# domains.each do |domain|
# attrs = []
# attrs.push(domain.name, contact.email, result.errors)
# csv << attrs
# end
# end
# end
# def prepare_csv_file
# headers = %w[
# contact
# domain
# error
# ]
# csv = CSV.open('invalid_emails.csv', 'w')
# csv << headers
# end
# def convert_to_unicode(email)
# original_domain = Mail::Address.new(email).domain
# decoded_domain = SimpleIDN.to_unicode(original_domain)
# original_local = Mail::Address.new(email).local
# decoded_local = SimpleIDN.to_unicode(original_local)
# "#{decoded_local}@#{decoded_domain}"
# end

View file

@ -1,7 +1,9 @@
namespace :collect_csv_data do
desc 'Import from csv registry business contact into BusinessRegistryContact model'
FILE_NAME = './ettevotja_rekvisiidid_init.csv'.freeze
task business_contacts: :environment do
ScanCsvRegistryBusinnesContactsJob.perform_now
ScanCsvRegistryBusinnesContactsJob.perform_later(FILE_NAME)
end
end