Skip to content

Commit 39842bc

Browse files
committed
hacking: Check for overly complicated client access
Change-Id: I531c0879c413cf500b099826047d03dd90dc0f5d Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
1 parent 1cc484f commit 39842bc

1 file changed

Lines changed: 16 additions & 1 deletion

File tree

hacking/checks.py

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ def assert_no_duplicated_setup(logical_line, filename):
7777

7878

7979
@core.flake8ext
80-
def assert_use_of_client_aliases(logical_line):
80+
def assert_use_of_client_aliases(logical_line, filename):
8181
"""Ensure we use $service_client instead of $sdk_connection.service.
8282
8383
O402
@@ -90,6 +90,21 @@ def assert_use_of_client_aliases(logical_line):
9090
service = match.group(1)
9191
yield (0, f"O402: prefer {service}_client to sdk_connection.{service}")
9292

93+
# everything from here down only affects unit tests
94+
if os.path.join('openstackclient', 'tests', 'unit') not in filename:
95+
return
96+
97+
if match := re.match(
98+
r'(self\.app\.client_manager\.(compute|network|image)+\.[a-z_]+)\.(return_value|side_effect) = ', # noqa: E501
99+
logical_line,
100+
):
101+
service = match.group(1)
102+
yield (
103+
0,
104+
f"O402: prefer {service}_client to "
105+
f"self.app.client_manager.{service}",
106+
)
107+
93108
if match := re.match(
94109
r'(self\.app\.client_manager\.(compute|network|image)+\.[a-z_]+) = mock.Mock', # noqa: E501
95110
logical_line,

0 commit comments

Comments
 (0)