From 362684f3068a340dc5e92ca71b97c21b8f6f057a Mon Sep 17 00:00:00 2001 From: Alix Hamilton Date: Mon, 11 Sep 2017 12:08:09 -0700 Subject: [PATCH] bigquery add DatasetReference class and tests (#3938) --- bigquery/google/cloud/bigquery/dataset.py | 36 +++++++++++++++++++++++ bigquery/tests/unit/test_dataset.py | 17 +++++++++++ 2 files changed, 53 insertions(+) diff --git a/bigquery/google/cloud/bigquery/dataset.py b/bigquery/google/cloud/bigquery/dataset.py index a688cb3b560b..f4e6fd519e38 100644 --- a/bigquery/google/cloud/bigquery/dataset.py +++ b/bigquery/google/cloud/bigquery/dataset.py @@ -91,6 +91,42 @@ def __repr__(self): self.role, self.entity_type, self.entity_id) +class DatasetReference(object): + """DatasetReferences are pointers to datasets. + + See + https://cloud.google.com/bigquery/docs/reference/rest/v2/datasets + + :type project_id: str + :param project_id: the ID of the project + + :type dataset_id: str + :param dataset_id: the ID of the dataset + """ + + def __init__(self, project_id, dataset_id): + self._project_id = project_id + self._dataset_id = dataset_id + + @property + def project_id(self): + """Project ID of the dataset. + + :rtype: str + :returns: the project ID. + """ + return self._project_id + + @property + def dataset_id(self): + """Dataset ID. + + :rtype: str + :returns: the dataset ID. + """ + return self._dataset_id + + class Dataset(object): """Datasets are containers for tables. diff --git a/bigquery/tests/unit/test_dataset.py b/bigquery/tests/unit/test_dataset.py index 10b832d7abe4..4da2ada5de66 100644 --- a/bigquery/tests/unit/test_dataset.py +++ b/bigquery/tests/unit/test_dataset.py @@ -85,6 +85,23 @@ def test__eq___type_mismatch(self): self.assertEqual(entry, mock.ANY) +class TestDatasetReference(unittest.TestCase): + + @staticmethod + def _get_target_class(): + from google.cloud.bigquery.dataset import DatasetReference + + return DatasetReference + + def _make_one(self, *args, **kw): + return self._get_target_class()(*args, **kw) + + def test_ctor_defaults(self): + dataset_ref = self._make_one('some-project-1', 'dataset_1') + self.assertEqual(dataset_ref.project_id, 'some-project-1') + self.assertEqual(dataset_ref.dataset_id, 'dataset_1') + + class TestDataset(unittest.TestCase): PROJECT = 'project' DS_NAME = 'dataset-name'