From 05612ff6172e7d6b1ff90d889c6091f3821023bc Mon Sep 17 00:00:00 2001 From: peter-zheng-g <43967553+peter-zheng-g@users.noreply.github.com> Date: Mon, 19 Nov 2018 16:15:31 -0800 Subject: [PATCH] docs(samples): add quickstart code for ExportAssets (#50) --- asset/snippets/package.json | 16 ++++-- asset/snippets/system-test/quickstart.test.js | 51 +++++++++++++++++++ 2 files changed, 64 insertions(+), 3 deletions(-) create mode 100644 asset/snippets/system-test/quickstart.test.js diff --git a/asset/snippets/package.json b/asset/snippets/package.json index 6173a72d76..6a2db240e2 100644 --- a/asset/snippets/package.json +++ b/asset/snippets/package.json @@ -14,9 +14,19 @@ "**/*.test.js" ] }, - "scripts": {}, + "scripts": { + "test": "mocha system-test --timeout 20000" + }, "dependencies": { - "@google-cloud/asset": "^0.1.0" + "@google-cloud/asset": "^0.1.0", + "@google-cloud/storage": "^2.3.0", + "express": "^4.16.4", + "uuid": "^3.3.2", + "yargs": "^12.0.0" }, - "devDependencies": {} + "devDependencies": { + "@google-cloud/nodejs-repo-tools": "^3.0.0", + "mocha": "^5.2.0", + "sinon": "^7.0.0" + } } diff --git a/asset/snippets/system-test/quickstart.test.js b/asset/snippets/system-test/quickstart.test.js new file mode 100644 index 0000000000..248423b099 --- /dev/null +++ b/asset/snippets/system-test/quickstart.test.js @@ -0,0 +1,51 @@ +/** + * 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('assert'); +const path = require('path'); +const test = require('mocha'); +const tools = require('@google-cloud/nodejs-repo-tools'); +const util = require('util'); +const uuid = require('uuid'); +const cwd = path.join(__dirname, '..'); +const cmd = 'node quickstart.js'; + +const {Storage} = require('@google-cloud/storage'); + +const storage = new Storage(); +const bucketName = `asset-nodejs-${uuid.v4()}`; +const bucket = storage.bucket(bucketName); + +test.describe('quickstart sample tests', () => { + test.before(tools.checkCredentials); + test.before(async () => { + await bucket.create(); + }); + + test.after(async () => { + await bucket.delete(); + }); + + test.it('should export assets to specified path', async () => { + const dumpFilePath = util.format('gs://%s/my-assets.txt', bucketName); + await tools.runAsyncWithIO(`${cmd} export-assets ${dumpFilePath}`, cwd); + const file = await bucket.file('my-assets.txt'); + const [exists] = await file.exists(); + assert.ok(exists); + await file.delete(); + }); +});