debshots/test/lib/deb_importer_test.rb

57 lines
1.6 KiB
Ruby

$LOAD_PATH << 'lib'
require 'open-uri' # allows to load URLs using open()
require 'deb_importer'
require 'test_helper'
include DebImporter
class PackagesHelperTest < ActionView::TestCase
test "should be able to parse local Debian repository test files" do
# How many packages of each component and architecture we expect
# when parsing the text files in lib/tasks/files/...
expected_package_counts = {
main: {
amd64: 8320,
i386: 8082
},
restricted: {
amd64: 21,
i386: 21
},
universe: {
amd64: 29406,
i386: 29471
},
multiverse: {
amd64: 672,
i386: 685
}
}
Rails.logger = Logger.new(STDOUT)
Rails.logger.level = Logger::ERROR
# Rails.logger.level = Logger::INFO
# Rails.logger.level = Logger::DEBUG
# Load information about test repository from environments/test.rb
repositories = Rails.configuration.package_sources
Rails.logger.info "Test parsing local DEB-style repository"
repository = repositories.first
release = DebImporter::Release.new(repository[:url])
assert_equal release.components, 'main restricted universe multiverse'
packages = release.packages('main', 'amd64')
assert_instance_of Enumerator, packages
first_package = packages.first
assert_equal 'account-plugin-aim', first_package[:Package]
# .count must be checked seperately because it changes the position in the enumerator
packages = release.packages('main', 'amd64')
assert_equal 8320, packages.count
end # test
end # class