Cleaned up rspec create settings and refactored whois_record

This commit is contained in:
Priit Tark 2015-04-30 15:16:21 +03:00
parent acab58b71c
commit 4cf57239a0
32 changed files with 210 additions and 198 deletions

View file

@ -9,8 +9,8 @@ group :red_green_refactor, halt_on_fail: true do
# watch(%r{^(config|lib)/.*}) # watch(%r{^(config|lib)/.*})
# end # end
guard :rspec, cmd: 'spring rspec --fail-fast', notification: false do # guard :rspec, cmd: 'spring rspec --fail-fast', notification: false do
# guard :rspec, cmd: 'spring rspec', notification: false do guard :rspec, cmd: 'spring rspec', notification: false do
watch(%r{^spec/.+_spec\.rb$}) watch(%r{^spec/.+_spec\.rb$})
watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" } watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
watch('spec/spec_helper.rb') { "spec" } watch('spec/spec_helper.rb') { "spec" }

View file

@ -54,7 +54,6 @@ class Domain < ActiveRecord::Base
end end
after_save :manage_automatic_statuses after_save :manage_automatic_statuses
after_save :update_whois_record after_save :update_whois_record
after_save :update_whois_server
validates :name_dirty, domain_name: true, uniqueness: true validates :name_dirty, domain_name: true, uniqueness: true
validates :period, numericality: { only_integer: true } validates :period, numericality: { only_integer: true }
@ -123,6 +122,7 @@ class Domain < ActiveRecord::Base
def included def included
includes( includes(
:registrant,
:registrar, :registrar,
:nameservers, :nameservers,
:whois_record, :whois_record,
@ -244,15 +244,6 @@ class Domain < ActiveRecord::Base
end end
def update_whois_record def update_whois_record
self.whois_record = WhoisRecord.create if whois_record.blank? whois_record.blank? ? create_whois_record : whois_record.save
whois_record.update
end
def update_whois_server
if whois_record.present?
whois_record.update_whois_server
else
logger.info "NO WHOIS BODY for domain: #{name}"
end
end end
end end

View file

@ -37,8 +37,6 @@ class Registrar < ActiveRecord::Base
end end
end end
after_save :touch_domains_version
validates :email, :billing_email, format: /@/, allow_blank: true validates :email, :billing_email, format: /@/, allow_blank: true
class << self class << self

View file

@ -1,32 +1,33 @@
class WhoisRecord < ActiveRecord::Base class WhoisRecord < ActiveRecord::Base
belongs_to :domain belongs_to :domain
def update_whois_server validates :domain, :name, :body, :json, presence: true
return logger.info "NO WHOIS NAME for whois record id: #{id}" if name.blank?
wd = Whois::Record.find_or_initialize_by(name: name) before_validation :populate
wd.body = body def populate
wd.json = json return if domain.blank?
wd.save self.json = generate_json
self.name = json['name']
self.body = generated_body
end end
# rubocop:disable Metrics/MethodLength # rubocop:disable Metrics/MethodLength
def h def generate_json
@h ||= HashWithIndifferentAccess.new h = HashWithIndifferentAccess.new
end return h if domain.blank?
def update
@disclosed = [] @disclosed = []
h[:name] = domain.name h[:name] = domain.name
h[:registrant] = domain.registrant.name h[:registrant] = domain.registrant.name
h[:status] = domain.domain_statuses.map(&:human_value).join(', ') h[:status] = domain.domain_statuses.map(&:human_value).join(', ')
h[:registered] = domain.registered_at and domain.registered_at.to_s(:db) h[:registered] = domain.registered_at.try(:to_s, :iso8601)
h[:updated_at] = domain.updated_at and domain.updated_at.to_s(:db) h[:updated_at] = domain.updated_at.try(:to_s, :iso8601)
h[:valid_to] = domain.valid_to and domain.valid_to.to_s(:db) h[:valid_to] = domain.valid_to.try(:to_s, :iso8601)
h[:registrar] = domain.registrar.name h[:registrar] = domain.registrar.name
h[:registrar_phone] = domain.registrar.phone h[:registrar_phone] = domain.registrar.phone
h[:registrar_address] = domain.registrar.address h[:registrar_address] = domain.registrar.address
h[:registrar_update_at] = domain.registrar.updated_at.to_s(:db) h[:registrar_update_at] = domain.registrar.updated_at.try(:to_s, :iso8601)
h[:admin_contacts] = [] h[:admin_contacts] = []
domain.admin_contacts.each do |ac| domain.admin_contacts.each do |ac|
@disclosed << [:email, ac.email] @disclosed << [:email, ac.email]
@ -34,7 +35,7 @@ class WhoisRecord < ActiveRecord::Base
name: ac.name, name: ac.name,
email: ac.email, email: ac.email,
registrar: ac.registrar.name, registrar: ac.registrar.name,
created_at: ac.created_at.to_s(:db) created_at: ac.created_at.try(:to_s, :iso8601)
} }
end end
h[:tech_contacts] = [] h[:tech_contacts] = []
@ -44,23 +45,18 @@ class WhoisRecord < ActiveRecord::Base
name: tc.name, name: tc.name,
email: tc.email, email: tc.email,
registrar: tc.registrar.name, registrar: tc.registrar.name,
created_at: tc.created_at.to_s(:db) created_at: tc.created_at.try(:to_s, :iso8601)
} }
end end
h[:nameservers] = [] h[:nameservers] = []
domain.nameservers.each do |ns| domain.nameservers.each do |ns|
h[:nameservers] << { h[:nameservers] << {
hostname: ns.hostname, hostname: ns.hostname,
updated_at: ns.updated_at.to_s(:db) updated_at: ns.updated_at.try(:to_s, :iso8601)
} }
end end
h[:disclosed] = @disclosed h[:disclosed] = @disclosed
h
self.name = h[:name]
self.body = generated_body
self.json = h
save
end end
def generated_body def generated_body
@ -68,21 +64,21 @@ class WhoisRecord < ActiveRecord::Base
Estonia .ee Top Level Domain WHOIS server Estonia .ee Top Level Domain WHOIS server
Domain: Domain:
name: #{h[:name]} name: #{json['name']}
registrant: #{h[:registrant]} registrant: #{json['registrant']}
status: #{h[:status]} status: #{json['status']}
registered: #{h[:registered]} registered: #{Time.zone.parse(json['registered'])}
changed: #{h[:updated_at]} changed: #{Time.zone.parse(json['updated_at'])}
expire: #{h[:valid_to]} expire: #{Time.zone.parse(json['valid_to'])}
outzone: outzone:
delete: delete:
#{contacts_body(h[:admin_contacts], h[:tech_contacts])} #{contacts_body(json['admin_contacts'], json['tech_contacts'])}
Registrar: Registrar:
name: #{h[:registrar]} name: #{json['registrar']}
phone: #{h[:registrar_phone]} phone: #{json['registrar_phone']}
address: #{h[:registrar_address]} address: #{json['registrar_address']}
changed: #{h[:registrar_update_at]} changed: #{Time.zone.parse(json['registrar_update_at'])}
#{nameservers_body(h[:nameservers])} #{nameservers_body(json['nameservers'])}
Estonia .ee Top Level Domain WHOIS server Estonia .ee Top Level Domain WHOIS server
More information at http://internet.ee More information at http://internet.ee
EOS EOS
@ -90,34 +86,47 @@ More information at http://internet.ee
# rubocop:enable Metrics/MethodLength # rubocop:enable Metrics/MethodLength
def contacts_body(admins, techs) def contacts_body(admins, techs)
admins ||= []
techs ||= []
out = '' out = ''
out << (admins.size > 1 ? "\nAdministrative contacts" : "\nAdministrative contact") out << (admins.size > 1 ? "\nAdministrative contacts" : "\nAdministrative contact")
admins.each do |c| admins.each do |c|
out << "\n name: #{c[:name]}" out << "\n name: #{c['name']}"
out << "\n email: Not Disclosed - Visit www.internet.ee for webbased WHOIS" out << "\n email: Not Disclosed - Visit www.internet.ee for webbased WHOIS"
out << "\n registrar: #{c[:registrar]}" out << "\n registrar: #{c['registrar']}"
out << "\n created: #{c[:created_at]}" out << "\n created: #{Time.zone.parse(c['created_at'])}"
out << "\n" out << "\n"
end end
out << (techs.size > 1 ? "\nTechnical contacts" : "\nTechnical contact:") out << (techs.size > 1 ? "\nTechnical contacts" : "\nTechnical contact:")
techs.each do |c| techs.each do |c|
out << "\n name: #{c[:name]}" out << "\n name: #{c['name']}"
out << "\n email: Not Disclosed - Visit www.internet.ee for webbased WHOIS" out << "\n email: Not Disclosed - Visit www.internet.ee for webbased WHOIS"
out << "\n registrar: #{c[:registrar]}" out << "\n registrar: #{c['registrar']}"
out << "\n created: #{c[:created_at]}" out << "\n created: #{Time.zone.parse(c['created_at'])}"
out << "\n" out << "\n"
end end
out out
end end
def nameservers_body(nservers) def nameservers_body(nservers)
nservers ||= []
out = "\nName servers:" out = "\nName servers:"
nservers.each do |ns| nservers.each do |ns|
out << "\n nserver: #{ns[:hostname]}" out << "\n nserver: #{ns['hostname']}"
out << "\n changed: #{ns[:updated_at]}" out << "\n changed: #{Time.zone.parse(ns['updated_at'])}"
out << "\n" out << "\n"
end end
out out
end end
def update_whois_server
return logger.info "NO WHOIS NAME for whois record id: #{id}" if name.blank?
wd = Whois::Record.find_or_initialize_by(name: name)
wd.body = body
wd.json = json
wd.save
end
end end

