Skip to content

Commit

Permalink
[ML] Fix failing tests and address comments from review
Browse files Browse the repository at this point in the history
  • Loading branch information
peteharverson committed Mar 16, 2020
1 parent 7d4eb54 commit d8926e2
Show file tree
Hide file tree
Showing 5 changed files with 32 additions and 32 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -158,12 +158,14 @@ export const ExpandedRow: FC<Props> = ({ item }) => {
title: i18n.translate('xpack.ml.dataframe.analyticsList.expandedRow.tabs.jobSettings.state', {
defaultMessage: 'State',
}),
items: Object.entries(stateValues).map(s => {
if (s[0].toString() === 'state') {
return { title: s[0].toString(), description: getTaskStateBadge(getItemDescription(s[1])) };
} else {
return { title: s[0].toString(), description: getItemDescription(s[1]) };
items: Object.entries(stateValues).map(([stateKey, stateValue]) => {
if (stateKey.toString() === 'state') {
return {
title: stateKey.toString(),
description: getTaskStateBadge(getItemDescription(stateValue)),
};
}
return { title: stateKey.toString(), description: getItemDescription(stateValue) };
}),
position: 'left',
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,16 +22,23 @@ const getMountedHook = () =>

describe('getErrorMessage()', () => {
test('verify error message response formats', () => {
const errorMessage = getErrorMessage(new Error('the-error-message'));
expect(errorMessage).toBe('the-error-message');
const customError1 = {
body: { statusCode: 403, error: 'Forbidden', message: 'the-error-message' },
};
const errorMessage1 = getErrorMessage(customError1);
expect(errorMessage1).toBe('Forbidden: the-error-message');

const customError1 = { customErrorMessage: 'the-error-message' };
const errorMessageMessage1 = getErrorMessage(customError1);
expect(errorMessageMessage1).toBe('{"customErrorMessage":"the-error-message"}');
const customError2 = new Error('the-error-message');
const errorMessage2 = getErrorMessage(customError2);
expect(errorMessage2).toBe('the-error-message');

const customError2 = { message: 'the-error-message' };
const errorMessageMessage2 = getErrorMessage(customError2);
expect(errorMessageMessage2).toBe('the-error-message');
const customError3 = { customErrorMessage: 'the-error-message' };
const errorMessage3 = getErrorMessage(customError3);
expect(errorMessage3).toBe('{"customErrorMessage":"the-error-message"}');

const customError4 = { message: 'the-error-message' };
const errorMessage4 = getErrorMessage(customError4);
expect(errorMessage4).toBe('the-error-message');
});
});

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import { useReducer } from 'react';
import { i18n } from '@kbn/i18n';

import { SimpleSavedObject } from 'kibana/public';
import { isErrorResponse } from '../../../../../../../common/types/errors';
import { ml } from '../../../../../services/ml_api_service';
import { useMlContext } from '../../../../../contexts/ml';

Expand Down Expand Up @@ -39,25 +40,16 @@ export interface CreateAnalyticsFormProps {
state: State;
}

interface ErrorResponse {
body: {
statusCode: number;
error: string;
message: string;
};
name: string;
}

const isErrorResponse = (arg: any): arg is ErrorResponse => {
return arg?.body?.error !== undefined && arg?.body?.message !== undefined;
};

export function getErrorMessage(error: any) {
if (isErrorResponse(error)) {
return `${error.body.error}: ${error.body.message}`;
} else {
return JSON.stringify(error, null, 2);
}

if (typeof error === 'object' && typeof error.message === 'string') {
return error.message;
}

return JSON.stringify(error);
}

export const useCreateAnalyticsForm = (): CreateAnalyticsFormProps => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ import { FileCouldNotBeRead, FileTooLarge } from './file_error_callouts';
import { EditFlyout } from '../edit_flyout';
import { ImportView } from '../import_view';
import { MAX_BYTES } from '../../../../../../common/constants/file_datavisualizer';
import { isErrorResponse } from '../../../../../../common/types/errors';
import {
readFile,
createUrlOverrides,
Expand Down Expand Up @@ -179,9 +180,7 @@ export class FileDataVisualizerView extends Component {
console.error(error);

let serverErrorMsg;
const isErrorResponse =
error?.body?.error !== undefined && error?.body?.message !== undefined;
if (isErrorResponse === true) {
if (isErrorResponse(error) === true) {
serverErrorMsg = `${error.body.error}: ${error.body.message}`;
} else {
serverErrorMsg = JSON.stringify(error, null, 2);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ export const AnalyticsTable: FC<Props> = ({ items }) => {
sortable: (item: DataFrameAnalyticsListRow) => item.stats.state,
truncateText: true,
render(item: DataFrameAnalyticsListRow) {
return getTaskStateBadge(item.stats.state, item.stats.reason);
return getTaskStateBadge(item.stats.state, item.stats.failure_reason);
},
width: '100px',
},
Expand Down

0 comments on commit d8926e2

Please sign in to comment.