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
