feat: manually mirror opencoze's code from bytedance
Change-Id: I09a73aadda978ad9511264a756b2ce51f5761adf
This commit is contained in:
93
frontend/packages/arch/logger/__tests__/utils.test.ts
Normal file
93
frontend/packages/arch/logger/__tests__/utils.test.ts
Normal file
@@ -0,0 +1,93 @@
|
||||
/*
|
||||
* Copyright 2025 coze-dev Authors
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { ErrorType } from '../src/types';
|
||||
import {
|
||||
safeJson,
|
||||
ApiError,
|
||||
getErrorType,
|
||||
getApiErrorRecord,
|
||||
} from '../src/slardar/utils';
|
||||
|
||||
describe('slardar utils function is normal', () => {
|
||||
test('safeJson stringify and parse success catch error', () => {
|
||||
const mock = {
|
||||
test: {},
|
||||
};
|
||||
mock.test = mock;
|
||||
|
||||
expect(safeJson.stringify(mock)).toContain('JSON stringify Error:');
|
||||
|
||||
expect(safeJson.parse('{')).toBeNull();
|
||||
});
|
||||
|
||||
test('ApiError', () => {
|
||||
const apiError = new ApiError({
|
||||
httpStatus: '200',
|
||||
code: '0',
|
||||
message: 'test',
|
||||
logId: '123',
|
||||
});
|
||||
expect(apiError.name).toBe('ApiError');
|
||||
});
|
||||
|
||||
test('getErrorType', () => {
|
||||
const errorType = getErrorType({
|
||||
name: '',
|
||||
message: '',
|
||||
});
|
||||
expect(errorType).toBe(ErrorType.Unknown);
|
||||
|
||||
const errorType1 = getErrorType(null);
|
||||
expect(errorType1).toBe(ErrorType.Unknown);
|
||||
|
||||
const apiError = new ApiError({
|
||||
httpStatus: '200',
|
||||
code: '0',
|
||||
message: 'test',
|
||||
logId: '123',
|
||||
});
|
||||
const errorType2 = getErrorType(apiError);
|
||||
expect(errorType2).toBe(ErrorType.ApiError);
|
||||
|
||||
const apiError2 = new ApiError({
|
||||
httpStatus: '200',
|
||||
code: '0',
|
||||
message: 'test',
|
||||
logId: '123',
|
||||
errorType: 'test',
|
||||
});
|
||||
|
||||
const errorType3 = getErrorType(apiError2);
|
||||
expect(errorType3).toBe('test');
|
||||
});
|
||||
|
||||
test('getApiErrorRecord', () => {
|
||||
const error1 = getApiErrorRecord(null);
|
||||
expect(error1).toEqual({});
|
||||
|
||||
const apiError = new ApiError({
|
||||
httpStatus: '200',
|
||||
code: '0',
|
||||
message: 'test',
|
||||
logId: '123',
|
||||
response: {},
|
||||
requestConfig: {},
|
||||
});
|
||||
const error2 = getApiErrorRecord(apiError);
|
||||
expect(error2.response).toBe('{}');
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user