This is an automated email from the ASF dual-hosted git repository.

altay pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/beam.git


The following commit(s) were added to refs/heads/master by this push:
     new c6c12cc  [BEAM-5315] python 3 datastore fail gracefully
     new 5406b98  Merge pull request #7804 from Juta/io-gcp
c6c12cc is described below

commit c6c12ccbcea10cde99dfbc39c1d58585977a4adc
Author: Juta <juta_st...@hotmail.com>
AuthorDate: Mon Feb 11 15:13:49 2019 +0100

    [BEAM-5315] python 3 datastore fail gracefully
---
 .../examples/cookbook/datastore_wordcount_it_test.py           |  6 ++++++
 sdks/python/apache_beam/examples/snippets/snippets_test.py     |  4 ++++
 .../apache_beam/io/gcp/datastore/v1/adaptive_throttler_test.py |  6 ++++++
 sdks/python/apache_beam/io/gcp/datastore/v1/datastoreio.py     |  7 ++++++-
 .../python/apache_beam/io/gcp/datastore/v1/datastoreio_test.py | 10 ++++++++++
 sdks/python/apache_beam/io/gcp/datastore/v1/util_test.py       |  6 ++++++
 sdks/python/apache_beam/io/gcp/datastore_write_it_test.py      |  6 ++++++
 sdks/python/tox.ini                                            |  2 +-
 8 files changed, 45 insertions(+), 2 deletions(-)

diff --git 
a/sdks/python/apache_beam/examples/cookbook/datastore_wordcount_it_test.py 
b/sdks/python/apache_beam/examples/cookbook/datastore_wordcount_it_test.py
index d3d63cc..5a4fea9 100644
--- a/sdks/python/apache_beam/examples/cookbook/datastore_wordcount_it_test.py
+++ b/sdks/python/apache_beam/examples/cookbook/datastore_wordcount_it_test.py
@@ -20,6 +20,8 @@
 from __future__ import absolute_import
 
 import logging
+import os
+import sys
 import time
 import unittest
 
@@ -32,6 +34,10 @@ from apache_beam.testing.pipeline_verifiers import 
PipelineStateMatcher
 from apache_beam.testing.test_pipeline import TestPipeline
 
 
+@unittest.skipIf(sys.version_info[0] == 3 and
+                 os.environ.get('RUN_SKIPPED_PY3_TESTS') != '1',
+                 'This test still needs to be fixed on Python 3'
+                 'TODO: BEAM-4543')
 class DatastoreWordCountIT(unittest.TestCase):
 
   DATASTORE_WORDCOUNT_KIND = "DatastoreWordCount"
diff --git a/sdks/python/apache_beam/examples/snippets/snippets_test.py 
b/sdks/python/apache_beam/examples/snippets/snippets_test.py
index d6ac1f5..64ed9fe 100644
--- a/sdks/python/apache_beam/examples/snippets/snippets_test.py
+++ b/sdks/python/apache_beam/examples/snippets/snippets_test.py
@@ -631,6 +631,10 @@ class SnippetsTest(unittest.TestCase):
     snippets.model_textio_compressed(
         {'read': gzip_file_name}, ['aa', 'bb', 'cc'])
 
+  @unittest.skipIf(sys.version_info[0] == 3 and
+                   os.environ.get('RUN_SKIPPED_PY3_TESTS') != '1',
+                   'This test still needs to be fixed on Python 3'
+                   'TODO: BEAM-4543')
   @unittest.skipIf(datastore_pb2 is None, 'GCP dependencies are not installed')
   def test_model_datastoreio(self):
     # We cannot test DatastoreIO functionality in unit tests, therefore we 
limit
diff --git 
a/sdks/python/apache_beam/io/gcp/datastore/v1/adaptive_throttler_test.py 
b/sdks/python/apache_beam/io/gcp/datastore/v1/adaptive_throttler_test.py
index e3ccb92..1d9c46e 100644
--- a/sdks/python/apache_beam/io/gcp/datastore/v1/adaptive_throttler_test.py
+++ b/sdks/python/apache_beam/io/gcp/datastore/v1/adaptive_throttler_test.py
@@ -18,6 +18,8 @@
 from __future__ import absolute_import
 from __future__ import division
 
+import os
+import sys
 import unittest
 from builtins import range
 
@@ -26,6 +28,10 @@ from mock import patch
 from apache_beam.io.gcp.datastore.v1.adaptive_throttler import 
AdaptiveThrottler
 
 
+@unittest.skipIf(sys.version_info[0] == 3 and
+                 os.environ.get('RUN_SKIPPED_PY3_TESTS') != '1',
+                 'This test still needs to be fixed on Python 3'
+                 'TODO: BEAM-4543')
 class AdaptiveThrottlerTest(unittest.TestCase):
 
   START_TIME = 1500000000000
diff --git a/sdks/python/apache_beam/io/gcp/datastore/v1/datastoreio.py 
b/sdks/python/apache_beam/io/gcp/datastore/v1/datastoreio.py
index 123d063..d12be78 100644
--- a/sdks/python/apache_beam/io/gcp/datastore/v1/datastoreio.py
+++ b/sdks/python/apache_beam/io/gcp/datastore/v1/datastoreio.py
@@ -20,7 +20,9 @@ from __future__ import absolute_import
 from __future__ import division
 
 import logging
+import sys
 import time
+import warnings
 from builtins import object
 from builtins import round
 
@@ -44,7 +46,10 @@ try:
   from google.cloud.proto.datastore.v1 import datastore_pb2
   from googledatastore import helper as datastore_helper
 except ImportError:
