dnsmanager/tools/test-storage.cr

38 lines
1004 B
Crystal

require "../src/storage.cr"
alias DSZ = DNSManager::Storage::Zone
storage = DNSManager::Storage.new "STORAGE"
user_data = DNSManager::Storage::UserData.new 1004
storage.user_data << user_data rescue nil
domain = "test.example.com"
zone = DSZ.new domain
a_record = DSZ::A.new "www", 600.to_u32, "127.0.0.1"
aaaa_record = DSZ::AAAA.new "www", 600.to_u32, "::1"
mx_record = DSZ::MX.new "mail", 600.to_u32, "127.0.0.1", 5.to_u32
spf_record = DSZ::SPF.new "test.example.com.", 600.to_u32, "target", "spf2lol",
([] of DSZ::SPF::Mechanism), DSZ::SPF::Qualifier::SoftFail
zone.resources << a_record
zone.resources << aaaa_record
zone.resources << mx_record
zone.resources << spf_record
# Add the new domain to the user.
user_data.domains << domain
storage.update_user_data user_data
# Add the new zone in the database.
storage.zones_by_domain.update_or_create domain, zone
pp! storage.user_data
puts "Zones !!!"
pp! storage.zones
storage.zones.to_a.each do |z|
pp! z
end