diff --git a/x-pack/platform/plugins/shared/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_logs/agent_logs.test.tsx b/x-pack/platform/plugins/shared/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_logs/agent_logs.test.tsx index bafaefd1286f8..7af059bf4e1bc 100644 --- a/x-pack/platform/plugins/shared/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_logs/agent_logs.test.tsx +++ b/x-pack/platform/plugins/shared/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_logs/agent_logs.test.tsx @@ -11,6 +11,7 @@ import { useAuthz, useStartServices } from '../../../../../hooks'; import { createFleetTestRendererMock } from '../../../../../../../mock'; import { AgentLogsUI } from './agent_logs'; +import { SelectLogLevel } from './select_log_level'; jest.mock('@kbn/kibana-utils-plugin/public', () => { return { @@ -192,7 +193,7 @@ describe('AgentLogsUI', () => { expect(result.queryByTestId('viewInLogsBtn')).not.toBeInTheDocument(); }); - it('should show log level dropdown with correct value', () => { + it('should show log level dropdown with correct value when agent has a per-agent override', () => { mockStartServices(); const result = renderComponent(); const logLevelDropdown = result.getByTestId('selectAgentLogLevel'); @@ -200,6 +201,32 @@ describe('AgentLogsUI', () => { expect(logLevelDropdown).toHaveDisplayValue('debug'); }); + it('should fall back to policy log level when agent has no per-agent override', () => { + jest.mocked(useStartServices).mockReturnValue({ + notifications: { toasts: { addSuccess: jest.fn(), addError: jest.fn() } }, + } as any); + const renderer = createFleetTestRendererMock(); + const agent = { + id: 'agent1', + local_metadata: { elastic: { agent: { version: '8.15.0' } } }, + } as any; + const result = renderer.render(); + expect(result.getByTestId('selectAgentLogLevel')).toHaveDisplayValue('warning'); + }); + + it('should fall back to info when agent has no per-agent override and policy has no log level set', () => { + jest.mocked(useStartServices).mockReturnValue({ + notifications: { toasts: { addSuccess: jest.fn(), addError: jest.fn() } }, + } as any); + const renderer = createFleetTestRendererMock(); + const agent = { + id: 'agent1', + local_metadata: { elastic: { agent: { version: '8.15.0' } } }, + } as any; + const result = renderer.render(); + expect(result.getByTestId('selectAgentLogLevel')).toHaveDisplayValue('info'); + }); + it('should always show apply log level changes button', () => { mockStartServices(); const result = renderComponent(); diff --git a/x-pack/platform/plugins/shared/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_logs/select_log_level.tsx b/x-pack/platform/plugins/shared/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_logs/select_log_level.tsx index ad69e7ce3b22a..3a746be5dc6f1 100644 --- a/x-pack/platform/plugins/shared/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_logs/select_log_level.tsx +++ b/x-pack/platform/plugins/shared/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_logs/select_log_level.tsx @@ -29,7 +29,7 @@ export const SelectLogLevel: React.FC<{ agent: Agent; agentPolicyLogLevel?: stri ); const [agentLogLevel, setAgentLogLevel] = useState( - agent.local_metadata?.elastic?.agent?.log_level ?? DEFAULT_LOG_LEVEL + agent.local_metadata?.elastic?.agent?.log_level ?? agentPolicyLogLevel ); const [selectedLogLevel, setSelectedLogLevel] = useState(agentLogLevel);