-  pass
+  if sys.version_info[0] == 3:
+    warnings.warn('Datastore IO will support Python 3 after replacing '
+                  'googledatastore by google-cloud-datastore, '
+                  'see: BEAM-4543.')
 # pylint: enable=wrong-import-order, wrong-import-position
 
 
diff --git a/sdks/python/apache_beam/io/gcp/datastore/v1/datastoreio_test.py 
b/sdks/python/apache_beam/io/gcp/datastore/v1/datastoreio_test.py
index b7bc22a..d345fef 100644
--- a/sdks/python/apache_beam/io/gcp/datastore/v1/datastoreio_test.py
+++ b/sdks/python/apache_beam/io/gcp/datastore/v1/datastoreio_test.py
@@ -19,6 +19,8 @@ from __future__ import absolute_import
 from __future__ import division
 from __future__ import print_function
 
+import os
+import sys
 import unittest
 from builtins import map
 from builtins import range
@@ -48,6 +50,10 @@ except ImportError:
 # pylint: enable=wrong-import-order, wrong-import-position, ungrouped-imports
 
 
+@unittest.skipIf(sys.version_info[0] == 3 and
+                 os.environ.get('RUN_SKIPPED_PY3_TESTS') != '1',
+                 'This test still needs to be fixed on Python 3'
+                 'TODO: BEAM-4543')
 @unittest.skipIf(datastore_pb2 is None, 'GCP dependencies are not installed')
 class DatastoreioTest(unittest.TestCase):
   _PROJECT = 'project'
@@ -272,6 +278,10 @@ class DatastoreioTest(unittest.TestCase):
     return split_queries
 
 
+@unittest.skipIf(sys.version_info[0] == 3 and
+                 os.environ.get('RUN_SKIPPED_PY3_TESTS') != '1',
+                 'This test still needs to be fixed on Python 3'
+                 'TODO: BEAM-4543')
 @unittest.skipIf(datastore_pb2 is None, 'GCP dependencies are not installed')
 class DynamicWriteBatcherTest(unittest.TestCase):
 
diff --git a/sdks/python/apache_beam/io/gcp/datastore/v1/util_test.py 
b/sdks/python/apache_beam/io/gcp/datastore/v1/util_test.py
index 8b05ebe..0f04727 100644
--- a/sdks/python/apache_beam/io/gcp/datastore/v1/util_test.py
+++ b/sdks/python/apache_beam/io/gcp/datastore/v1/util_test.py
@@ -18,11 +18,17 @@
 """Tests for util.py."""
 from __future__ import absolute_import
 
+import os
+import sys
 import unittest
 
 from apache_beam.io.gcp.datastore.v1 import util
 
 
+@unittest.skipIf(sys.version_info[0] == 3 and
+                 os.environ.get('RUN_SKIPPED_PY3_TESTS') != '1',
+                 'This test still needs to be fixed on Python 3'
+                 'TODO: BEAM-4543')
 class MovingSumTest(unittest.TestCase):
 
   TIMESTAMP = 1500000000
diff --git a/sdks/python/apache_beam/io/gcp/datastore_write_it_test.py 
b/sdks/python/apache_beam/io/gcp/datastore_write_it_test.py
index a7947a2..44af815 100644
--- a/sdks/python/apache_beam/io/gcp/datastore_write_it_test.py
+++ b/sdks/python/apache_beam/io/gcp/datastore_write_it_test.py
@@ -28,7 +28,9 @@ results in the pipeline.
 from __future__ import absolute_import
 
 import logging
+import os
 import random
+import sys
 import unittest
 from datetime import datetime
 
@@ -40,6 +42,10 @@ from apache_beam.testing.pipeline_verifiers import 
PipelineStateMatcher
 from apache_beam.testing.test_pipeline import TestPipeline
 
 
+@unittest.skipIf(sys.version_info[0] == 3 and
+                 os.environ.get('RUN_SKIPPED_PY3_TESTS') != '1',
+                 'This test still needs to be fixed on Python 3'
+                 'TODO: BEAM-4543')
 class DatastoreWriteIT(unittest.TestCase):
 
   NUM_ENTITIES = 1001
diff --git a/sdks/python/tox.ini b/sdks/python/tox.ini
index 743e0bd..3661c9d 100644
--- a/sdks/python/tox.ini
+++ b/sdks/python/tox.ini
@@ -93,7 +93,7 @@ setenv =
   RUN_SKIPPED_PY3_TESTS=0
 extras = test,gcp
 modules =
-  
apache_beam.typehints,apache_beam.coders,apache_beam.options,apache_beam.tools,apache_beam.utils,apache_beam.internal,apache_beam.metrics,apache_beam.portability,apache_beam.pipeline_test,apache_beam.pvalue_test,apache_beam.runners,apache_beam.io.hadoopfilesystem_test,apache_beam.io.gcp.tests.utils_test,apache_beam.io.gcp.big_query_query_to_table_it_test,apache_beam.io.gcp.bigquery_io_read_it_test,apache_beam.io.gcp.bigquery_test,apache_beam.io.gcp.pubsub_integration_test,apache_beam.i
 [...]
+  
apache_beam.typehints,apache_beam.coders,apache_beam.options,apache_beam.tools,apache_beam.utils,apache_beam.internal,apache_beam.metrics,apache_beam.portability,apache_beam.pipeline_test,apache_beam.pvalue_test,apache_beam.runners,apache_beam.io.hadoopfilesystem_test,apache_beam.io.gcp.tests.utils_test,apache_beam.io.gcp.big_query_query_to_table_it_test,apache_beam.io.gcp.bigquery_io_read_it_test,apache_beam.io.gcp.bigquery_test,apache_beam.io.gcp.pubsub_integration_test,apache_beam.i
 [...]
 commands =
   python --version
   pip --version

Reply via email to