Project

General

Profile

Download (3.26 KB) Statistics
| Branch: | Tag: | Revision:
require File.join(File.dirname(__FILE__), '../../test_helper')
require File.join(File.dirname(__FILE__), '../host_helpers')
require 'hammer_cli_katello/host_subscription'

describe 'host subscription content-override' do
include HostHelpers

before do
@cmd = %w(host subscription content-override)
end

it "attaches a content label" do
label = "foo"
value = 'default'
id = '20'
params = ["--host-id=#{id}", "--content-label=#{label}", "--value=#{value}"]
ex = api_expects(:host_subscriptions, :content_override, "content override") do |par|
par['host_id'].to_s == id && par["content_overrides"][0]['content_label'] == label &&
par['content_overrides'][0]['value'] == value &&
par['content_overrides'][0]['name'] == "enabled"
end
ex.returns({})

expected_result = success_result("Updated content override.\n")

result = run_cmd(@cmd + params)
assert_cmd(expected_result, result)
end

it "attaches a content label with name" do
label = "foo"
value = '1'
id = '20'
name = 'protected'
params = ["--host-id=#{id}", "--content-label=#{label}", "--value=#{value}",
"--override-name=#{name}"]
ex = api_expects(:host_subscriptions, :content_override, "content override") do |par|
par['host_id'].to_s == id && par["content_overrides"][0]['content_label'] == label &&
par['content_overrides'][0]['value'] == value &&
par['content_overrides'][0]['name'] == name
end
ex.returns({})

expected_result = success_result("Updated content override.\n")

result = run_cmd(@cmd + params)
assert_cmd(expected_result, result)
end

it "removes override" do
label = "foo"
id = '20'
params = ["--host-id=#{id}", "--content-label=#{label}", "--remove"]
ex = api_expects(:host_subscriptions, :content_override, "content override") do |par|
par['host_id'].to_s == id && par["content_overrides"][0]['content_label'] == label &&
par['content_overrides'][0]['remove'] == true &&
par['content_overrides'][0]['name'] == "enabled"
end
ex.returns({})

expected_result = success_result("Updated content override.\n")

result = run_cmd(@cmd + params)
assert_cmd(expected_result, result)
end

it "removes override with name" do
label = "foo"
id = '20'
name = 'protected'
params = ["--host-id=#{id}", "--content-label=#{label}", "--override-name=#{name}", "--remove"]
ex = api_expects(:host_subscriptions, :content_override, "content override") do |par|
par['host_id'].to_s == id && par["content_overrides"][0]['content_label'] == label &&
par['content_overrides'][0]['remove'] == true &&
par['content_overrides'][0]['name'] == name
end
ex.returns({})

expected_result = success_result("Updated content override.\n")

result = run_cmd(@cmd + params)
assert_cmd(expected_result, result)
end

it "validation fails on no override value or remove" do
api_expects_no_call
label = "foo"
id = '20'
name = 'protected'
params = ["--host-id=#{id}", "--content-label=#{label}", "--override-name=#{name}"]
result = run_cmd(@cmd + params)

assert(result.err[/At least one of options --remove, --value is required/],
"Remove or Value must be provided")
end
end
(3-3/7)