57 lines
1.6 KiB
Ruby
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
|