View file

@ -2,7 +2,6 @@ require 'rails_helper'
describe 'EPP Contact', epp: true do describe 'EPP Contact', epp: true do
before :all do before :all do
create_settings
@registrar1 = Fabricate(:registrar1) @registrar1 = Fabricate(:registrar1)
@registrar2 = Fabricate(:registrar2) @registrar2 = Fabricate(:registrar2)
@epp_xml = EppXml::Contact.new(cl_trid: 'ABC-12345') @epp_xml = EppXml::Contact.new(cl_trid: 'ABC-12345')

View file

@ -2,7 +2,6 @@ require 'rails_helper'
describe 'EPP Domain', epp: true do describe 'EPP Domain', epp: true do
before(:all) do before(:all) do
create_settings
@epp_xml = EppXml.new(cl_trid: 'ABC-12345') @epp_xml = EppXml.new(cl_trid: 'ABC-12345')
@registrar1 = Fabricate(:registrar1) @registrar1 = Fabricate(:registrar1)
@registrar2 = Fabricate(:registrar2) @registrar2 = Fabricate(:registrar2)

View file

@ -2,7 +2,6 @@ require 'rails_helper'
describe 'EPP Keyrelay', epp: true do describe 'EPP Keyrelay', epp: true do
before(:all) do before(:all) do
create_settings
@registrar1 = Fabricate(:registrar1) @registrar1 = Fabricate(:registrar1)
@registrar2 = Fabricate(:registrar2) @registrar2 = Fabricate(:registrar2)
@domain = Fabricate(:domain, registrar: @registrar2) @domain = Fabricate(:domain, registrar: @registrar2)

