Skip to content

Commit df2219c

Browse files
committed
Add test for fingerprint_stemmed_codebase_resources
Signed-off-by: Jono Yang <[email protected]>
1 parent 66fa777 commit df2219c

File tree

2 files changed

+65
-0
lines changed

2 files changed

+65
-0
lines changed
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
'use strict';
2+
3+
var gutil = require('gulp-util');
4+
5+
function handleError(error, source) {
6+
var message = error.messageFormatted ? error.messageFormatted : error.message;
7+
console.error(new gutil.PluginError(source || 'metal', message).toString());
8+
9+
this.emit('end'); // jshint ignore:line
10+
}
11+
12+
module.exports = handleError;

scanpipe/tests/pipes/test_matchcode.py

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -366,3 +366,56 @@ def test_scanpipe_pipes_matchcode_fingerprint_codebase_resources(self):
366366
}
367367
self.assertEqual(expected_extra_data, codebase_resource1.extra_data)
368368
self.assertFalse(codebase_resource2.extra_data)
369+
370+
def test_scanpipe_pipes_matchcode_fingerprint_stemmed_codebase_resources(self):
371+
# This resource should not have a fingerprint
372+
copy_input(
373+
self.data / "aboutcode" / "notice.NOTICE", self.project1.codebase_path
374+
)
375+
codebase_resource1 = CodebaseResource.objects.create(
376+
project=self.project1, path="notice.NOTICE", is_text=True
377+
)
378+
379+
# This resource should not have a fingerprint
380+
copy_input(
381+
self.data / "scancode" / "is-npm-1.0.0.tgz", self.project1.codebase_path
382+
)
383+
codebase_resource2 = CodebaseResource.objects.create(
384+
project=self.project1, path="is-npm-1.0.0.tgz"
385+
)
386+
387+
# This resource should have a fingerprint
388+
copy_input(
389+
self.data / "matchcode" / "fingerprinting" / "handleError.js",
390+
self.project1.codebase_path,
391+
)
392+
codebase_resource3 = CodebaseResource.objects.create(
393+
project=self.project1, path="handleError.js", is_text=True
394+
)
395+
396+
matchcode.fingerprint_stemmed_codebase_resources(self.project1)
397+
codebase_resource1.refresh_from_db()
398+
codebase_resource2.refresh_from_db()
399+
codebase_resource3.refresh_from_db()
400+
401+
expected_extra_data = {
402+
"stemmed_halo1": "0000001ebf495b2fde7beb419238f8a4e8427b41",
403+
"stemmed_snippets": [
404+
{"snippet": "7089085d2b66fc610e31a54edf2ddc76", "position": 0},
405+
{"snippet": "accf246732a0ea80d8c59af1a69dc074", "position": 2},
406+
{"snippet": "a163d9edfaa1f6daf2c1e92fcd4b8b8a", "position": 3},
407+
{"snippet": "7ebfad556997dc224a75499ee4411169", "position": 4},
408+
{"snippet": "a77f64bd3bfef4323bd6cbc3c93aab4f", "position": 7},
409+
{"snippet": "6a2bcde13a7f15492c3e2e4436c4217e", "position": 8},
410+
{"snippet": "2c988df1972a487121338ec1b947df1a", "position": 9},
411+
{"snippet": "bebb16613133c76d2c260474fc82ab34", "position": 10},
412+
{"snippet": "979167ee18b8e80590c2c083ed9e1a8a", "position": 11},
413+
{"snippet": "d7a3167b8a401f9147ce5ed773fab894", "position": 12},
414+
{"snippet": "251fb1d28cc5d7ae002ff82b87377233", "position": 13},
415+
{"snippet": "ed139c8a1f4764c33cdc3432097a2dc6", "position": 15},
416+
{"snippet": "6c37ff7b040d2c75a0b94597d73d42da", "position": 18},
417+
],
418+
}
419+
self.assertEqual(expected_extra_data, codebase_resource3.extra_data)
420+
self.assertFalse(codebase_resource1.extra_data)
421+
self.assertFalse(codebase_resource2.extra_data)

0 commit comments

Comments
 (0)