Hello community,

here is the log from the commit of package yast2-packager for openSUSE:Factory 
checked in at 2020-01-30 09:40:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yast2-packager (Old)
 and      /work/SRC/openSUSE:Factory/.yast2-packager.new.26092 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "yast2-packager"

Thu Jan 30 09:40:55 2020 rev:386 rq:768363 version:4.2.47

Changes:
--------
--- /work/SRC/openSUSE:Factory/yast2-packager/yast2-packager.changes    
2020-01-17 16:02:54.688369775 +0100
+++ /work/SRC/openSUSE:Factory/.yast2-packager.new.26092/yast2-packager.changes 
2020-01-30 09:41:43.161500333 +0100
@@ -1,0 +2,21 @@
+Wed Jan 29 15:35:20 UTC 2020 - Stefan Hundhammer <[email protected]>
+
+- Don't overwrite the default English license for add-on modules
+  with the translated license of the current installation language
+  (bsc#1160806)
+- 4.2.47
+
+-------------------------------------------------------------------
+Mon Jan 27 13:57:31 UTC 2020 - Ladislav Slezák <[email protected]>
+
+- Move y2packager/repository.rb to the yast2.rpm
+  (related to bsc#1159433)
+- 4.2.46
+
+-------------------------------------------------------------------
+Fri Jan 17 14:21:38 UTC 2020 - Imobach Gonzalez Sosa <[email protected]>
+
+- Enable the online_search if system is registered (jsc#SLE-9109).
+- 4.2.45
+
+-------------------------------------------------------------------

Old:
----
  yast2-packager-4.2.44.tar.bz2

New:
----
  yast2-packager-4.2.47.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ yast2-packager.spec ++++++
--- /var/tmp/diff_new_pack.wxJeDD/_old  2020-01-30 09:41:43.977500770 +0100
+++ /var/tmp/diff_new_pack.wxJeDD/_new  2020-01-30 09:41:43.989500776 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           yast2-packager
-Version:        4.2.44
+Version:        4.2.47
 Release:        0
 Summary:        YaST2 - Package Library
 License:        GPL-2.0-or-later
@@ -35,8 +35,8 @@
 BuildRequires:  yast2-storage-ng >= 4.0.141
 # break the yast2-packager -> yast2-storage-ng -> yast2-packager build cycle
 #!BuildIgnore: yast2-packager
-# SlideShow.Redraw
-BuildRequires:  yast2 >= 4.2.54
+# Y2Packager::Repositories
+BuildRequires:  yast2 >= 4.2.60
 # Pkg::Resolvables
 BuildRequires:  yast2-pkg-bindings >= 4.2.0
 # Augeas lenses
@@ -47,8 +47,8 @@
 Requires:       yast2-country-data >= 2.16.3
 # Pkg::Resolvables
 Requires:       yast2-pkg-bindings >= 4.2.0
-# SlideShow.Redraw
-Requires:       yast2 >= 4.2.54
+# Y2Packager::Repositories
+Requires:       yast2 >= 4.2.60
 # unzipping license file
 Requires:       unzip
 # HTTP, FTP, HTTPS modules (inst_productsources.ycp)

++++++ yast2-packager-4.2.44.tar.bz2 -> yast2-packager-4.2.47.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-packager-4.2.44/package/yast2-packager.changes 
new/yast2-packager-4.2.47/package/yast2-packager.changes
--- old/yast2-packager-4.2.44/package/yast2-packager.changes    2020-01-13 
16:35:42.000000000 +0100
+++ new/yast2-packager-4.2.47/package/yast2-packager.changes    2020-01-29 
16:58:49.000000000 +0100
@@ -1,4 +1,25 @@
 -------------------------------------------------------------------
+Wed Jan 29 15:35:20 UTC 2020 - Stefan Hundhammer <[email protected]>
+
+- Don't overwrite the default English license for add-on modules
+  with the translated license of the current installation language
+  (bsc#1160806)
+- 4.2.47
+
+-------------------------------------------------------------------
+Mon Jan 27 13:57:31 UTC 2020 - Ladislav Slezák <[email protected]>
+
+- Move y2packager/repository.rb to the yast2.rpm
+  (related to bsc#1159433)
+- 4.2.46
+
+-------------------------------------------------------------------
+Fri Jan 17 14:21:38 UTC 2020 - Imobach Gonzalez Sosa <[email protected]>
+
+- Enable the online_search if system is registered (jsc#SLE-9109).
+- 4.2.45
+
+-------------------------------------------------------------------
 Thu Jan 10 15:03:31 UTC 2020 - [email protected]
 
 - Do not refresh package installation overview if the medium has
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-packager-4.2.44/package/yast2-packager.spec 
new/yast2-packager-4.2.47/package/yast2-packager.spec
--- old/yast2-packager-4.2.44/package/yast2-packager.spec       2020-01-13 
16:35:42.000000000 +0100
+++ new/yast2-packager-4.2.47/package/yast2-packager.spec       2020-01-29 
16:58:49.000000000 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           yast2-packager
-Version:        4.2.44
+Version:        4.2.47
 Release:        0
 Summary:        YaST2 - Package Library
 License:        GPL-2.0-or-later
@@ -35,8 +35,8 @@
 BuildRequires:  yast2-storage-ng >= 4.0.141
 # break the yast2-packager -> yast2-storage-ng -> yast2-packager build cycle
 #!BuildIgnore: yast2-packager
-# SlideShow.Redraw
-BuildRequires:  yast2 >= 4.2.54
+# Y2Packager::Repositories
+BuildRequires:  yast2 >= 4.2.60
 # Pkg::Resolvables
 BuildRequires:  yast2-pkg-bindings >= 4.2.0
 # Augeas lenses
@@ -47,8 +47,8 @@
 Requires:       yast2-country-data >= 2.16.3
 # Pkg::Resolvables
 Requires:       yast2-pkg-bindings >= 4.2.0
-# SlideShow.Redraw
-Requires:       yast2 >= 4.2.54
+# Y2Packager::Repositories
+Requires:       yast2 >= 4.2.60
 # unzipping license file
 Requires:       unzip
 # HTTP, FTP, HTTPS modules (inst_productsources.ycp)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-packager-4.2.44/src/clients/sw_single.rb 
new/yast2-packager-4.2.47/src/clients/sw_single.rb
--- old/yast2-packager-4.2.44/src/clients/sw_single.rb  2020-01-13 
16:35:42.000000000 +0100
+++ new/yast2-packager-4.2.47/src/clients/sw_single.rb  2020-01-29 
16:58:49.000000000 +0100
@@ -456,8 +456,12 @@
         end
       end
       repo_management = Mode.normal if repo_management.nil?
+      online_search = Mode.normal && registered?
 
-      ret = { "mode" => mode, "enable_repo_mgr" => repo_management }
+      ret = {
+        "mode" => mode, "enable_repo_mgr" => repo_management,
+        "enable_online_search" => online_search
+      }
 
       Builtins.y2milestone("PackagesUI::RunPackageSelector() options: %1", ret)
 
@@ -615,6 +619,9 @@
                 )
               end
               force_restart = true
+            elsif result == :online_search
+              WFM.CallFunction("online_search", [:sw_single_mode])
+              force_restart = true
             elsif result == :webpin
               required_package = "yast2-packager-webpin"
 
@@ -794,6 +801,18 @@
 
       result
     end
+
+  private
+
+    # Determines whether the running system is registered or not
+    #
+    # @return [Booolean] true if the system is registered; false otherwise
+    def registered?
+      require "registration/registration"
+      ::Registration::Registration.is_registered?
+    rescue LoadError
+      false
+    end
   end
 end
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-packager-4.2.44/src/lib/y2packager/repository.rb 
new/yast2-packager-4.2.47/src/lib/y2packager/repository.rb
--- old/yast2-packager-4.2.44/src/lib/y2packager/repository.rb  2020-01-13 
16:35:42.000000000 +0100
+++ new/yast2-packager-4.2.47/src/lib/y2packager/repository.rb  1970-01-01 
01:00:00.000000000 +0100
@@ -1,221 +0,0 @@
-# 
------------------------------------------------------------------------------
-# Copyright (c) 2017 SUSE LLC, All Rights Reserved.
-#
-# This program is free software; you can redistribute it and/or modify it under
-# the terms of version 2 of the GNU General Public License as published by the
-# Free Software Foundation.
-#
-# This program is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 
details.
-# 
------------------------------------------------------------------------------
-
-require "uri"
-require "y2packager/product"
-require "y2packager/resolvable"
-
-module Y2Packager
-  # This class represents a libzypp repository
-  #
-  # It offers a simple API to list them, query basic attributes,
-  # find out the products they offer and enabling/disabling them.
-  #
-  # @example Get all repositories
-  #   all_repos = Y2Packager::Repository.all     #=> 
[#<Y2Packager::Repository>, ...]
-  #   enabled = Y2Packager::Repository.enabled   #=> 
[#<Y2Packager::Repository>]
-  #
-  # @example Get a repository using a repo ID
-  #   repo = Y2Packager::Repository.find(1) #=> #<Y2Packager::Repository>
-  #   repo.autorefresh?                   #=> true
-  #   repo.url                            #=> "http://download.opensuse.org...";
-  #
-  # @example Disabling a repository
-  #   repo = Y2Packager::Repository.find(1) #=> #<Y2Packager::Repository>
-  #   repo.enabled?                       #=> true
-  #   repo.disabled!
-  #   repo.enabled?                       #=> false
-  class Repository
-    Yast.import "Pkg"
-
-    # Repository schemes considered local (see #local?)
-    # 
https://github.com/openSUSE/libzypp/blob/a7a038aeda1ad6d9e441e7d3755612aa83320dce/zypp/Url.cc#L458
-    LOCAL_SCHEMES = [:cd, :dvd, :dir, :hd, :iso, :file].freeze
-
-    # @return [Fixnum] Repository ID
-    attr_reader :repo_id
-    # @return [String] Repository name
-    attr_reader :name
-    # @return [URI::Generic] Repository URL
-    attr_reader :url
-    # @return [String] Product directory
-    attr_reader :product_dir
-
-    attr_writer :enabled
-    private :enabled=
-
-    # Repository was not found
-    class NotFound < StandardError; end
-
-    class << self
-      # Return all registered repositories
-      #
-      # @param enabled_only [Boolean] Returns only enabled repositories
-      # @return [Array<Repository>] Array containing all repositories
-      #
-      # @see Yast::Pkg.SourceGetCurrent
-      # @see Y2Packager::Repository.find
-      def all(enabled_only: false)
-        Yast::Pkg.SourceGetCurrent(enabled_only).map do |repo_id|
-          find(repo_id)
-        end
-      end
-
-      # Return only enabled repositories
-      #
-      # @return [Array<Repository>] Array containing enabled repositories
-      def enabled
-        all.select(&:enabled?)
-      end
-
-      # Return only disabled repositories
-      #
-      # @return [Array<Repository>] Array containing disabled repositories
-      def disabled
-        all.reject(&:enabled?)
-      end
-
-      # Return a repository with the given repo_id
-      #
-      # @param repo_id [Fixnum] Repository ID
-      # @return [Y2Packager::Repository] Repository instance
-      #
-      # @raise NotFound
-      def find(repo_id)
-        repo_data = Yast::Pkg.SourceGeneralData(repo_id)
-        raise NotFound if repo_data.nil?
-
-        new(repo_id: repo_id, enabled: repo_data["enabled"],
-          name: repo_data["name"], autorefresh: repo_data["autorefresh"],
-          url: URI(repo_data["url"]), product_dir: repo_data["product_dir"])
-      end
-
-      # Add a repository
-      #
-      # @param name        [String]       Name
-      # @param url         [URI::Generic] Repository URL
-      # @param product_dir [String]       Product directory
-      # @param enabled     [Boolean]      Is the repository enabled?
-      # @param autorefresh [Boolean]      Is auto-refresh enabled for this 
repository?
-      # @return [Y2Packager::Repository,nil] New repository or nil if creation 
failed
-      def create(name:, url:, product_dir: "", enabled: true, autorefresh: 
true)
-        repo_id = Yast::Pkg.RepositoryAdd(
-          "name" => name, "base_urls" => [url], "enabled" => enabled, 
"autorefresh" => autorefresh
-        )
-        return nil unless repo_id
-
-        new(
-          repo_id: repo_id, name: name, url: URI(url), enabled: enabled,
-          autorefresh: autorefresh, product_dir: product_dir
-        )
-      end
-    end
-
-    # Constructor
-    #
-    # @param repo_id     [Fixnum]       Repository ID
-    # @param name        [String]       Name
-    # @param url         [URI::Generic] Repository URL
-    # @param product_dir [String]       Product directory
-    # @param enabled     [Boolean]      Is the repository enabled?
-    # @param autorefresh [Boolean]      Is auto-refresh enabled for this 
repository?
-    def initialize(repo_id:, name:, url:, product_dir: "", enabled:, 
autorefresh:)
-      @repo_id = repo_id
-      @name    = name
-      @enabled = enabled
-      @autorefresh = autorefresh
-      @url = url
-      @product_dir = product_dir
-    end
-
-    # Return repository scheme
-    #
-    # The scheme is determined using the URL
-    #
-    # @return [Symbol,nil] URL scheme
-    def scheme
-      url.scheme ? url.scheme.to_sym : nil
-    end
-
-    # Return products contained in the repository
-    #
-    # @return [Array<Y2Packager::Product>] Products in the repository
-    #
-    # @see Y2Packager::Product
-    def products
-      return @products unless @products.nil?
-
-      # Filter products from this repository
-      candidates = Y2Packager::Resolvable.find(kind: :product, source: repo_id)
-
-      # Build an array of Y2Packager::Product objects
-      @products = candidates.map do |data|
-        Y2Packager::Product.new(name: data.name, version: data.version,
-          arch: data.arch, category: data.category, vendor: data.vendor)
-      end
-    end
-
-    # Determine if the repository is local
-    #
-    # @return [Boolean] true if the repository is considered local; false 
otherwise
-    def local?
-      LOCAL_SCHEMES.include?(scheme)
-    end
-
-    # Determine if the repository is enabled
-    #
-    # @return [Boolean] true if repository is enabled; false otherwise
-    def enabled?
-      @enabled
-    end
-
-    # Determine if auto-refresh is enabled for the repository
-    #
-    # @return [Boolean] true if auto-refresh is enabled; false otherwise
-    def autorefresh?
-      @autorefresh
-    end
-
-    # Return addons in the repository
-    #
-    # @return [Array<Y2Packager::Product>] Addons in the repository
-    #
-    # @see #products
-    def addons
-      products.select { |p| p.category == :addon }
-    end
-
-    # Enable the repository
-    #
-    # The repository status will be stored only in memory. Calling to
-    # Yast::Pkg.SourceSaveAll will make it persistent.
-    #
-    # @see Yast::Pkg.SourceSetEnabled
-    # @see Yast::Pkg.SourceSaveAll
-    def enable!
-      success = Yast::Pkg.SourceSetEnabled(repo_id, true)
-      success && self.enabled = true
-    end
-
-    # Disable the repository
-    #
-    # The repository status will be stored only in memory. Calling to
-    # Yast::Pkg.SourceSaveAll will make it persistent.
-    #
-    # @see Yast::Pkg.SourceSetEnabled
-    # @see Yast::Pkg.SourceSaveAll
-    def disable!
-      success = Yast::Pkg.SourceSetEnabled(repo_id, false)
-      success && self.enabled = false
-    end
-  end
-end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-packager-4.2.44/src/modules/ProductLicense.rb 
new/yast2-packager-4.2.47/src/modules/ProductLicense.rb
--- old/yast2-packager-4.2.44/src/modules/ProductLicense.rb     2020-01-13 
16:35:42.000000000 +0100
+++ new/yast2-packager-4.2.47/src/modules/ProductLicense.rb     2020-01-29 
16:58:49.000000000 +0100
@@ -1515,7 +1515,7 @@
       # 'LANG=foo_BAR yast repositories'
       language = EnvLangToLangCode(Builtins.getenv("LANG"))
 
-      # Preferencies how the client selects from available languages
+      # Preferences how the client selects from available languages
       langs = [
         language,
         Builtins.substring(language, 0, 2), # "it_IT" -> "it"
@@ -1539,7 +1539,7 @@
         end
       end
 
-      Builtins.y2milestone("Preffered lang: %1", language)
+      Builtins.y2milestone("Preferred lang: %1", language)
       return :auto if Builtins.size(available_langs.value).zero? # no license 
available
 
       @lic_lang = Builtins.find(langs) { |l| Builtins.haskey(licenses.value, 
l) }
@@ -1716,7 +1716,11 @@
         log.info("License locales for product #{product_name.inspect}: 
#{locales.inspect}")
 
         locales.each do |locale|
-          license = Pkg.PrdGetLicenseToConfirm(product_name, locale)
+          # Pkg.PrdGetLicenseToConfirm returns the license in the installation
+          # language, not the default English license if the requested locale
+          # is an empty string (bsc#1160806)
+          license_locale = locale.empty? ? "en" : locale
+          license = Pkg.PrdGetLicenseToConfirm(product_name, license_locale)
           next if license.nil? || license.empty?
 
           found_license = true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-packager-4.2.44/test/pkg_finish_test.rb 
new/yast2-packager-4.2.47/test/pkg_finish_test.rb
--- old/yast2-packager-4.2.44/test/pkg_finish_test.rb   2020-01-13 
16:35:42.000000000 +0100
+++ new/yast2-packager-4.2.47/test/pkg_finish_test.rb   2020-01-29 
16:58:49.000000000 +0100
@@ -88,17 +88,18 @@
 
       let(:local_repo) do
         Y2Packager::Repository.new(repo_id: 1, name: "SLE-12-SP2-0", enabled: 
true,
-          url: URI("hd:/?devices=/dev/sda"), autorefresh: false)
+          url: URI("hd:/?devices=/dev/sda"), autorefresh: false, repo_alias: 
"SLE-12-SP2-0")
       end
 
       let(:remote_repo) do
         Y2Packager::Repository.new(repo_id: 2, name: "SLE-12-SP2-Pool", 
enabled: true,
-          url: URI("http://download.suse.com/sle-12-sp2";), autorefresh: true)
+          url: URI("http://download.suse.com/sle-12-sp2";), autorefresh: true,
+          repo_alias: "SLE-12-SP2-Pool")
       end
 
       let(:local_dvd_repo) do
         Y2Packager::Repository.new(repo_id: 3, name: "SLE-15-SP1-0", enabled: 
true,
-          url: URI("dvd:///?devices=/dev/sr0"), autorefresh: false)
+          url: URI("dvd:///?devices=/dev/sr0"), autorefresh: false, 
repo_alias: "SLE-15-SP1-0")
       end
 
       let(:sles_product) do
@@ -229,12 +230,13 @@
 
       let(:fallback_repo) do
         Y2Packager::Repository.new(repo_id: 4, name: "dir-a1234", enabled: 
true,
-          url: URI("dir:///var/lib/fallback-repo"), autorefresh: false)
+          url: URI("dir:///var/lib/fallback-repo"), autorefresh: false, 
repo_alias: "dir-a1234")
       end
 
       let(:remote_repo) do
         Y2Packager::Repository.new(repo_id: 2, name: "SLE-12-SP2-Pool", 
enabled: true,
-          url: URI("http://download.suse.com/sle-12-sp2";), autorefresh: true)
+          url: URI("http://download.suse.com/sle-12-sp2";), autorefresh: true,
+          repo_alias: "SLE-12-SP2-Pool")
       end
 
       let(:sles_product) do
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-packager-4.2.44/test/repository_test.rb 
new/yast2-packager-4.2.47/test/repository_test.rb
--- old/yast2-packager-4.2.44/test/repository_test.rb   2020-01-13 
16:35:42.000000000 +0100
+++ new/yast2-packager-4.2.47/test/repository_test.rb   1970-01-01 
01:00:00.000000000 +0100
@@ -1,263 +0,0 @@
-#!/usr/bin/env rspec
-
-require_relative "test_helper"
-require "y2packager/repository"
-require_relative "product_factory"
-require "uri"
-
-describe Y2Packager::Repository do
-  Yast.import "Pkg"
-
-  let(:repo_id) { 1 }
-  let(:enabled) { true }
-  let(:autorefresh) { true }
-  let(:repo_url) { URI("http://download.opensuse.org/update/leap/42.1/oss";) }
-
-  subject(:repo) do
-    Y2Packager::Repository.new(repo_id: repo_id, name: "repo-oss", enabled: 
enabled,
-      autorefresh: autorefresh, url: repo_url)
-  end
-
-  let(:disabled) do
-    Y2Packager::Repository.new(repo_id: repo_id + 1, name: "disabled-repo", 
enabled: false,
-      autorefresh: false, url: repo_url)
-  end
-
-  describe ".all" do
-    before do
-      allow(Yast::Pkg).to 
receive(:SourceGetCurrent).with(false).and_return(repo_ids)
-    end
-
-    context "when no repository exist" do
-      let(:repo_ids) { [] }
-
-      it "returns a empty array" do
-        expect(described_class.all).to eq([])
-      end
-    end
-
-    context "when a repository exist" do
-      let(:repo_ids) { [repo_id] }
-      let(:repo) { double("repo") }
-
-      it "returns an array containing existing repositories" do
-        expect(described_class).to 
receive(:find).with(repo_id).and_return(repo)
-        expect(described_class.all).to eq([repo])
-      end
-    end
-
-    context "when asked only for enabled repositories" do
-      let(:repo_ids) { [repo_id] }
-      let(:repo) { double("repo") }
-
-      before do
-        allow(described_class).to receive(:find).with(repo_id).and_return(repo)
-      end
-
-      it "returns only enabled repositories" do
-        expect(Yast::Pkg).to 
receive(:SourceGetCurrent).with(true).and_return(repo_ids)
-        described_class.all(enabled_only: true)
-      end
-    end
-  end
-
-  describe ".enabled" do
-    before do
-      allow(Y2Packager::Repository).to receive(:all).and_return([repo, 
disabled])
-    end
-
-    it "returns enabled repositories" do
-      expect(Y2Packager::Repository.enabled).to eq([repo])
-    end
-  end
-
-  describe ".disabled" do
-    before do
-      allow(Y2Packager::Repository).to receive(:all).and_return([repo, 
disabled])
-    end
-
-    it "returns disabled repositories" do
-      expect(Y2Packager::Repository.disabled).to eq([disabled])
-    end
-  end
-
-  describe ".find" do
-    before do
-      allow(Yast::Pkg).to 
receive(:SourceGeneralData).with(repo_id).and_return(repo_data)
-    end
-
-    context "when a valid repo_id is given" do
-      let(:repo_data) do
-        { "enabled" => true, "autorefresh" => true, "url" => repo_url,
-          "name" => "Repo #1", "product_dir" => "/product" }
-      end
-
-      it "returns a repository with the given repo_id" do
-        repo = described_class.find(repo_id)
-        expect(repo.repo_id).to eq(repo_id)
-        expect(repo.enabled?).to eq(repo_data["enabled"])
-        expect(repo.url).to eq(URI(repo_data["url"]))
-        expect(repo.product_dir).to eq("/product")
-      end
-    end
-
-    context "when an invalid repo_id is given" do
-      let(:repo_data) { nil }
-
-      it "raises a RepositoryNotFound error" do
-        expect { described_class.find(repo_id) }.to 
raise_error(Y2Packager::Repository::NotFound)
-      end
-    end
-  end
-
-  describe "#scheme" do
-    context "when URL contains a scheme" do
-      let(:repo_url) { URI("cd://dev/sr1") }
-
-      it "returns the repository scheme" do
-        expect(repo.scheme).to eq(:cd)
-      end
-    end
-
-    context "when URL does not contain a scheme" do
-      let(:repo_url) { URI("/home/user/myrepo") }
-
-      it "returns nil" do
-        expect(repo.scheme).to be_nil
-      end
-    end
-  end
-
-  describe "#local" do
-    before do
-      allow(repo).to receive(:scheme).and_return(scheme)
-    end
-
-    context "when scheme is :cd" do
-      let(:scheme) { :cd }
-
-      it "returns true" do
-        expect(repo).to be_local
-      end
-    end
-
-    context "when scheme is :dvd" do
-      let(:scheme) { :dvd }
-
-      it "returns true" do
-        expect(repo).to be_local
-      end
-    end
-
-    context "when scheme is :dir" do
-      let(:scheme) { :dir }
-
-      it "returns true" do
-        expect(repo).to be_local
-      end
-    end
-
-    context "when scheme is :hd" do
-      let(:scheme) { :hd }
-
-      it "returns true" do
-        expect(repo).to be_local
-      end
-    end
-
-    context "when scheme is :iso" do
-      let(:scheme) { :iso }
-
-      it "returns true" do
-        expect(repo).to be_local
-      end
-    end
-
-    context "when scheme is :file" do
-      let(:scheme) { :file }
-
-      it "returns true" do
-        expect(repo).to be_local
-      end
-    end
-
-    context "when scheme is other than local ones" do
-      let(:scheme) { :http }
-
-      it "returns false" do
-        expect(repo).to_not be_local
-      end
-    end
-  end
-
-  describe "#enabled?" do
-    context "when the repo is enabled" do
-      let(:enabled) { true }
-
-      it "returns true" do
-        expect(repo).to be_enabled
-      end
-    end
-
-    context "when the repo is not enabled" do
-      let(:enabled) { false }
-
-      it "returns false" do
-        expect(repo).to_not be_enabled
-      end
-    end
-  end
-
-  describe "#autorefresh?" do
-    context "when the repo is autorefresh" do
-      let(:autorefresh) { true }
-
-      it "returns true" do
-        expect(repo).to be_autorefresh
-      end
-    end
-
-    context "when the repo is not autorefresh" do
-      let(:autorefresh) { false }
-
-      it "returns false" do
-        expect(repo).to_not be_autorefresh
-      end
-    end
-  end
-
-  describe "#products" do
-    let(:products_data) { [product] }
-    let(:product) do
-      Y2Packager::Resolvable.new(
-        ProductFactory.create_product(
-          "arch" => "x86_64", "name" => "openSUSE", "category" => "addon",
-          "status" => :available, "source" => repo_id, "vendor" => "openSUSE"
-        )
-      )
-    end
-
-    it "returns products available in the repository" do
-      allow(Y2Packager::Resolvable).to receive(:find).with(kind: :product, 
source: repo_id)
-        .and_return(products_data)
-      product = repo.products.first
-      expect(product.name).to eq("openSUSE")
-    end
-  end
-
-  describe "#enable!" do
-    it "enables the repository" do
-      expect(Yast::Pkg).to receive(:SourceSetEnabled).with(disabled.repo_id, 
true)
-        .and_return(true)
-      expect { disabled.enable! }.to change { disabled.enabled? 
}.from(false).to(true)
-    end
-  end
-
-  describe "#disable!" do
-    it "disables the repository" do
-      expect(Yast::Pkg).to receive(:SourceSetEnabled).with(repo.repo_id, false)
-        .and_return(true)
-      expect { repo.disable! }.to change { repo.enabled? }.from(true).to(false)
-    end
-  end
-end


Reply via email to