Hello community,
here is the log from the commit of package yast2-packager for
openSUSE:Leap:15.2 checked in at 2020-02-04 17:54:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Leap:15.2/yast2-packager (Old)
and /work/SRC/openSUSE:Leap:15.2/.yast2-packager.new.26092 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2-packager"
Tue Feb 4 17:54:36 2020 rev:136 rq:768925 version:4.2.47
Changes:
--------
--- /work/SRC/openSUSE:Leap:15.2/yast2-packager/yast2-packager.changes
2020-01-17 11:59:03.520441137 +0100
+++
/work/SRC/openSUSE:Leap:15.2/.yast2-packager.new.26092/yast2-packager.changes
2020-02-04 17:54:54.668767080 +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.gL4ku5/_old 2020-02-04 17:54:55.188767394 +0100
+++ /var/tmp/diff_new_pack.gL4ku5/_new 2020-02-04 17:54:55.192767396 +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