View file

@ -18,8 +18,6 @@ describe 'EPP Poll', epp: true do
login_as :registrar1 login_as :registrar1
@uniq_no = proc { @i ||= 0; @i += 1 } @uniq_no = proc { @i ||= 0; @i += 1 }
create_settings
end end
it 'returns no messages in poll' do it 'returns no messages in poll' do

View file

@ -1,8 +1,6 @@
require 'rails_helper' require 'rails_helper'
feature 'Admin users', type: :feature do feature 'Admin users', type: :feature do
background { create_settings }
before :all do before :all do
@admin_user = Fabricate(:admin_user, username: 'user1', identity_code: '37810013087') @admin_user = Fabricate(:admin_user, username: 'user1', identity_code: '37810013087')
end end

View file

@ -1,8 +1,6 @@
require 'rails_helper' require 'rails_helper'
feature 'Api users', type: :feature do feature 'Api users', type: :feature do
background { create_settings }
before :all do before :all do
@user = Fabricate(:admin_user, username: 'user1', identity_code: '37810013087') @user = Fabricate(:admin_user, username: 'user1', identity_code: '37810013087')
@api_user = Fabricate(:api_user) @api_user = Fabricate(:api_user)

View file

@ -1,8 +1,6 @@
require 'rails_helper' require 'rails_helper'
feature 'Admin contact', type: :feature do feature 'Admin contact', type: :feature do
background { create_settings }
before :all do before :all do
@user = Fabricate(:admin_user, username: 'user1', identity_code: '37810013087') @user = Fabricate(:admin_user, username: 'user1', identity_code: '37810013087')
@contact = Fabricate(:contact, name: 'Mr John') @contact = Fabricate(:contact, name: 'Mr John')

