Skip to content

Commit

Permalink
spec test for get/save advanced config settings
Browse files Browse the repository at this point in the history
  • Loading branch information
h-kataria committed May 11, 2018
1 parent 39f0e57 commit 367e130
Showing 1 changed file with 51 additions and 6 deletions.
57 changes: 51 additions & 6 deletions spec/controllers/ops_controller/settings/common_spec.rb
@@ -1,5 +1,11 @@
describe OpsController do
context "OpsController::Settings::Common" do
before do
MiqDatabase.seed
MiqRegion.seed
EvmSpecHelper.local_miq_server(:zone => Zone.seed)
end

context "SmartProxy Affinity" do
before do
@zone = FactoryGirl.create(:zone, :name => 'zone1')
Expand Down Expand Up @@ -133,12 +139,6 @@
end

context "#settings_update" do
before do
MiqDatabase.seed
MiqRegion.seed
EvmSpecHelper.local_miq_server(:zone => Zone.seed)
end

it "won't render form buttons after rhn settings submission" do
session[:edit] = {
:key => "settings_rhn_edit__rhn_edit",
Expand All @@ -156,6 +156,7 @@
{:settings_tree => {:active_node => 'root'}},
:active_tree => :settings_tree,
:active_tab => 'settings_rhn_edit')
allow(controller).to receive(:x_node).and_return("root")
controller.instance_variable_set(:@_params, :id => 'rhn_edit', :button => "save")
controller.send(:settings_update)
expect(response).to render_template('ops/_settings_rhn_tab')
Expand Down Expand Up @@ -239,6 +240,50 @@
expect(assigns(:ntp_servers)).to eq("1.example.com, 2.example.com")
end
end

context 'get advanced config settings' do
it 'for selected server' do
_guid, miq_server, _zone = EvmSpecHelper.local_guid_miq_server_zone
enc_pass = MiqPassword.encrypt('pa$$word')
stub_settings(:http_proxy => {:default => {:host => "proxy.example.com",
:user => "user",
:password => enc_pass,
:port => 80}})
allow(controller).to receive(:x_node).and_return("svr-#{miq_server.id}")
controller.instance_variable_set(:@sb, :active_tab => 'settings_advanced')
controller.send(:settings_get_info, "svr-#{miq_server.id}")
expect(assigns(:edit)[:current]).to eq(:file_data => "---\n:http_proxy:\n :default:\n :host: proxy.example.com\n :user: user\n :password: #{enc_pass}\n :port: 80\n")
end
end
end

describe '#settings_update_save' do
context "save config settings" do
it 'for selected server' do
_guid, miq_server, _zone = EvmSpecHelper.local_guid_miq_server_zone
allow(controller).to receive(:x_node).and_return("svr-#{miq_server.id}")
controller.instance_variable_set(:@sb,
:active_tab => 'settings_advanced',
:selected_server_id => miq_server.id)
controller.instance_variable_set(:@_params,
:id => 'advanced')
data = {}
data.store_path(:api, :token_ttl, "1.day")
data = data.to_yaml
controller.instance_variable_set(:@edit,
:new => {:file_data => data},
:current => {:file_data => data},
:key => "settings_advanced_edit__#{miq_server.id}")
session[:edit] = assigns(:edit)
expect(controller).to receive(:render)
expect(Vmdb::Settings).to receive(:reload!).exactly(2).times

controller.send(:settings_update_save)
controller.send(:fetch_advanced_settings, miq_server)
expect(VMDB::Config.save_file(data, miq_server)).to be true
expect(SettingsChange.first).to have_attributes(:key => '/api/token_ttl', :value => "1.day")
end
end
end
end
end

0 comments on commit 367e130

Please sign in to comment.