Skip to content

Commit 7643ceb

Browse files
authored
fix: add sleep after admin request intensive tests (#1758)
1 parent 0a394df commit 7643ceb

File tree

1 file changed

+24
-49
lines changed

1 file changed

+24
-49
lines changed

system-test/spanner.ts

Lines changed: 24 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1816,100 +1816,78 @@ describe('Spanner', () => {
18161816
});
18171817

18181818
describe('FineGrainedAccessControl', () => {
1819-
const createUserDefinedDatabaseRole = (done, database, query) => {
1819+
const createUserDefinedDatabaseRole = async (database, query) => {
18201820
database.updateSchema(
18211821
[query],
18221822
execAfterOperationComplete(err => {
18231823
assert.ifError(err);
18241824
database.getSchema((err, statements) => {
18251825
assert.ifError(err);
18261826
assert.ok(statements.includes(query));
1827-
done();
18281827
});
18291828
})
18301829
);
18311830
};
18321831

1833-
it('GOOGLE_STANDARD_SQL should create a user defined role', function (done) {
1832+
it('GOOGLE_STANDARD_SQL should create a user defined role', async function () {
18341833
if (IS_EMULATOR_ENABLED) {
18351834
this.skip();
18361835
}
1837-
createUserDefinedDatabaseRole(done, DATABASE, 'CREATE ROLE parent');
1836+
await createUserDefinedDatabaseRole(DATABASE, 'CREATE ROLE parent');
1837+
await new Promise(resolve => setTimeout(resolve, 60000));
18381838
});
18391839

1840-
const grantAccessToRole = (
1841-
done,
1840+
const grantAccessToRole = async (
18421841
database,
18431842
createRoleQuery,
18441843
grantAccessQuery
18451844
) => {
18461845
database.updateSchema(
1847-
[createRoleQuery],
1846+
[createRoleQuery, grantAccessQuery],
18481847
execAfterOperationComplete(err => {
18491848
assert.ifError(err);
18501849
database.getSchema((err, statements) => {
18511850
assert.ifError(err);
18521851
assert.ok(statements.includes(createRoleQuery));
1853-
database.updateSchema(
1854-
[grantAccessQuery],
1855-
execAfterOperationComplete(err => {
1856-
assert.ifError(err);
1857-
database.getSchema((err, statements) => {
1858-
assert.ifError(err);
1859-
assert.ok(statements.includes(grantAccessQuery));
1860-
done();
1861-
});
1862-
})
1863-
);
1852+
assert.ok(statements.includes(grantAccessQuery));
18641853
});
18651854
})
18661855
);
18671856
};
18681857

1869-
it('GOOGLE_STANDARD_SQL should grant access to a user defined role', function (done) {
1858+
it('GOOGLE_STANDARD_SQL should grant access to a user defined role', async function () {
18701859
if (IS_EMULATOR_ENABLED) {
18711860
this.skip();
18721861
}
1873-
grantAccessToRole(
1874-
done,
1862+
await grantAccessToRole(
18751863
DATABASE,
18761864
'CREATE ROLE child',
18771865
'GRANT SELECT ON TABLE Singers TO ROLE child'
18781866
);
1867+
await new Promise(resolve => setTimeout(resolve, 60000));
18791868
});
18801869

1881-
const userDefinedDatabaseRoleRevoked = (
1882-
done,
1870+
const userDefinedDatabaseRoleRevoked = async (
18831871
database,
18841872
createRoleQuery,
18851873
grantPermissionQuery,
18861874
revokePermissionQuery
18871875
) => {
18881876
database.updateSchema(
1889-
[createRoleQuery],
1877+
[createRoleQuery, grantPermissionQuery],
18901878
execAfterOperationComplete(err => {
18911879
assert.ifError(err);
18921880
database.getSchema((err, statements) => {
18931881
assert.ifError(err);
18941882
assert.ok(statements.includes(createRoleQuery));
1883+
assert.ok(statements.includes(grantPermissionQuery));
18951884
database.updateSchema(
1896-
[grantPermissionQuery],
1885+
[revokePermissionQuery],
18971886
execAfterOperationComplete(err => {
18981887
assert.ifError(err);
18991888
database.getSchema((err, statements) => {
19001889
assert.ifError(err);
1901-
assert.ok(statements.includes(grantPermissionQuery));
1902-
database.updateSchema(
1903-
[revokePermissionQuery],
1904-
execAfterOperationComplete(err => {
1905-
assert.ifError(err);
1906-
database.getSchema((err, statements) => {
1907-
assert.ifError(err);
1908-
assert.ok(!statements.includes(grantPermissionQuery));
1909-
done();
1910-
});
1911-
})
1912-
);
1890+
assert.ok(!statements.includes(grantPermissionQuery));
19131891
});
19141892
})
19151893
);
@@ -1918,21 +1896,20 @@ describe('Spanner', () => {
19181896
);
19191897
};
19201898

1921-
it('GOOGLE_STANDARD_SQL should revoke permissions of a user defined role', function (done) {
1899+
it('GOOGLE_STANDARD_SQL should revoke permissions of a user defined role', async function () {
19221900
if (IS_EMULATOR_ENABLED) {
19231901
this.skip();
19241902
}
1925-
userDefinedDatabaseRoleRevoked(
1926-
done,
1903+
await userDefinedDatabaseRoleRevoked(
19271904
DATABASE,
19281905
'CREATE ROLE orphan',
19291906
'GRANT SELECT ON TABLE Singers TO ROLE orphan',
19301907
'REVOKE SELECT ON TABLE Singers FROM ROLE orphan'
19311908
);
1909+
await new Promise(resolve => setTimeout(resolve, 60000));
19321910
});
19331911

1934-
const userDefinedDatabaseRoleDropped = (
1935-
done,
1912+
const userDefinedDatabaseRoleDropped = async (
19361913
database,
19371914
createRoleQuery,
19381915
dropRoleQuery
@@ -1951,7 +1928,6 @@ describe('Spanner', () => {
19511928
database.getSchema((err, statements) => {
19521929
assert.ifError(err);
19531930
assert.ok(!statements.includes(createRoleQuery));
1954-
done();
19551931
});
19561932
})
19571933
);
@@ -1960,16 +1936,16 @@ describe('Spanner', () => {
19601936
);
19611937
};
19621938

1963-
it('GOOGLE_STANDARD_SQL should drop the user defined role', function (done) {
1939+
it('GOOGLE_STANDARD_SQL should drop the user defined role', async function () {
19641940
if (IS_EMULATOR_ENABLED) {
19651941
this.skip();
19661942
}
1967-
userDefinedDatabaseRoleDropped(
1968-
done,
1943+
await userDefinedDatabaseRoleDropped(
19691944
DATABASE,
19701945
'CREATE ROLE new_parent',
19711946
'DROP ROLE new_parent'
19721947
);
1948+
await new Promise(resolve => setTimeout(resolve, 60000));
19731949
});
19741950

19751951
const grantAccessSuccess = (done, database) => {
@@ -2121,14 +2097,14 @@ describe('Spanner', () => {
21212097
});
21222098
};
21232099

2124-
it('GOOGLE_STANDARD_SQL should get IAM Policy', async function () {
2100+
it('GOOGLE_STANDARD_SQL should set IAM Policy', async function () {
21252101
if (IS_EMULATOR_ENABLED) {
21262102
this.skip();
21272103
}
21282104
await setIamPolicy(DATABASE);
21292105
});
21302106

2131-
it('POSTGRESQL should should get IAM Policy', async function () {
2107+
it('POSTGRESQL should should set IAM Policy', async function () {
21322108
if (IS_EMULATOR_ENABLED) {
21332109
this.skip();
21342110
}
@@ -6969,7 +6945,6 @@ describe('Spanner', () => {
69696945

69706946
const partitionedUpdate = (done, database, query) => {
69716947
database.runPartitionedUpdate(query, err => {
6972-
console.log('batch partition error ' + err);
69736948
assert.match(
69746949
err.details,
69756950
/THEN RETURN is not supported in Partitioned DML\./

0 commit comments

Comments
 (0)