From 2fc4a8e67519784ac10c0fc17baa50389da045e9 Mon Sep 17 00:00:00 2001 From: Qing Tomlinson Date: Sun, 7 Jul 2024 15:03:24 -0700 Subject: [PATCH] Fix simple --- lib/fetch.js | 2 +- .../providers/fetch/mavenBasedFetchTests.js | 24 +++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/lib/fetch.js b/lib/fetch.js index ee3d77eb..1ffbc1e3 100644 --- a/lib/fetch.js +++ b/lib/fetch.js @@ -12,7 +12,7 @@ function buildRequestOptions(request) { } const validateOptions = {} - if (!request.simple) { + if (request.simple === false) { validateOptions.validateStatus = () => true } diff --git a/test/unit/providers/fetch/mavenBasedFetchTests.js b/test/unit/providers/fetch/mavenBasedFetchTests.js index 5b5a826e..5b3995cc 100644 --- a/test/unit/providers/fetch/mavenBasedFetchTests.js +++ b/test/unit/providers/fetch/mavenBasedFetchTests.js @@ -1,5 +1,8 @@ const { expect } = require('chai') const MavenBasedFetch = require('../../../../providers/fetch/mavenBasedFetch') +const mockttp = require('mockttp') +const sinon = require('sinon') +const Request = require('../../../../ghcrawler').request describe('MavenBasedFetch', () => { describe('find contained file stat', () => { @@ -16,4 +19,25 @@ describe('MavenBasedFetch', () => { expect(file.mtime.toISOString().includes('2022-02-24')) }) }) + + describe('Integration test for component not found', function () { + const path = '/remotecontent?filepath=' + const mockServer = mockttp.getLocal() + beforeEach(async () => await mockServer.start()) + afterEach(async () => await mockServer.stop()) + + it('should handle maven components not found', async () => { + const handler = new MavenBasedFetch( + { + mavencentral: mockServer.urlFor(path) + }, + { logger: { log: sinon.stub() } } + ) + await mockServer.forAnyRequest().thenReply(404) + const request = await handler.handle( + new Request('test', 'cd:/maven/mavencentral/org.apache.httpcomponents/httpcore/4.') + ) + expect(request.processControl).to.be.equal('skip') + }) + }) })