Skip to content
Merged
8 changes: 8 additions & 0 deletions google/cloud/bigquery/table.py
Original file line number Diff line number Diff line change
Expand Up @@ -1071,6 +1071,14 @@ def to_bqstorage(self):
"""
return self.reference.to_bqstorage()

def to_api_repr(self):
"""Constructs the API resource of this table

Returns:
Dict[str, object]: Table represented as an API resource
"""
return copy.deepcopy(self._properties)


def _row_from_mapping(mapping, schema):
"""Convert a mapping to a row tuple using the schema.
Expand Down
11 changes: 11 additions & 0 deletions tests/unit/test_table.py
Original file line number Diff line number Diff line change
Expand Up @@ -1433,6 +1433,17 @@ def test_labels_update_in_place(self):
labels["foo"] = "bar" # update in place
self.assertEqual(table.labels, {"foo": "bar"})

def test_to_api_repr(self):
resource = {
"tableReference": {
"projectId": "testproject",
"datasetId": "testdataset",
"tableId": "testtable",
}
}
table = self._make_one(resource)
self.assertEqual(table.to_api_repr(), resource)


class TestRow(unittest.TestCase):
def test_row(self):
Expand Down