Skip to content

Commit 1fcbc09

Browse files
authored
fix: updates tests on getters to resolve coverage issues (#2080)
* fix: updates tests on getters to resolve coverage issues * fix: updates formatting and linting * Updates tests of getters in test_schema.py * updates to correct coverage and fix tests * removes proof of concept code that is no longer needed
1 parent 48c8cc6 commit 1fcbc09

File tree

4 files changed

+17
-57
lines changed

4 files changed

+17
-57
lines changed

google/cloud/bigquery/_helpers.py

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
"""Shared helper functions for BigQuery API classes."""
1616

1717
import base64
18-
import copy
1918
import datetime
2019
import decimal
2120
import json
@@ -1038,19 +1037,3 @@ def _isinstance_or_raise(
10381037

10391038
msg = f"Pass {value} as a '{dtype}'{or_none}. Got {type(value)}."
10401039
raise TypeError(msg)
1041-
1042-
1043-
def _from_api_repr(cls, resource: dict):
1044-
"""Factory: constructs an instance of the class (cls)
1045-
given its API representation.
1046-
1047-
Args:
1048-
resource (Dict[str, Any]):
1049-
API representation of the object to be instantiated.
1050-
1051-
Returns:
1052-
An instance of the class initialized with data from 'resource'.
1053-
"""
1054-
config = cls
1055-
config._properties = copy.deepcopy(resource)
1056-
return config

tests/unit/test__helpers.py

Lines changed: 2 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626
import google.api_core
2727
from google.cloud.bigquery._helpers import (
2828
_isinstance_or_raise,
29-
_from_api_repr,
3029
)
3130

3231

@@ -1695,25 +1694,5 @@ def test__valid_isinstance_or_raise(self, value, dtype, none_allowed, expected):
16951694
],
16961695
)
16971696
def test__invalid_isinstance_or_raise(self, value, dtype, none_allowed, expected):
1698-
with expected as e:
1699-
result = _isinstance_or_raise(value, dtype, none_allowed=none_allowed)
1700-
1701-
assert result == e
1702-
1703-
1704-
class _MockClass:
1705-
def __init__(self):
1706-
self._properties = {}
1707-
1708-
1709-
@pytest.fixture
1710-
def mock_class():
1711-
return _MockClass
1712-
1713-
1714-
class Test__from_api_repr:
1715-
def test_from_api_repr(self, mock_class):
1716-
resource = {"foo": "bar", "baz": {"qux": 1}}
1717-
config = _from_api_repr(mock_class, resource)
1718-
assert config._properties == resource
1719-
assert config._properties is not resource
1697+
with expected:
1698+
_isinstance_or_raise(value, dtype, none_allowed=none_allowed)

tests/unit/test_external_config.py

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -930,10 +930,8 @@ def test_ctor_initialization(
930930
parameters=parameters,
931931
)
932932

933-
assert instance._properties == {
934-
"defaultStorageLocationUri": default_storage_location_uri,
935-
"parameters": parameters,
936-
}
933+
assert instance.default_storage_location_uri == default_storage_location_uri
934+
assert instance.parameters == parameters
937935

938936
def test_ctor_invalid_input(self):
939937
"""Test ExternalCatalogDatasetOptions constructor with invalid input."""
@@ -1025,15 +1023,15 @@ def test_ctor_initialization(
10251023
storage_descriptor=storage_descriptor,
10261024
)
10271025

1028-
assert instance._properties["connectionId"] == connection_id
1029-
assert instance._properties["parameters"] == parameters
1026+
assert instance.connection_id == connection_id
1027+
assert instance.parameters == parameters
10301028
if storage_descriptor is not None:
10311029
assert (
1032-
instance._properties["storageDescriptor"]
1030+
instance.storage_descriptor.to_api_repr()
10331031
== storage_descriptor.to_api_repr()
10341032
)
10351033
else:
1036-
assert instance._properties["storageDescriptor"] == storage_descriptor
1034+
assert instance.storage_descriptor is None
10371035

10381036
@pytest.mark.parametrize(
10391037
"connection_id, parameters, storage_descriptor",

tests/unit/test_schema.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1197,7 +1197,7 @@ def _make_one(self, *args, **kw):
11971197
def test_ctor_valid_input(self, type_system, expected):
11981198
result = self._make_one(type_system=type_system)
11991199

1200-
assert result._properties["typeSystem"] == expected
1200+
assert result.type_system == expected
12011201

12021202
def test_ctor_invalid_input(self):
12031203
with pytest.raises(TypeError) as e:
@@ -1293,15 +1293,15 @@ def test_ctor_valid_input(
12931293
output_format=output_format,
12941294
serde_info=serde_info,
12951295
)
1296-
assert storage_descriptor._properties["inputFormat"] == input_format
1297-
assert storage_descriptor._properties["locationUri"] == location_uri
1298-
assert storage_descriptor._properties["outputFormat"] == output_format
1296+
assert storage_descriptor.input_format == input_format
1297+
assert storage_descriptor.location_uri == location_uri
1298+
assert storage_descriptor.output_format == output_format
12991299
if serde_info is not None:
13001300
assert (
1301-
storage_descriptor._properties["serDeInfo"] == serde_info.to_api_repr()
1301+
storage_descriptor.serde_info.to_api_repr() == serde_info.to_api_repr()
13021302
)
13031303
else:
1304-
assert storage_descriptor._properties["serDeInfo"] == serde_info
1304+
assert storage_descriptor.serde_info is None
13051305

13061306
@pytest.mark.parametrize(
13071307
"input_format,location_uri,output_format,serde_info",
@@ -1397,9 +1397,9 @@ def test_ctor_valid_input(self, serialization_library, name, parameters):
13971397
name=name,
13981398
parameters=parameters,
13991399
)
1400-
assert serde_info._properties["serializationLibrary"] == serialization_library
1401-
assert serde_info._properties["name"] == name
1402-
assert serde_info._properties["parameters"] == parameters
1400+
assert serde_info.serialization_library == serialization_library
1401+
assert serde_info.name == name
1402+
assert serde_info.parameters == parameters
14031403

14041404
@pytest.mark.parametrize(
14051405
"serialization_library,name,parameters",

0 commit comments

Comments
 (0)