Skip to content

Commit

Permalink
Make sure @edit[:current].config[:server][:zone] is set
Browse files Browse the repository at this point in the history
Current server never returns its zone in get_configso it has to be checked and set correctly

Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1584851
  • Loading branch information
ZitaNemeckova committed Jun 7, 2018
1 parent 2e4b82e commit 22791d4
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 0 deletions.
1 change: 1 addition & 0 deletions app/controllers/ops_controller/settings/common.rb
Expand Up @@ -951,6 +951,7 @@ def settings_set_form_vars_server
@edit[:current].config[:smtp][:enable_starttls_auto] = GenericMailer.default_for_enable_starttls_auto if @edit[:current].config[:smtp][:enable_starttls_auto].nil?
@edit[:current].config[:smtp][:openssl_verify_mode] ||= "none"
@edit[:current].config[:ntp] ||= {}
@edit[:current].config[:server][:zone] = MiqServer.find(@sb[:selected_server_id]).zone.name

@in_a_form = true
end
Expand Down
21 changes: 21 additions & 0 deletions spec/controllers/ops_controller/settings/common_spec.rb
Expand Up @@ -341,5 +341,26 @@
end
end
end

describe '#settings_set_form_vars_server' do
context 'sets values correctly' do
it 'for server in non-current zone' do
zone = FactoryGirl.create(:zone, :name => 'Foo Zone')
server = FactoryGirl.create(:miq_server, :zone => zone)
controller.instance_variable_set(:@sb, :selected_server_id => server.id)
controller.send(:settings_set_form_vars_server)
edit_current = assigns(:edit)
expect(edit_current[:current].config[:server][:zone]).to eq(zone.name)
end

it 'for server in default zone' do
server = FactoryGirl.create(:miq_server, :zone => Zone.find_by(:name => "default"))
controller.instance_variable_set(:@sb, :selected_server_id => server.id)
controller.send(:settings_set_form_vars_server)
edit_current = assigns(:edit)
expect(edit_current[:current].config[:server][:zone]).to eq("default")
end
end
end
end
end

0 comments on commit 22791d4

Please sign in to comment.