UNPKG

deepsource-mcp-server

Version:
205 lines 7.93 kB
/** * Test utilities for DeepSource tests */ import { DeepSourceClient } from '../../deepsource.js'; /** * TestableDeepSourceClient extends DeepSourceClient to expose private methods for testing. * This class provides test-only methods to access private static and instance methods * in the DeepSourceClient class. */ export class TestableDeepSourceClient extends DeepSourceClient { /** * Test method for handleTestEnvironment private static method */ static async testHandleTestEnvironment(params) { // @ts-expect-error Accessing private method for testing return DeepSourceClient['handleTestEnvironment'](params); } /** * Test method for validateAndGetMetricInfo private instance method */ async testValidateAndGetMetricInfo(params) { // @ts-expect-error Accessing private method for testing return this.validateAndGetMetricInfo(params); } /** * Test method for processRegularMetricHistory private instance method */ async testProcessRegularMetricHistory(params) { // @ts-expect-error Accessing private method for testing return this.processRegularMetricHistory(params); } /** * Test method for fetchHistoricalValues private instance method */ async testFetchHistoricalValues(params, project, metricItem) { // @ts-expect-error Accessing private method for testing return this.fetchHistoricalValues(params, project, metricItem); } /** * Test method for createMetricHistoryResponse private static method */ static testCreateMetricHistoryResponse(params, metric, metricItem, historyValues) { // @ts-expect-error Accessing private method for testing return DeepSourceClient.createMetricHistoryResponse(params, metric, metricItem, historyValues); } /** * Test method for calculateTrendDirection private static method */ static testCalculateTrendDirection(values, positiveDirection) { // @ts-expect-error Accessing private method for testing return DeepSourceClient.calculateTrendDirection(values, positiveDirection); } /** * Test method for isError private static method */ static testIsError(error) { // @ts-expect-error Accessing private method for testing return DeepSourceClient.isError(error); } /** * Test method for isErrorWithMessage private static method */ static testIsErrorWithMessage(error, substring) { // @ts-expect-error Accessing private method for testing return DeepSourceClient.isErrorWithMessage(error, substring); } /** * Test method for validateProjectRepository private static method */ static testValidateProjectRepository(project, projectKey) { // @ts-expect-error Accessing private method for testing return DeepSourceClient.validateProjectRepository(project, projectKey); } /** * Test method for extractReportData private static method */ static testExtractReportData(response, reportType) { // @ts-expect-error Accessing private method for testing return DeepSourceClient.extractReportData(response, reportType); } /** * Test method for handling NoneType errors */ static async testNoneTypeErrorHandler() { try { // Force an error that contains 'NoneType' throw new Error('NoneType object has no attribute get'); } catch (error) { // This is the exact code from getQualityMetrics (lines 2448-2456) if (TestableDeepSourceClient.testIsError(error)) { if (TestableDeepSourceClient.testIsErrorWithMessage(error, 'NoneType')) { // This is line 2452 that we want to cover return []; } } throw error; } } /** * Test method for getQualityMetricsWithNoneTypeError */ static async testGetQualityMetricsWithNoneTypeError() { try { // Force an error throw new Error('NoneType object has no attribute get'); } catch (error) { // This is the exact code from getQualityMetrics catch block (lines 2448-2456) // Handle errors if (TestableDeepSourceClient.testIsError(error)) { if (TestableDeepSourceClient.testIsErrorWithMessage(error, 'NoneType')) { return []; } } // @ts-expect-error Accessing private method for testing return DeepSourceClient.handleGraphQLError(error); } } /** * Test method for processVulnerabilityEdge private static method */ static testProcessVulnerabilityEdge(edge) { // @ts-expect-error Accessing private method for testing return DeepSourceClient.processVulnerabilityEdge(edge); } /** * Test method for isValidVulnerabilityNode private static method */ static testIsValidVulnerabilityNode(node) { // @ts-expect-error Accessing private method for testing return DeepSourceClient.isValidVulnerabilityNode(node); } /** * Test method for mapVulnerabilityOccurrence private static method */ static testMapVulnerabilityOccurrence(node) { // @ts-expect-error Accessing private method for testing return DeepSourceClient.mapVulnerabilityOccurrence(node); } /** * Test method for iterateVulnerabilities private static method */ static testIterateVulnerabilities(edges) { // @ts-expect-error Accessing private method for testing return DeepSourceClient.iterateVulnerabilities(edges); } /** * Test method for processVulnerabilityResponse private static method */ static testProcessVulnerabilityResponse(response) { // @ts-expect-error Accessing private method for testing return DeepSourceClient.processVulnerabilityResponse(response); } /** * Test method for getReportField private static method */ static testGetReportField(reportType) { // @ts-expect-error Accessing private method for testing return DeepSourceClient.getReportField(reportType); } /** * Test method for isAxiosErrorWithCriteria private static method */ static testIsAxiosErrorWithCriteria(error, statusCode, errorCode) { // @ts-expect-error Accessing private method for testing return DeepSourceClient.isAxiosErrorWithCriteria(error, statusCode, errorCode); } /** * Test method for handleNetworkError private static method */ static testHandleNetworkError(error) { // @ts-expect-error Accessing private method for testing return DeepSourceClient.handleNetworkError(error); } /** * Test method for handleHttpStatusError private static method */ static testHandleHttpStatusError(error) { // @ts-expect-error Accessing private method for testing return DeepSourceClient.handleHttpStatusError(error); } /** * Test method for handleGraphQLError private static method */ static testHandleGraphQLError(error) { // @ts-expect-error Accessing private method for testing return DeepSourceClient.handleGraphQLError(error); } /** * Test method for handleGraphQLSpecificError private static method */ static testHandleGraphQLSpecificError(error) { // @ts-expect-error Accessing private method for testing return DeepSourceClient.handleGraphQLSpecificError(error); } /** * Test method for validateNumber private static method */ static testValidateNumber(value) { // @ts-expect-error Accessing private method for testing return DeepSourceClient.validateNumber(value); } } //# sourceMappingURL=test-utils.js.map