Project

General

Profile

« Previous | Next » 

Revision 89a3e4c2

Added by Marek Hulán almost 6 years ago

Fixes #23951 - fix searching by config group

View differences:

app/models/concerns/hostext/search.rb
def search_by_config_group(key, operator, value)
conditions = sanitize_sql_for_conditions(["config_groups.name #{operator} ?", value_to_sql(operator, value)])
host_ids = Host::Managed.authorized(:view_hosts, Host).where(conditions).joins(:config_groups).distinct.pluck('hosts.id')
host_ids = Host::Managed.where(conditions).joins(:config_groups).distinct.pluck('hosts.id')
hostgroup_ids = Hostgroup.unscoped.with_taxonomy_scope.where(conditions).joins(:config_groups).distinct.map(&:subtree_ids).flatten.uniq
opts = ''
test/models/concerns/hostext/search_test.rb
require 'test_helper'
module Hostext
class SearchTest < ActiveSupport::TestCase
context 'host exists' do
setup do
@host = FactoryBot.create(:host)
end
test "can be found by config group" do
config_group = FactoryBot.create(:config_group)
@host.config_groups = [ config_group ]
result = Host.search_for("config_group = #{config_group.name}")
assert_includes result, @host
end
test "search by config group returns only host within that config group" do
config_group = FactoryBot.create(:config_group)
result = Host.search_for("config_group = #{config_group.name}")
assert_not_includes result, @host
end
end
end
end

Also available in: Unified diff