View file

@ -1,8 +1,6 @@
require 'rails_helper' require 'rails_helper'
feature 'EPP log', type: :feature do feature 'EPP log', type: :feature do
background { create_settings }
before :all do before :all do
@user = Fabricate(:admin_user, username: 'user1', identity_code: '37810013087') @user = Fabricate(:admin_user, username: 'user1', identity_code: '37810013087')
@contact = Fabricate(:contact, name: 'Mr John') @contact = Fabricate(:contact, name: 'Mr John')

View file

@ -1,8 +1,6 @@
require 'rails_helper' require 'rails_helper'
feature 'Invoice', type: :feature do feature 'Invoice', type: :feature do
background { create_settings }
before :all do before :all do
@user = Fabricate(:admin_user, username: 'user1', identity_code: '37810013087') @user = Fabricate(:admin_user, username: 'user1', identity_code: '37810013087')
Fabricate(:invoice) Fabricate(:invoice)

View file

@ -1,8 +1,6 @@
require 'rails_helper' require 'rails_helper'
feature 'Repp log', type: :feature do feature 'Repp log', type: :feature do
background { create_settings }
before :all do before :all do
@user = Fabricate(:admin_user, username: 'user1', identity_code: '37810013087') @user = Fabricate(:admin_user, username: 'user1', identity_code: '37810013087')
end end

View file

@ -1,8 +1,6 @@
require 'rails_helper' require 'rails_helper'
feature 'Zonefile settings', type: :feature do feature 'Zonefile settings', type: :feature do
background { create_settings }
before :all do before :all do
@user = Fabricate(:admin_user, username: 'user1', identity_code: '37810013087') @user = Fabricate(:admin_user, username: 'user1', identity_code: '37810013087')
end end

View file

@ -2,7 +2,6 @@ require 'rails_helper'
feature 'Contact', type: :feature do feature 'Contact', type: :feature do
before :all do before :all do
create_settings
@user = Fabricate(:api_user) @user = Fabricate(:api_user)
end end

View file

@ -2,7 +2,6 @@ require 'rails_helper'
feature 'Domains', type: :feature do feature 'Domains', type: :feature do
before :all do before :all do
create_settings
@user = Fabricate(:api_user) @user = Fabricate(:api_user)
end end

View file

@ -2,7 +2,6 @@ require 'rails_helper'
feature 'Invoices', type: :feature do feature 'Invoices', type: :feature do
before :all do before :all do
create_settings
@user = Fabricate(:api_user) @user = Fabricate(:api_user)
@invoice = Fabricate(:invoice, buyer: @user.registrar) @invoice = Fabricate(:invoice, buyer: @user.registrar)
end end

View file

@ -2,7 +2,6 @@ require 'rails_helper'
feature 'Root', type: :feature do feature 'Root', type: :feature do
before :all do before :all do
create_settings
Fabricate(:api_user) Fabricate(:api_user)
end end

View file

@ -2,7 +2,6 @@ require 'rails_helper'
feature 'Sessions', type: :feature do feature 'Sessions', type: :feature do
before :all do before :all do
create_settings
Fabricate(:api_user) Fabricate(:api_user)
end end

View file

@ -2,7 +2,6 @@ require 'rails_helper'
feature 'Sessions', type: :feature do feature 'Sessions', type: :feature do
before :all do before :all do
create_settings
Fabricate(:ee_user) Fabricate(:ee_user)
@registrar1 = Fabricate(:registrar1) @registrar1 = Fabricate(:registrar1)
@registrar2 = Fabricate(:registrar2) @registrar2 = Fabricate(:registrar2)

View file

