def test_to_api_repr_w_nested_array(self): from google.cloud.bigquery.query import ArrayQueryParameter EXPECTED = { "name": "foo", "parameterType": { "type": "STRUCT", "structTypes": [ {"name": "bar", "type": {"type": "STRING"}}, { "name": "baz", "type": {"type": "ARRAY", "arrayType": {"type": "INT64"}}, }, ], }, "parameterValue": { "structValues": { "bar": {"value": "abc"}, "baz": {"arrayValues": [{"value": "123"}, {"value": "456"}]}, } }, } scalar = _make_subparam("bar", "STRING", "abc") array = ArrayQueryParameter("baz", "INT64", [123, 456]) param = self._make_one("foo", scalar, array) self.assertEqual(param.to_api_repr(), EXPECTED)
def test_to_api_repr_w_nested_array(self): from google.cloud.bigquery.query import ArrayQueryParameter EXPECTED = { 'name': 'foo', 'parameterType': { 'type': 'STRUCT', 'structTypes': [ {'name': 'bar', 'type': {'type': 'STRING'}}, {'name': 'baz', 'type': { 'type': 'ARRAY', 'arrayType': {'type': 'INT64'}, }}, ], }, 'parameterValue': { 'structValues': { 'bar': {'value': 'abc'}, 'baz': {'arrayValues': [ {'value': '123'}, {'value': '456'}, ]}, }, }, } scalar = _make_subparam('bar', 'STRING', 'abc') array = ArrayQueryParameter('baz', 'INT64', [123, 456]) param = self._make_one('foo', scalar, array) self.assertEqual(param.to_api_repr(), EXPECTED)
def test_from_api_repr_w_nested_array(self): from google.cloud.bigquery.query import ArrayQueryParameter RESOURCE = { "name": "foo", "parameterType": { "type": "STRUCT", "structTypes": [ {"name": "bar", "type": {"type": "STRING"}}, { "name": "baz", "type": {"type": "ARRAY", "arrayType": {"type": "INT64"}}, }, ], }, "parameterValue": { "structValues": { "bar": {"value": "abc"}, "baz": {"arrayValues": [{"value": "123"}, {"value": "456"}]}, } }, } klass = self._get_target_class() param = klass.from_api_repr(RESOURCE) self.assertEqual( param, self._make_one( "foo", _make_subparam("bar", "STRING", "abc"), ArrayQueryParameter("baz", "INT64", [123, 456]), ), )
def test_from_api_repr_w_nested_array(self): from google.cloud.bigquery.query import ArrayQueryParameter RESOURCE = { 'name': 'foo', 'parameterType': { 'type': 'STRUCT', 'structTypes': [ {'name': 'bar', 'type': {'type': 'STRING'}}, {'name': 'baz', 'type': { 'type': 'ARRAY', 'arrayType': {'type': 'INT64'}, }}, ], }, 'parameterValue': { 'structValues': { 'bar': {'value': 'abc'}, 'baz': {'arrayValues': [ {'value': '123'}, {'value': '456'}, ]}, }, }, } klass = self._get_target_class() param = klass.from_api_repr(RESOURCE) self.assertEqual( param, self._make_one( 'foo', _make_subparam('bar', 'STRING', 'abc'), ArrayQueryParameter('baz', 'INT64', [123, 456])))