From e06ce3b6166695407c4c9f9ed9e58d1d6a6cdac6 Mon Sep 17 00:00:00 2001 From: Dmitriy Sokolov Date: Fri, 13 Nov 2015 12:19:03 +0300 Subject: [PATCH 1/2] fix(bigquery): get attr 'mode' in table scheme --- gcloud/bigquery/table.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcloud/bigquery/table.py b/gcloud/bigquery/table.py index cf136669d773..510f86b87cf8 100644 --- a/gcloud/bigquery/table.py +++ b/gcloud/bigquery/table.py @@ -700,7 +700,7 @@ def _parse_schema_resource(info): for r_field in info['fields']: name = r_field['name'] field_type = r_field['type'] - mode = r_field['mode'] + mode = r_field.get('mode', 'NULLABLE') description = r_field.get('description') sub_fields = _parse_schema_resource(r_field) schema.append( From 56dda19c05fe22eb5e746559c4a3d9bdcf3c4090 Mon Sep 17 00:00:00 2001 From: Dmitriy Sokolov Date: Fri, 13 Nov 2015 18:54:01 +0300 Subject: [PATCH 2/2] test(bigquery): add test missing attr 'mode' in table scheme --- gcloud/bigquery/test_table.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/gcloud/bigquery/test_table.py b/gcloud/bigquery/test_table.py index 345c7d4cbdac..ddfeae95220c 100644 --- a/gcloud/bigquery/test_table.py +++ b/gcloud/bigquery/test_table.py @@ -67,7 +67,7 @@ class _SchemaBase(object): def _verify_field(self, field, r_field): self.assertEqual(field.name, r_field['name']) self.assertEqual(field.field_type, r_field['type']) - self.assertEqual(field.mode, r_field['mode']) + self.assertEqual(field.mode, r_field.get('mode', 'NULLABLE')) def _verifySchema(self, schema, resource): r_fields = resource['schema']['fields'] @@ -1274,6 +1274,15 @@ def test__parse_schema_resource_subfields(self): schema = self._callFUT(RESOURCE['schema']) self._verifySchema(schema, RESOURCE) + def test__parse_schema_resource_fields_without_mode(self): + RESOURCE = self._makeResource() + RESOURCE['schema']['fields'].append( + {'name': 'phone', + 'type': 'STRING'}) + + schema = self._callFUT(RESOURCE['schema']) + self._verifySchema(schema, RESOURCE) + class Test_build_schema_resource(unittest2.TestCase, _SchemaBase):