@ -3,8 +3,6 @@ require 'rails_helper'
feature 'Setting management', type: :feature do feature 'Setting management', type: :feature do
let(:user) { Fabricate(:admin_user, username: 'user1', identity_code: '37810013087') } let(:user) { Fabricate(:admin_user, username: 'user1', identity_code: '37810013087') }
background { create_settings }
scenario 'User changes a setting' do scenario 'User changes a setting' do
sign_in user sign_in user
visit admin_settings_path visit admin_settings_path

View file

@ -1,10 +1,6 @@
require 'rails_helper' require 'rails_helper'
describe Dnskey do describe Dnskey do
before :all do
create_settings
end
it { should belong_to(:domain) } it { should belong_to(:domain) }
context 'with invalid attribute' do context 'with invalid attribute' do

View file

@ -1,10 +1,6 @@
require 'rails_helper' require 'rails_helper'
describe Domain do describe Domain do
before :all do
create_settings
end
it { should belong_to(:registrar) } it { should belong_to(:registrar) }
it { should have_many(:nameservers) } it { should have_many(:nameservers) }
it { should belong_to(:registrant) } it { should belong_to(:registrant) }
@ -81,77 +77,6 @@ describe Domain do
@domain.whois_record.json.present?.should == true @domain.whois_record.json.present?.should == true
end end
it 'should have whois record present by default' do
@domain.name = 'yeah.ee'
@domain.updated_at = Time.zone.parse('2020.02.02 02:00')
@domain.registered_at = Time.zone.parse('2000.01.01 9:00')
@domain.valid_to = Time.zone.parse('2016.04.21 0:00')
registrar = Fabricate(:registrar,
name: 'First Registrar Ltd',
created_at: Time.zone.parse('1995.01.01'),
updated_at: Time.zone.parse('1996.01.01'))
@domain.registrant = Fabricate(:contact,
name: 'Jarren Jakubowski0',
created_at: Time.zone.parse('2005.01.01'))
@domain.admin_contacts = [Fabricate(:contact,
name: 'First Admin',
registrar: registrar,
created_at: Time.zone.parse('2016.01.01'))]
@domain.tech_contacts = [Fabricate(:contact,
name: 'First Tech',
registrar: registrar,
created_at: Time.zone.parse('2016.01.01'))]
@domain.registrar = registrar
ns1 = Fabricate(:nameserver, hostname: 'test.ee')
ns1.updated_at = Time.zone.parse('1980.01.01')
ns2 = Fabricate(:nameserver, hostname: 'test1.ee')
ns2.updated_at = Time.zone.parse('1970.01.01')
@domain.nameservers = [ns1, ns2]
@domain.update_whois_record
@domain.whois_record.body.should == <<-EOS
Estonia .ee Top Level Domain WHOIS server
Domain:
name: yeah.ee
registrant: Jarren Jakubowski0
status: ok (paid and in zone)
registered: 2000-01-01 09:00:00 UTC
changed: 2020-02-02 02:00:00 UTC
expire: 2016-04-21 00:00:00 UTC
outzone:
delete:
Administrative contact
name: First Admin
email: Not Disclosed - Visit www.internet.ee for webbased WHOIS
registrar: First Registrar Ltd
created: 2016-01-01 00:00:00
Technical contact:
name: First Tech
email: Not Disclosed - Visit www.internet.ee for webbased WHOIS
registrar: First Registrar Ltd
created: 2016-01-01 00:00:00
Registrar:
name: First Registrar Ltd
phone:
address: Street 999, Town, County, Postal
changed: 1996-01-01 00:00:00
Name servers:
nserver: test.ee
changed: 1980-01-01 00:00:00
nserver: test1.ee
changed: 1970-01-01 00:00:00
Estonia .ee Top Level Domain WHOIS server
More information at http://internet.ee
EOS
end
context 'with versioning' do context 'with versioning' do
it 'should not have one version' do it 'should not have one version' do
with_versioning do with_versioning do

View file

@ -3,9 +3,5 @@ require 'rails_helper'
describe Epp::Domain do describe Epp::Domain do
context 'with sufficient settings' do context 'with sufficient settings' do
let(:domain) { Fabricate(:epp_domain) } let(:domain) { Fabricate(:epp_domain) }
before(:each) do
create_settings
end
end end
end end

