deepsource-mcp-server
Version:
Model Context Protocol server for DeepSource
205 lines • 7.93 kB
JavaScript
/**
* 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