From 2fb135521d21bf3357e0378d4ef7a32bcc416169 Mon Sep 17 00:00:00 2001 From: shabirmean Date: Wed, 15 Feb 2023 20:44:29 -0500 Subject: [PATCH] cleanup: remove unused test files --- dlp/system-test/redact.test.js | 135 ------------------ .../redact-multiple-types.expected.png | Bin 15869 -> 0 bytes .../resources/redact-single-type.expected.png | Bin 21318 -> 0 bytes 3 files changed, 135 deletions(-) delete mode 100644 dlp/system-test/redact.test.js delete mode 100644 dlp/system-test/resources/redact-multiple-types.expected.png delete mode 100644 dlp/system-test/resources/redact-single-type.expected.png diff --git a/dlp/system-test/redact.test.js b/dlp/system-test/redact.test.js deleted file mode 100644 index 5590a26ed8..0000000000 --- a/dlp/system-test/redact.test.js +++ /dev/null @@ -1,135 +0,0 @@ -// Copyright 2018 Google LLC -// -// 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. - -'use strict'; - -const {assert} = require('chai'); -const {describe, it, before} = require('mocha'); -const fs = require('fs'); -const cp = require('child_process'); -const {PNG} = require('pngjs'); -const pixelmatch = require('pixelmatch'); -const DLP = require('@google-cloud/dlp'); - -const execSync = cmd => cp.execSync(cmd, {encoding: 'utf-8'}); - -const testImage = 'resources/test.png'; -const testResourcePath = 'system-test/resources'; - -const client = new DLP.DlpServiceClient(); - -async function readImage(filePath) { - return new Promise((resolve, reject) => { - fs.createReadStream(filePath) - .pipe(new PNG()) - .on('error', reject) - .on('parsed', function () { - resolve(this); - }); - }); -} - -async function getImageDiffPercentage(image1Path, image2Path) { - const image1 = await readImage(image1Path); - const image2 = await readImage(image2Path); - const diff = new PNG({width: image1.width, height: image1.height}); - - const diffPixels = pixelmatch( - image1.data, - image2.data, - diff.data, - image1.width, - image1.height - ); - return diffPixels / (diff.width * diff.height); -} -describe('redact', () => { - let projectId; - - before(async () => { - projectId = await client.getProjectId(); - }); - // redact_text - it('should redact a single sensitive data type from a string', () => { - const output = execSync( - `node redactText.js ${projectId} "My email is jenny@example.com" -t EMAIL_ADDRESS` - ); - assert.match(output, /My email is \[EMAIL_ADDRESS\]/); - }); - - it('should redact multiple sensitive data types from a string', () => { - const output = execSync( - `node redactText.js ${projectId} "I am 29 years old and my email is jenny@example.com" LIKELIHOOD_UNSPECIFIED 'EMAIL_ADDRESS,AGE'` - ); - assert.match(output, /I am \[AGE\] and my email is \[EMAIL_ADDRESS\]/); - }); - - it('should handle string with no sensitive data', () => { - const output = execSync( - `node redactText.js ${projectId} "No sensitive data to redact here" LIKELIHOOD_UNSPECIFIED 'EMAIL_ADDRESS,AGE'` - ); - assert.match(output, /No sensitive data to redact here/); - }); - - // redact_image - it('should redact a single sensitive data type from an image', async () => { - const testName = 'redact-single-type'; - const output = execSync( - `node redactImage.js ${projectId} ${testImage} 'LIKELIHOOD_UNSPECIFIED' 'PHONE_NUMBER' ${testName}.actual.png` - ); - assert.match(output, /Saved image redaction results to path/); - const difference = await getImageDiffPercentage( - `${testName}.actual.png`, - `${testResourcePath}/${testName}.expected.png` - ); - assert.isBelow(difference, 0.1); - }); - - it('should redact multiple sensitive data types from an image', async () => { - const testName = 'redact-multiple-types'; - const output = execSync( - `node redactImage.js ${projectId} ${testImage} LIKELIHOOD_UNSPECIFIED 'PHONE_NUMBER,EMAIL_ADDRESS' ${testName}.actual.png` - ); - assert.match(output, /Saved image redaction results to path/); - const difference = await getImageDiffPercentage( - `${testName}.actual.png`, - `${testResourcePath}/${testName}.expected.png` - ); - assert.isBelow(difference, 0.1); - }); - - it('should report info type errors', () => { - let output; - try { - output = execSync( - `node redactText.js ${projectId} "My email is jenny@example.com" LIKELIHOOD_UNSPECIFIED 'NONEXISTENT'` - ); - } catch (err) { - output = err.message; - } - assert.include(output, 'INVALID_ARGUMENT'); - }); - - it('should report image redaction handling errors', () => { - let output; - try { - output = execSync( - `node redactImage.js ${projectId} ${testImage} output.png BAD_TYPE` - ); - } catch (err) { - output = err.message; - } - assert.include(output, 'INVALID_ARGUMENT'); - }); -}); diff --git a/dlp/system-test/resources/redact-multiple-types.expected.png b/dlp/system-test/resources/redact-multiple-types.expected.png deleted file mode 100644 index 5f0ef54c3822441792ec192bdafd987ab4ad8e99..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15869 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

Z!Z-kTnfgeW_s245NH%^shrfSp0k6DSK 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 IM6N<$g0;9N9smFU