Sha256: 9393840611f0fd41bd100e96c5c481bc3fa0e1e355434fb35bfbb1f98e804e65

Contents?: true

Size: 1.54 KB

Versions: 19

Compression:

Stored size: 1.54 KB

Contents

require File.expand_path('../helper', __FILE__)

class TestDigest < TestCase
  attr :assets_path, :tar_path, :recipe

  def before_all
    super
    @assets_path = File.expand_path("../assets", __FILE__)
    @tar_path = File.expand_path("../../tmp/test-digest-1.0.0.tar.gz", __FILE__)

    # remove any previous test files
    FileUtils.rm_rf("tmp")

    create_tar(@tar_path, @assets_path)
    start_webrick(File.dirname(@tar_path))
  end

  def after_all
    stop_webrick
    # leave test files for inspection
  end

  def setup
    super
    FileUtils.rm_rf("ports/archives")
    @recipe = MiniPortile.new("test-digest", "1.0.0")
  end

  def download_with_digest(key, klass)
    @recipe.files << {
      :url => "http://localhost:#{webrick.config[:Port]}/#{ERB::Util.url_encode(File.basename(tar_path))}",
      key => klass.file(tar_path).hexdigest,
    }
    @recipe.download
  end

  def download_with_wrong_digest(key)
    @recipe.files << {
      :url => "http://localhost:#{webrick.config[:Port]}/#{ERB::Util.url_encode(File.basename(tar_path))}",
      key => "0011223344556677",
    }
    assert_raises(RuntimeError){ @recipe.download }
  end

  def test_sha256
    download_with_digest(:sha256, Digest::SHA256)
  end

  def test_wrong_sha256
    download_with_wrong_digest(:sha256)
  end

  def test_sha1
    download_with_digest(:sha1, Digest::SHA1)
  end

  def test_wrong_sha1
    download_with_wrong_digest(:sha1)
  end

  def test_md5
    download_with_digest(:md5, Digest::MD5)
  end

  def test_wrong_md5
    download_with_wrong_digest(:md5)
  end
end

Version data entries

19 entries across 18 versions & 6 rubygems

Version Path
tdiary-5.0.5 vendor/bundle/gems/tdiary-5.0.4/vendor/bundle/gems/mini_portile2-2.1.0/test/test_digest.rb
tdiary-5.0.5 vendor/bundle/gems/mini_portile2-2.1.0/test/test_digest.rb
enju_leaf-1.2.1 vendor/bundle/ruby/2.3/gems/mini_portile2-2.1.0/test/test_digest.rb
tdiary-5.0.4 vendor/bundle/gems/mini_portile2-2.1.0/test/test_digest.rb
autocompl-0.2.2 test/dummy/vendor/bundle/ruby/2.3.0/gems/mini_portile2-2.1.0/test/test_digest.rb
autocompl-0.2.1 test/dummy/vendor/bundle/ruby/2.3.0/gems/mini_portile2-2.1.0/test/test_digest.rb
autocompl-0.2.0 test/dummy/vendor/bundle/ruby/2.3.0/gems/mini_portile2-2.1.0/test/test_digest.rb
autocompl-0.1.2 test/dummy/vendor/bundle/ruby/2.3.0/gems/mini_portile2-2.1.0/test/test_digest.rb
autocompl-0.1.1 test/dummy/vendor/bundle/ruby/2.3.0/gems/mini_portile2-2.1.0/test/test_digest.rb
autocompl-0.1.0 test/dummy/vendor/bundle/ruby/2.3.0/gems/mini_portile2-2.1.0/test/test_digest.rb
autocompl-0.0.1 test/dummy/vendor/bundle/ruby/2.3.0/gems/mini_portile2-2.1.0/test/test_digest.rb
vagrant-unbundled-1.9.1.1 vendor/bundle/ruby/2.4.0/gems/mini_portile2-2.1.0/test/test_digest.rb
abaci-0.3.0 vendor/bundle/gems/mini_portile2-2.1.0/test/test_digest.rb
tdiary-5.0.2 vendor/bundle/gems/mini_portile2-2.1.0/test/test_digest.rb
vagrant-unbundled-1.8.5.2 vendor/bundle/ruby/2.3.0/gems/mini_portile2-2.1.0/test/test_digest.rb
vagrant-unbundled-1.8.5.1 vendor/bundle/ruby/2.3.0/gems/mini_portile2-2.1.0/test/test_digest.rb
vagrant-unbundled-1.8.4.2 vendor/bundle/ruby/2.3.0/gems/mini_portile2-2.1.0/test/test_digest.rb
tdiary-5.0.1 vendor/bundle/gems/mini_portile2-2.1.0/test/test_digest.rb
mini_portile2-2.1.0 test/test_digest.rb