$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