Sha256: 1922ca842c98741b71b64c80592e20b78d2f67faf0e8cf27cda23a0826fbc3a9

Contents?: true

Size: 1.29 KB

Versions: 4

Compression:

Stored size: 1.29 KB

Contents

require 'glare'

RSpec.describe 'Resolve domain' do
  context 'when a domain is registered' do
    let(:domain) { 'cname.flywire.cc' }
    let(:destination) { ['peertransfer.me'] }
    let(:type) { 'CNAME' }
    before do
      register_domain(domain, destination)
    end

    it 'resolves to right destination' do
      expect(resolve(domain)).to eq(destination)
    end
  end

  context 'when a domain contains more than one destination' do
    let(:domain) { 'a.flywire.cc' }
    let(:type) { 'A' }
    before do
      register_domain(domain, destination)
    end

    context 'two new records' do
      let(:destination) { ['1.2.3.4', '5.6.7.8'] }

      it 'resolves to right destination' do
        expect(resolve(domain)).to eq(destination)
      end
    end

    context 'deletes one record' do
      let(:destination) { ['1.2.3.9'] }

      it 'resolves to right destination' do
        expect(resolve(domain)).to eq(destination)
      end
    end

    context 'adds one record' do
      let(:destination) { ['1.2.3.5', '6.7.8.9'] }

      it 'resolves to right destination' do
        expect(resolve(domain)).to eq(destination)
      end
    end
  end

  def register_domain(domain, destination)
    Glare.register(domain, destination, type)
  end

  def resolve(domain)
    Glare.resolve(domain, type)
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
glare-0.3.0 spec/resolve_domain_spec.rb
glare-0.1.2 spec/resolve_domain_spec.rb
glare-0.1.1 spec/resolve_domain_spec.rb
glare-0.1.0 spec/resolve_domain_spec.rb