View file

@ -2,7 +2,6 @@ require 'rails_helper'
describe Setting do describe Setting do
it 'returns value' do it 'returns value' do
create_settings
expect(Setting.ns_min_count).to eq(2) expect(Setting.ns_min_count).to eq(2)
Setting.ns_min_count = '2' Setting.ns_min_count = '2'
expect(Setting.ns_min_count).to eq('2') expect(Setting.ns_min_count).to eq('2')

View file

@ -0,0 +1,127 @@
require 'rails_helper'
describe WhoisRecord do
context 'with invalid attribute' do
before :all do
@whois_record = WhoisRecord.new
end
it 'should not be valid' do
@whois_record.valid?
@whois_record.errors.full_messages.should match_array([
"Body is missing",
"Domain is missing",
"Json is missing",
"Name is missing"
])
end
it 'should not support versions' do
@whois_record.respond_to?(:versions).should == false
end
it 'should not have whois body' do
@whois_record.body.should == nil
end
end
context 'with valid attributes' do
before :all do
@whois_record = Fabricate(:domain).whois_record
end
it 'should be valid' do
@whois_record.valid?
@whois_record.errors.full_messages.should match_array([])
end
it 'should be valid twice' do
@whois_record = Fabricate(:domain).whois_record
@whois_record.valid?
@whois_record.errors.full_messages.should match_array([])
end
it 'should have whois body by default' do
@whois_record.body.present?.should == true
end
it 'should have whois json by default' do
@whois_record.json.present?.should == true
end
it 'should have whois record present by default' do
@domain = Fabricate(:domain, name: 'yeah.ee')
@domain.updated_at = Time.zone.parse('2020.02.02 02:00')
@domain.valid_to = Time.zone.parse('2016.04.21 0:00')
registrar = Fabricate(:registrar,
name: 'First Registrar Ltd',
created_at: Time.zone.parse('1995.01.01'),
updated_at: Time.zone.parse('1996.01.01'))
@domain.registrant = Fabricate(:contact,
name: 'Jarren Jakubowski0',
created_at: Time.zone.parse('2005.01.01'))
@domain.admin_contacts = [Fabricate(:contact,
name: 'First Admin',
registrar: registrar,
created_at: Time.zone.parse('2016.01.01'))]
@domain.tech_contacts = [Fabricate(:contact,
name: 'First Tech',
registrar: registrar,
created_at: Time.zone.parse('2016.01.01'))]
@domain.registrar = registrar
ns1 = Fabricate(:nameserver, hostname: 'test.ee')
ns1.updated_at = Time.zone.parse('1980.01.01')
ns2 = Fabricate(:nameserver, hostname: 'test1.ee')
ns2.updated_at = Time.zone.parse('1970.01.01')
@domain.nameservers = [ns1, ns2]
@domain.save
# load some very dynamic attributes
registered = @domain.whois_record.json['registered']
changed = @domain.whois_record.json['updated_at']
@domain.whois_record.body.should == <<-EOS
Estonia .ee Top Level Domain WHOIS server
Domain:
name: yeah.ee
registrant: Jarren Jakubowski0
status: ok (paid and in zone)
registered: #{Time.zone.parse(registered)}
changed: #{Time.zone.parse(changed)}
expire: 2016-04-21 00:00:00 UTC
outzone:
delete:
Administrative contact
name: First Admin
email: Not Disclosed - Visit www.internet.ee for webbased WHOIS
registrar: First Registrar Ltd
created: 2016-01-01 00:00:00 UTC
Technical contact:
name: First Tech
email: Not Disclosed - Visit www.internet.ee for webbased WHOIS
registrar: First Registrar Ltd
created: 2016-01-01 00:00:00 UTC
Registrar:
name: First Registrar Ltd
phone:
address: Street 999, Town, County, Postal
changed: 1996-01-01 00:00:00 UTC
Name servers:
nserver: test.ee
changed: 1980-01-01 00:00:00 UTC
nserver: test1.ee
changed: 1970-01-01 00:00:00 UTC
Estonia .ee Top Level Domain WHOIS server
More information at http://internet.ee
EOS
end
end
end

View file

