Skip to content

Commit 2583a31

Browse files
Delete all created Task entities after tests run
1 parent 6c4a6ef commit 2583a31

File tree

8 files changed

+91
-20
lines changed

8 files changed

+91
-20
lines changed

datastore/concepts.js

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -343,10 +343,8 @@ Entity.prototype.testDelete = function(callback) {
343343
};
344344

345345
Entity.prototype.testBatchUpsert = function(callback) {
346-
datastore.key = this.datastore.key;
347-
348-
var taskKey1 = datastore.key(['Task', 1]);
349-
var taskKey2 = datastore.key(['Task', 2]);
346+
var taskKey1 = this.datastore.key(['Task', 1]);
347+
var taskKey2 = this.datastore.key(['Task', 2]);
350348

351349
var task1 = {
352350
type: 'Personal',
@@ -654,8 +652,7 @@ Query.prototype.getProjectionQuery = function() {
654652

655653
// [START projection_query]
656654
var query = datastore.createQuery('Task')
657-
.select('priority')
658-
.select('percent_complete');
655+
.select(['priority', 'percent_complete']);
659656
// [END projection_query]
660657

661658
return query;

test/datastore/entity.test.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@
1313

1414
'use strict';
1515

16+
var testUtil = require('./util.js');
17+
1618
var Entity = require('../../datastore/concepts').Entity;
1719
var entity;
1820

@@ -22,6 +24,13 @@ describe('datastore/concepts/entity', function () {
2224
entity = new Entity(projectId);
2325
});
2426

27+
after(function(done) {
28+
var datastore = entity.datastore;
29+
var query = datastore.createQuery('Task');
30+
31+
testUtil.deleteEntities(datastore, query, done);
32+
});
33+
2534
describe('incomplete key', function() {
2635
it('saves with an incomplete key', function(done) {
2736
entity.testIncompleteKey(done);

test/datastore/indexes.test.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@
1313

1414
'use strict';
1515

16+
var testUtil = require('./util.js');
17+
1618
var Index = require('../../datastore/concepts').Index;
1719
var index;
1820

@@ -22,6 +24,13 @@ describe('datastore/concepts/indexes', function () {
2224
index = new Index(projectId);
2325
});
2426

27+
after(function(done) {
28+
var datastore = index.datastore;
29+
var query = datastore.createQuery('Task');
30+
31+
testUtil.deleteEntities(datastore, query, done);
32+
});
33+
2534
describe('unindexed properties', function() {
2635
it('performs a query with a filter on an unindexed property',
2736
function(done) {

test/datastore/metadata.test.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@
1313

1414
'use strict';
1515

16+
var testUtil = require('./util.js');
17+
1618
var Metadata = require('../../datastore/concepts').Metadata;
1719
var metadata;
1820

@@ -22,6 +24,13 @@ describe('datastore/concepts/metadata', function () {
2224
metadata = new Metadata(projectId);
2325
});
2426

27+
after(function(done) {
28+
var datastore = metadata.datastore;
29+
var query = datastore.createQuery('Task');
30+
31+
testUtil.deleteEntities(datastore, query, done);
32+
});
33+
2534
describe('namespace query', function() {
2635
it('performs a namespace query', function(done) {
2736
metadata.testNamespaceRunQuery(done);

test/datastore/query.test.js

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,24 @@
1515

1616
var assert = require('assert');
1717

18-
var Query = require('../../datastore/concepts').Query;
18+
var concepts = require('../../datastore/concepts.js');
19+
var testUtil = require('./util.js');
20+
1921
var query;
22+
var entity;
2023

2124
describe('datastore/concepts/query', function () {
2225
before(function() {
2326
var projectId = process.env.TEST_PROJECT_ID || 'nodejs-docs-samples';
24-
query = new Query(projectId);
27+
entity = new concepts.Entity(projectId);
28+
query = new concepts.Query(projectId);
29+
});
30+
31+
after(function(done) {
32+
var datastore = query.datastore;
33+
var q = datastore.createQuery('Task');
34+
35+
testUtil.deleteEntities(datastore, q, done);
2536
});
2637

2738
describe('basic query', function() {
@@ -73,6 +84,10 @@ describe('datastore/concepts/query', function () {
7384
});
7485

7586
describe('projection query', function() {
87+
before(function(done) {
88+
entity.testProperties(done);
89+
});
90+
7691
it('performs a projection query', function(done) {
7792
query.testRunQueryProjection(done);
7893
});
@@ -158,6 +173,10 @@ describe('datastore/concepts/query', function () {
158173
});
159174

160175
describe('cursor paging', function() {
176+
before(function(done) {
177+
entity.testBatchUpsert(done);
178+
});
179+
161180
it('allows manual pagination through results', function(done) {
162181
query.testCursorPaging(done);
163182
});

test/datastore/tasks.test.js

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -14,21 +14,10 @@
1414
'use strict';
1515

1616
var assert = require('assert');
17-
var async = require('async');
1817

1918
var tasks = require('../../datastore/tasks.js');
20-
var taskIds = [];
2119

2220
describe('datastore/tasks/', function() {
23-
24-
after(function (done) {
25-
async.parallel(taskIds.map(function(taskId) {
26-
return function (cb) {
27-
tasks.deleteEntity(taskId, cb);
28-
};
29-
}), done);
30-
});
31-
3221
describe('adding an entity', function() {
3322
it('should add a task', function(done) {
3423
getTaskId(done);
@@ -92,7 +81,6 @@ function getTaskId(callback) {
9281
}
9382

9483
var taskId = taskKey.path.pop();
95-
taskIds.push(taskId);
9684
callback(null, taskId);
9785
});
9886
}

test/datastore/transaction.test.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@
1313

1414
'use strict';
1515

16+
var testUtil = require('./util.js');
17+
1618
var Transaction = require('../../datastore/concepts').Transaction;
1719
var transaction;
1820

@@ -22,6 +24,13 @@ describe('datastore/concepts/transaction', function () {
2224
transaction = new Transaction(projectId);
2325
});
2426

27+
after(function(done) {
28+
var datastore = transaction.datastore;
29+
var query = datastore.createQuery('Task');
30+
31+
testUtil.deleteEntities(datastore, query, done);
32+
});
33+
2534
describe('update', function() {
2635
it('performs a transactional update', function(done) {
2736
transaction.testTransactionalUpdate(done);

test/datastore/util.js

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
// Copyright 2015, Google, Inc.
2+
// Licensed under the Apache License, Version 2.0 (the "License");
3+
// you may not use this file except in compliance with the License.
4+
// You may obtain a copy of the License at
5+
//
6+
// http://www.apache.org/licenses/LICENSE-2.0
7+
//
8+
// Unless required by applicable law or agreed to in writing, software
9+
// distributed under the License is distributed on an "AS IS" BASIS,
10+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11+
// See the License for the specific language governing permissions and
12+
// limitations under the License.
13+
14+
'use strict';
15+
16+
module.exports = {
17+
deleteEntities: function(datastore, query, callback) {
18+
datastore.runQuery(query, function(err, entities) {
19+
if (err) {
20+
callback(err);
21+
return;
22+
}
23+
24+
var keys = entities.map(function(entity) {
25+
return entity.key;
26+
});
27+
28+
datastore.delete(keys, callback);
29+
});
30+
}
31+
};

0 commit comments

Comments
 (0)