diff --git a/spanner/tests/system/test_system.py b/spanner/tests/system/test_system.py index f20ce592070a..64177765cb2d 100644 --- a/spanner/tests/system/test_system.py +++ b/spanner/tests/system/test_system.py @@ -46,8 +46,7 @@ from tests._fixtures import DDL_STATEMENTS -IS_CIRCLE = os.getenv('CIRCLECI') == 'true' -CREATE_INSTANCE = IS_CIRCLE or os.getenv( +CREATE_INSTANCE = os.getenv( 'GOOGLE_CLOUD_TESTS_CREATE_SPANNER_INSTANCE') is not None if CREATE_INSTANCE: diff --git a/spanner/tests/system/utils/populate_streaming.py b/spanner/tests/system/utils/populate_streaming.py index 6feaa68eb01c..59d08ca1abfd 100644 --- a/spanner/tests/system/utils/populate_streaming.py +++ b/spanner/tests/system/utils/populate_streaming.py @@ -84,8 +84,9 @@ def ensure_database(client): def populate_table(database, table_desc): all_ = KeySet(all_=True) columns = ('pkey', 'chunk_me') - rows = list(database.execute_sql( - 'SELECT COUNT(*) FROM {}'.format(table_desc.table))) + with database.snapshot() as snapshot: + rows = list(snapshot.execute_sql( + 'SELECT COUNT(*) FROM {}'.format(table_desc.table))) assert len(rows) == 1 count = rows[0][0] if count != table_desc.row_count: @@ -102,8 +103,9 @@ def populate_table(database, table_desc): def populate_table_2_columns(database, table_desc): all_ = KeySet(all_=True) columns = ('pkey', 'chunk_me', 'chunk_me_2') - rows = list(database.execute_sql( - 'SELECT COUNT(*) FROM {}'.format(table_desc.table))) + with database.snapshot() as snapshot: + rows = list(snapshot.execute_sql( + 'SELECT COUNT(*) FROM {}'.format(table_desc.table))) assert len(rows) == 1 count = rows[0][0] if count != table_desc.row_count: diff --git a/spanner/tests/system/utils/scrub_instances.py b/spanner/tests/system/utils/scrub_instances.py new file mode 100644 index 000000000000..a970cdca0512 --- /dev/null +++ b/spanner/tests/system/utils/scrub_instances.py @@ -0,0 +1,37 @@ +# Copyright 2017 Google Inc. All rights reserved. +# +# 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. + +from google.cloud.spanner import Client +from .streaming_utils import INSTANCE_NAME as STREAMING_INSTANCE + +STANDARD_INSTANCE = 'google-cloud-python-systest' + + +def scrub_instances(client): + for instance in client.list_instances(): + if instance.name == STREAMING_INSTANCE: + print('Not deleting streaming instance: {}'.format( + STREAMING_INSTANCE)) + continue + elif instance.name == STANDARD_INSTANCE: + print('Not deleting standard instance: {}'.format( + STANDARD_INSTANCE)) + else: + print("deleting instance: {}".format(instance.name)) + instance.delete() + + +if __name__ == '__main__': + client = Client() + scrub_instances(client)