diff --git a/dlp/inspect.js b/dlp/inspect.js index a9fde80f30..2e4cc073fc 100644 --- a/dlp/inspect.js +++ b/dlp/inspect.js @@ -31,13 +31,13 @@ function inspectString (string, minLikelihood, maxFindings, infoTypes, includeQu // const string = 'My name is Gary and my email is gary@example.com'; // The minimum likelihood required before returning a match - // const minLikelihood = LIKELIHOOD_UNSPECIFIED; + // const minLikelihood = 'LIKELIHOOD_UNSPECIFIED'; // The maximum number of findings to report (0 = server maximum) // const maxFindings = 0; // The infoTypes of information to match - // const infoTypes = ['US_MALE_NAME', 'US_FEMALE_NAME']; + // const infoTypes = [{ name: 'US_MALE_NAME', name: 'US_FEMALE_NAME' }]; // Whether to include the matching string // const includeQuote = true; @@ -91,13 +91,13 @@ function inspectFile (filepath, minLikelihood, maxFindings, infoTypes, includeQu // const fileName = 'path/to/image.png'; // The minimum likelihood required before returning a match - // const minLikelihood = LIKELIHOOD_UNSPECIFIED; + // const minLikelihood = 'LIKELIHOOD_UNSPECIFIED'; // The maximum number of findings to report (0 = server maximum) // const maxFindings = 0; // The infoTypes of information to match - // const infoTypes = ['US_MALE_NAME', 'US_FEMALE_NAME']; + // const infoTypes = [{ name: 'US_MALE_NAME' }, { name: 'US_FEMALE_NAME' }]; // Whether to include the matching string // const includeQuote = true; @@ -158,13 +158,13 @@ function promiseInspectGCSFile (bucketName, fileName, minLikelihood, maxFindings // const fileName = 'my-image.png'; // The minimum likelihood required before returning a match - // const minLikelihood = LIKELIHOOD_UNSPECIFIED; + // const minLikelihood = 'LIKELIHOOD_UNSPECIFIED'; // The maximum number of findings to report (0 = server maximum) // const maxFindings = 0; // The infoTypes of information to match - // const infoTypes = ['US_MALE_NAME', 'US_FEMALE_NAME']; + // const infoTypes = [{ name: 'US_MALE_NAME' }, { name: 'US_FEMALE_NAME' }]; // Get reference to the file to be inspected const storageItems = { @@ -232,13 +232,13 @@ function eventInspectGCSFile (bucketName, fileName, minLikelihood, maxFindings, // const fileName = 'my-image.png'; // The minimum likelihood required before returning a match - // const minLikelihood = LIKELIHOOD_UNSPECIFIED; + // const minLikelihood = 'LIKELIHOOD_UNSPECIFIED'; // The maximum number of findings to report (0 = server maximum) // const maxFindings = 0; // The infoTypes of information to match - // const infoTypes = ['US_MALE_NAME', 'US_FEMALE_NAME']; + // const infoTypes = [{ name: 'US_MALE_NAME' }, { name: 'US_FEMALE_NAME' }]; // Get reference to the file to be inspected const storageItems = { @@ -320,13 +320,13 @@ function inspectDatastore (projectId, namespaceId, kind, minLikelihood, maxFindi // const kind = 'Person'; // The minimum likelihood required before returning a match - // const minLikelihood = LIKELIHOOD_UNSPECIFIED; + // const minLikelihood = 'LIKELIHOOD_UNSPECIFIED'; // The maximum number of findings to report (0 = server maximum) // const maxFindings = 0; // The infoTypes of information to match - // const infoTypes = ['US_MALE_NAME', 'US_FEMALE_NAME']; + // const infoTypes = [{ name: 'US_MALE_NAME' }, { name: 'US_FEMALE_NAME' }]; // Get reference to the file to be inspected const storageItems = { diff --git a/dlp/quickstart.js b/dlp/quickstart.js new file mode 100644 index 0000000000..370348330c --- /dev/null +++ b/dlp/quickstart.js @@ -0,0 +1,77 @@ +/** + * Copyright 2017, Google, Inc. + * 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'; + +// [START quickstart] +// Imports the Google Cloud Data Loss Prevention library +const DLP = require('@google-cloud/dlp'); + +// Instantiates a client +const dlp = DLP(); + +// The string to inspect +const string = 'Robert Frost'; + +// The minimum likelihood required before returning a match +const minLikelihood = 'LIKELIHOOD_UNSPECIFIED'; + +// The maximum number of findings to report (0 = server maximum) +const maxFindings = 0; + +// The infoTypes of information to match +const infoTypes = [ + { name: 'US_MALE_NAME' }, + { name: 'US_FEMALE_NAME' } +]; + +// Whether to include the matching string +const includeQuote = true; + +// Construct items to inspect +const items = [{ type: 'text/plain', value: string }]; + +// Construct request +const request = { + inspectConfig: { + infoTypes: infoTypes, + minLikelihood: minLikelihood, + maxFindings: maxFindings, + includeQuote: includeQuote + }, + items: items +}; + +// Run request +dlp.inspectContent(request) + .then((response) => { + const findings = response[0].results[0].findings; + if (findings.length > 0) { + console.log(`Findings:`); + findings.forEach((finding) => { + if (includeQuote) { + console.log(`\tQuote: ${finding.quote}`); + } + console.log(`\tInfo type: ${finding.infoType.name}`); + console.log(`\tLikelihood: ${finding.likelihood}`); + }); + } else { + console.log(`No findings.`); + } + }) + .catch((err) => { + console.error(`Error in inspectString: ${err.message || err}`); + }); +// [END quickstart] diff --git a/dlp/redact.js b/dlp/redact.js index 73f2ee3f9a..e299592df5 100644 --- a/dlp/redact.js +++ b/dlp/redact.js @@ -30,10 +30,10 @@ function redactString (string, replaceString, minLikelihood, infoTypes) { // const replaceString = 'REDACTED'; // The minimum likelihood required before redacting a match - // const minLikelihood = LIKELIHOOD_UNSPECIFIED; + // const minLikelihood = 'LIKELIHOOD_UNSPECIFIED'; // The infoTypes of information to redact - // const infoTypes = ['US_MALE_NAME', 'US_FEMALE_NAME']; + // const infoTypes = [{ name: 'US_MALE_NAME' }, { name: 'US_FEMALE_NAME' }]; const items = [{ type: 'text/plain', value: string }]; @@ -80,10 +80,10 @@ function redactImage (filepath, minLikelihood, infoTypes, outputPath) { // const fileName = 'path/to/image.png'; // The minimum likelihood required before redacting a match - // const minLikelihood = LIKELIHOOD_UNSPECIFIED; + // const minLikelihood = 'LIKELIHOOD_UNSPECIFIED'; // The infoTypes of information to redact - // const infoTypes = ['EMAIL_ADDRESS', 'PHONE_NUMBER']; + // const infoTypes = [{ name: 'EMAIL_ADDRESS' }, { name: 'PHONE_NUMBER' }]; // The local path to save the resulting image to. // const outputPath = 'result.png'; diff --git a/dlp/system-test/quickstart.test.js b/dlp/system-test/quickstart.test.js new file mode 100644 index 0000000000..ce0a1a74ae --- /dev/null +++ b/dlp/system-test/quickstart.test.js @@ -0,0 +1,30 @@ +/** + * Copyright 2017, Google, Inc. + * 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 path = require('path'); +const test = require('ava'); +const tools = require('@google-cloud/nodejs-repo-tools'); + +const cmd = 'node quickstart'; +const cwd = path.join(__dirname, `..`); + +test.before(tools.checkCredentials); + +test(`should run`, async (t) => { + const output = await tools.runAsync(cmd, cwd); + t.regex(output, /Info type: US_MALE_NAME/); +});