Sha256: eb925470dee076e2fa6572fde2b80ab622f30c6705f2197ae82935bdd113571c

Contents?: true

Size: 1.5 KB

Versions: 125

Compression:

Stored size: 1.5 KB

Contents

# frozen_string_literal: true

RSpec.describe :validate_url do
  link :validate_url, from: :ree_validator

  context "valid" do
    it {
      expect(validate_url("https://google.com")).to eq(true)
      expect(validate_url("https://google.com?param")).to eq(true)
      expect(validate_url("http://google.com")).to eq(true)
      expect(validate_url("ftp://google.com")).to eq(true)
      expect(validate_url("192.168.0.1")).to eq(true)
      expect(validate_url("google.com")).to eq(true)

      expect(
        validate_url(
          "https://google.com",
          schemes: ['https', 'http'],
          ports: [80, 443],
          domains: ['google.com', 'test.com'],
        )
      ).to eq(true)
    }
  end

  context "invalid" do
    it {
      expect {
        validate_url(
          "ftp://google.com",
          schemes: ['http']
        )
      }.to raise_error(ReeValidator::ValidateUrl::UrlErr) do |e|
        expect(e.message).to eq('scheme should be one of ["http"]')
      end
    }

    it {
      expect {
        validate_url(
          "ftp://google.com",
          ports: [80]
        )
      }.to raise_error(ReeValidator::ValidateUrl::UrlErr) do |e|
        expect(e.message).to eq('port should be one of [80]')
      end
    }

    it {
      expect {
        validate_url(
          "https://google.com",
          Class.new(StandardError).new('message'),
          domains: ['test.com']
        )
      }.to raise_error(StandardError) do |e|
        expect(e.message).to eq('message')
      end
    }
  end
end

Version data entries

125 entries across 125 versions & 1 rubygems

Version Path
ree_lib-1.1.0 lib/ree_lib/packages/ree_validator/spec/ree_validator/functions/validate_url_spec.rb
ree_lib-1.0.124 lib/ree_lib/packages/ree_validator/spec/ree_validator/functions/validate_url_spec.rb
ree_lib-1.0.123 lib/ree_lib/packages/ree_validator/spec/ree_validator/functions/validate_url_spec.rb
ree_lib-1.0.122 lib/ree_lib/packages/ree_validator/spec/ree_validator/functions/validate_url_spec.rb
ree_lib-1.0.121 lib/ree_lib/packages/ree_validator/spec/ree_validator/functions/validate_url_spec.rb
ree_lib-1.0.120 lib/ree_lib/packages/ree_validator/spec/ree_validator/functions/validate_url_spec.rb
ree_lib-1.0.119 lib/ree_lib/packages/ree_validator/spec/ree_validator/functions/validate_url_spec.rb
ree_lib-1.0.118 lib/ree_lib/packages/ree_validator/spec/ree_validator/functions/validate_url_spec.rb
ree_lib-1.0.117 lib/ree_lib/packages/ree_validator/spec/ree_validator/functions/validate_url_spec.rb
ree_lib-1.0.116 lib/ree_lib/packages/ree_validator/spec/ree_validator/functions/validate_url_spec.rb
ree_lib-1.0.115 lib/ree_lib/packages/ree_validator/spec/ree_validator/functions/validate_url_spec.rb
ree_lib-1.0.114 lib/ree_lib/packages/ree_validator/spec/ree_validator/functions/validate_url_spec.rb
ree_lib-1.0.113 lib/ree_lib/packages/ree_validator/spec/ree_validator/functions/validate_url_spec.rb
ree_lib-1.0.112 lib/ree_lib/packages/ree_validator/spec/ree_validator/functions/validate_url_spec.rb
ree_lib-1.0.111 lib/ree_lib/packages/ree_validator/spec/ree_validator/functions/validate_url_spec.rb
ree_lib-1.0.110 lib/ree_lib/packages/ree_validator/spec/ree_validator/functions/validate_url_spec.rb
ree_lib-1.0.109 lib/ree_lib/packages/ree_validator/spec/ree_validator/functions/validate_url_spec.rb
ree_lib-1.0.108 lib/ree_lib/packages/ree_validator/spec/ree_validator/functions/validate_url_spec.rb
ree_lib-1.0.107 lib/ree_lib/packages/ree_validator/spec/ree_validator/functions/validate_url_spec.rb
ree_lib-1.0.106 lib/ree_lib/packages/ree_validator/spec/ree_validator/functions/validate_url_spec.rb