Skip to content

Commit 3bb45ab

Browse files
add vision test
1 parent 3bfe656 commit 3bb45ab

2 files changed

Lines changed: 64 additions & 5 deletions

File tree

packages/vision/package.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,21 +50,22 @@
5050
"vision"
5151
],
5252
"dependencies": {
53+
"@google-cloud/common": "^0.3.0",
5354
"arrify": "^1.0.0",
5455
"async": "^1.4.2",
5556
"extend": "^3.0.0",
56-
"@google-cloud/common": "^0.3.0",
5757
"is": "^3.0.1",
5858
"propprop": "^0.3.0",
5959
"request": "^2.70.0",
6060
"rgb-hex": "^1.0.0",
6161
"string-format-obj": "^1.0.0"
6262
},
6363
"devDependencies": {
64-
"async": "^1.4.2",
64+
"@google-cloud/storage": "*",
6565
"deep-strict-equal": "^0.1.0",
6666
"mocha": "^3.0.1",
6767
"multiline": "^1.0.2",
68+
"node-uuid": "^1.4.7",
6869
"normalize-newline": "^2.0.0",
6970
"proxyquire": "^1.7.10",
7071
"tmp": "0.0.27"

packages/vision/system-test/vision.js

Lines changed: 61 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,27 +17,68 @@
1717
'use strict';
1818

1919
var assert = require('assert');
20+
var async = require('async');
2021
var fs = require('fs');
2122
var http = require('http');
2223
var is = require('is');
2324
var multiline = require('multiline');
2425
var normalizeNewline = require('normalize-newline');
2526
var path = require('path');
27+
var Storage = require('@google-cloud/storage');
28+
var uuid = require('node-uuid');
2629

2730
var env = require('../../../system-test/env.js');
2831
var Vision = require('../');
2932

3033
describe('Vision', function() {
31-
var vision;
3234
var IMAGES = {
3335
logo: path.join(__dirname, 'data/logo.jpg'),
3436
rushmore: path.join(__dirname, 'data/rushmore.jpg'),
3537
text: path.join(__dirname, 'data/text.png'),
3638
malformed: path.join(__dirname, 'data/index.yaml')
3739
};
3840

39-
beforeEach(function() {
40-
vision = new Vision(env);
41+
var TESTS_PREFIX = 'gcloud-vision-test';
42+
43+
var storage = new Storage(env);
44+
var vision = new Vision(env);
45+
46+
var bucket = storage.bucket(generateName());
47+
var file = bucket.file('logo.jpg');
48+
49+
before(function(done) {
50+
bucket.create(function(err) {
51+
if (err) {
52+
done(err);
53+
return;
54+
}
55+
56+
bucket.upload(IMAGES.logo, done);
57+
});
58+
});
59+
60+
after(function(done) {
61+
storage.getBuckets({
62+
prefix: TESTS_PREFIX
63+
}, function(err, buckets) {
64+
if (err) {
65+
done(err);
66+
return;
67+
}
68+
69+
function deleteBucket(bucket, callback) {
70+
bucket.deleteFiles(function(err) {
71+
if (err) {
72+
callback(err);
73+
return;
74+
}
75+
76+
bucket.delete(callback);
77+
});
78+
}
79+
80+
async.each(buckets, deleteBucket, done);
81+
});
4182
});
4283

4384
it('should detect from a URL', function(done) {
@@ -66,6 +107,19 @@ describe('Vision', function() {
66107
});
67108
});
68109

110+
it('should detect from a File', function(done) {
111+
vision.detect(file, ['logos'], function(err, logos) {
112+
assert.ifError(err);
113+
114+
var expected = ['Google'];
115+
expected.errors = [];
116+
117+
assert.deepEqual(logos, expected);
118+
119+
done();
120+
});
121+
});
122+
69123
it('should detect from a Buffer', function(done) {
70124
var buffer = fs.readFileSync(IMAGES.logo);
71125
vision.detect(buffer, ['logos'], function(err, logos) {
@@ -525,4 +579,8 @@ describe('Vision', function() {
525579
});
526580
});
527581
});
582+
583+
function generateName() {
584+
return TESTS_PREFIX + uuid.v1();
585+
}
528586
});

0 commit comments

Comments
 (0)