Skip to content

Commit

Permalink
[Security solution] assistantKnowledgeBaseByDefault flag defaults t…
Browse files Browse the repository at this point in the history
…o `true` (elastic#198178)
  • Loading branch information
stephmilovic authored Oct 31, 2024
1 parent 7d0f15b commit 88225ff
Show file tree
Hide file tree
Showing 4 changed files with 3 additions and 82 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,6 @@ export type AssistantFeatureKey = keyof AssistantFeatures;
* Default features available to the elastic assistant
*/
export const defaultAssistantFeatures = Object.freeze({
assistantKnowledgeBaseByDefault: false,
assistantKnowledgeBaseByDefault: true,
assistantModelEvaluation: false,
});
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ import { Conversation } from '../assistant_context/types';
import * as all from './chat_send/use_chat_send';
import { useConversation } from './use_conversation';
import { AIConnector } from '../connectorland/connector_selector';
import { omit } from 'lodash';

jest.mock('../connectorland/use_load_connectors');
jest.mock('../connectorland/connector_setup');
Expand Down Expand Up @@ -142,84 +141,6 @@ describe('Assistant', () => {
});

describe('persistent storage', () => {
it('should refetchCurrentUserConversations after settings save button click', async () => {
const chatSendSpy = jest.spyOn(all, 'useChatSend');
await renderAssistant();

fireEvent.click(screen.getByTestId('settings'));

jest.mocked(useFetchCurrentUserConversations).mockReturnValue({
data: {
...mockData,
welcome_id: {
...mockData.welcome_id,
apiConfig: { newProp: true },
},
},
isLoading: false,
refetch: jest.fn().mockResolvedValue({
isLoading: false,
data: {
...mockData,
welcome_id: {
...mockData.welcome_id,
apiConfig: { newProp: true },
},
},
}),
isFetched: true,
} as unknown as DefinedUseQueryResult<Record<string, Conversation>, unknown>);

await act(async () => {
fireEvent.click(screen.getByTestId('save-button'));
});

expect(chatSendSpy).toHaveBeenLastCalledWith(
expect.objectContaining({
currentConversation: {
apiConfig: { newProp: true },
category: 'assistant',
id: mockData.welcome_id.id,
messages: [],
title: 'Welcome',
replacements: {},
},
})
);
});

it('should refetchCurrentUserConversations after settings save button click, but do not update convos when refetch returns bad results', async () => {
jest.mocked(useFetchCurrentUserConversations).mockReturnValue({
data: mockData,
isLoading: false,
refetch: jest.fn().mockResolvedValue({
isLoading: false,
data: omit(mockData, 'welcome_id'),
}),
isFetched: true,
} as unknown as DefinedUseQueryResult<Record<string, Conversation>, unknown>);
const chatSendSpy = jest.spyOn(all, 'useChatSend');
await renderAssistant();

fireEvent.click(screen.getByTestId('settings'));
await act(async () => {
fireEvent.click(screen.getByTestId('save-button'));
});

expect(chatSendSpy).toHaveBeenLastCalledWith(
expect.objectContaining({
currentConversation: {
apiConfig: { connectorId: '123' },
replacements: {},
category: 'assistant',
id: mockData.welcome_id.id,
messages: [],
title: 'Welcome',
},
})
);
});

it('should delete conversation when delete button is clicked', async () => {
await renderAssistant();
const deleteButton = screen.getAllByTestId('delete-option')[0];
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ export const allowedExperimentalValues = Object.freeze({
/**
* Enables new Knowledge Base Entries features, introduced in `8.15.0`.
*/
assistantKnowledgeBaseByDefault: false,
assistantKnowledgeBaseByDefault: true,

/**
* Enables the Managed User section inside the new user details flyout.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ export default ({ getService }: FtrProviderContext) => {
const es = getService('es');
const ml = getService('ml') as ReturnType<typeof MachineLearningProvider>;

describe('@ess Basic Security AI Assistant Knowledge Base Entries', () => {
describe.skip('@ess Basic Security AI Assistant Knowledge Base Entries', () => {
before(async () => {
await installTinyElser(ml);
await setupKnowledgeBase(supertest, log);
Expand Down

0 comments on commit 88225ff

Please sign in to comment.