@ -1,7 +1,6 @@
require 'rails_helper' require 'rails_helper'
describe ZonefileSetting do describe ZonefileSetting do
before { create_settings }
it 'generates the zonefile' do it 'generates the zonefile' do
ZonefileSetting.where({ ZonefileSetting.where({
origin: 'ee', origin: 'ee',

View file

@ -26,6 +26,28 @@ Dir[Rails.root.join('spec/support/**/*.rb')].each { |f| require f }
# If you are not using ActiveRecord, you can remove this line. # If you are not using ActiveRecord, you can remove this line.
ActiveRecord::Migration.maintain_test_schema! ActiveRecord::Migration.maintain_test_schema!
# create general settings
def create_settings
Setting.ds_algorithm = 2
Setting.ds_data_allowed = true
Setting.ds_data_with_key_allowed = true
Setting.key_data_allowed = true
Setting.dnskeys_min_count = 0
Setting.dnskeys_max_count = 9
Setting.ns_min_count = 2
Setting.ns_max_count = 11
Setting.transfer_wait_time = 0
Setting.admin_contacts_min_count = 1
Setting.admin_contacts_max_count = 10
Setting.tech_contacts_min_count = 0
Setting.tech_contacts_max_count = 10
Setting.client_side_status_editing_enabled = true
end
RSpec.configure do |config| RSpec.configure do |config|
config.filter_run focus: true config.filter_run focus: true
config.run_all_when_everything_filtered = true config.run_all_when_everything_filtered = true
@ -45,21 +67,26 @@ RSpec.configure do |config|
config.before(:all) do config.before(:all) do
DatabaseCleaner.clean_with(:truncation) DatabaseCleaner.clean_with(:truncation)
create_settings
end end
config.before(:all, epp: true) do config.before(:all, epp: true) do
DatabaseCleaner.strategy = nil DatabaseCleaner.strategy = nil
create_settings
end end
config.before(:each, js: true) do config.before(:each, js: true) do
DatabaseCleaner.strategy = :truncation DatabaseCleaner.strategy = :truncation
create_settings
end end
config.before(:each, type: :request) do config.before(:each, type: :request) do
DatabaseCleaner.strategy = :truncation DatabaseCleaner.strategy = :truncation
create_settings
end end
config.before(:each, type: :model) do config.before(:each, type: :model) do
create_settings
DatabaseCleaner.strategy = :transaction DatabaseCleaner.strategy = :transaction
DatabaseCleaner.start DatabaseCleaner.start
end end

View file

@ -2,7 +2,6 @@ require 'rails_helper'
describe Repp::ContactV1 do describe Repp::ContactV1 do
before :all do before :all do
create_settings
@api_user = Fabricate(:gitlab_api_user) @api_user = Fabricate(:gitlab_api_user)
Fabricate.times(2, :contact, registrar: @api_user.registrar) Fabricate.times(2, :contact, registrar: @api_user.registrar)
Fabricate.times(2, :contact) Fabricate.times(2, :contact)

View file

@ -2,7 +2,6 @@ require 'rails_helper'
describe Repp::DomainV1 do describe Repp::DomainV1 do
before :all do before :all do
create_settings
@registrar1 = Fabricate(:registrar1) @registrar1 = Fabricate(:registrar1)
@api_user = Fabricate(:gitlab_api_user, registrar: @registrar1) @api_user = Fabricate(:gitlab_api_user, registrar: @registrar1)
Fabricate.times(2, :domain, registrar: @api_user.registrar) Fabricate.times(2, :domain, registrar: @api_user.registrar)

View file

@ -1,26 +0,0 @@
module General
def create_settings
Setting.ds_algorithm = 2
Setting.ds_data_allowed = true
Setting.ds_data_with_key_allowed = true
Setting.key_data_allowed = true
Setting.dnskeys_min_count = 0
Setting.dnskeys_max_count = 9
Setting.ns_min_count = 2
Setting.ns_max_count = 11
Setting.transfer_wait_time = 0
Setting.admin_contacts_min_count = 1
Setting.admin_contacts_max_count = 10
Setting.tech_contacts_min_count = 0
Setting.tech_contacts_max_count = 10
Setting.client_side_status_editing_enabled = true
end
end
RSpec.configure do |c|
c.include General
end