From 174464210f43d085eb248566b10279f86dd68e94 Mon Sep 17 00:00:00 2001 From: Brandon Dunne Date: Fri, 6 Sep 2013 23:01:57 -0400 Subject: [PATCH 1/4] Reduce unnecessary extra line and variable, align = signs --- lib/linux_admin/yum.rb | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/lib/linux_admin/yum.rb b/lib/linux_admin/yum.rb index a0ce717..5d4a417 100644 --- a/lib/linux_admin/yum.rb +++ b/lib/linux_admin/yum.rb @@ -66,10 +66,9 @@ def self.version_available(*packages) out = run!(cmd, :params => params).output - items = out.split("\n") - items.each_with_object({}) do |i, versions| - name, version = i.split(" ", 2) - versions[name.strip] = version.strip + out.split("\n").each_with_object({}) do |i, versions| + name, version = i.split(" ", 2) + versions[name.strip] = version.strip end end From 424d432026f6d9a294933bb2765c5f9c3172b825 Mon Sep 17 00:00:00 2001 From: Brandon Dunne Date: Fri, 6 Sep 2013 23:02:59 -0400 Subject: [PATCH 2/4] Rename output_repoquery with multiple packages content --- spec/data/yum/{output_repoquery => output_repoquery_multiple} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename spec/data/yum/{output_repoquery => output_repoquery_multiple} (100%) diff --git a/spec/data/yum/output_repoquery b/spec/data/yum/output_repoquery_multiple similarity index 100% rename from spec/data/yum/output_repoquery rename to spec/data/yum/output_repoquery_multiple From c5fd43885337fadd72597ce861372f0e80f5858f Mon Sep 17 00:00:00 2001 From: Brandon Dunne Date: Fri, 6 Sep 2013 23:03:30 -0400 Subject: [PATCH 3/4] Add output_repoquery for single package --- spec/data/yum/output_repoquery_single | 1 + 1 file changed, 1 insertion(+) create mode 100644 spec/data/yum/output_repoquery_single diff --git a/spec/data/yum/output_repoquery_single b/spec/data/yum/output_repoquery_single new file mode 100644 index 0000000..8abed10 --- /dev/null +++ b/spec/data/yum/output_repoquery_single @@ -0,0 +1 @@ +subscription-manager 1.1.23.1 From f8857b67f26f554e2813211a6693f88191c925d6 Mon Sep 17 00:00:00 2001 From: Brandon Dunne Date: Fri, 6 Sep 2013 23:04:01 -0400 Subject: [PATCH 4/4] update spec to test both single and multiple packages cases --- spec/yum_spec.rb | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/spec/yum_spec.rb b/spec/yum_spec.rb index 53e77b2..cff99a9 100644 --- a/spec/yum_spec.rb +++ b/spec/yum_spec.rb @@ -110,9 +110,14 @@ expect { described_class.version_available }.to raise_error(ArgumentError) end - it "with packages" do - described_class.should_receive(:run!).once.with("repoquery --qf=\"%{name} %{version}\"", {:params=>{nil=>["curl"]}}).and_return(double(:output => sample_output("yum/output_repoquery"))) - expect(described_class.version_available("curl")).to eq({ + it "with one package" do + described_class.should_receive(:run!).once.with("repoquery --qf=\"%{name} %{version}\"", {:params=>{nil=>["subscription-manager"]}}).and_return(double(:output => sample_output("yum/output_repoquery_single"))) + expect(described_class.version_available("subscription-manager")).to eq({"subscription-manager" => "1.1.23.1"}) + end + + it "with multiple packages" do + described_class.should_receive(:run!).once.with("repoquery --qf=\"%{name} %{version}\"", {:params=>{nil=>["curl", "subscription-manager", "wget"]}}).and_return(double(:output => sample_output("yum/output_repoquery_multiple"))) + expect(described_class.version_available("curl", "subscription-manager", "wget")).to eq({ "curl" => "7.19.7", "subscription-manager" => "1.1.23.1", "wget" => "1.12"