mirror of
https://github.com/ansible/awx.git
synced 2026-05-10 02:47:36 -02:30
Fix some pytest warnings using Opus 4.6 (#16269)
* Fix some pytest warnings using Opus 4.6 * Fix review comments * Use raw-strings and regex markers for matching exception pattern Co-authored-by: 🇺🇦 Sviatoslav Sydorenko (Святослав Сидоренко) <wk.cvs.github@sydorenko.org.ua> * Make regex work * Undo always true assertion edit --------- Co-authored-by: 🇺🇦 Sviatoslav Sydorenko (Святослав Сидоренко) <wk.cvs.github@sydorenko.org.ua>
This commit is contained in:
@@ -1,4 +1,3 @@
|
|||||||
from datetime import date
|
|
||||||
from unittest import mock
|
from unittest import mock
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
@@ -253,7 +252,7 @@ def test_user_verify_attribute_created(admin, get):
|
|||||||
resp = get(reverse('api:user_detail', kwargs={'pk': admin.pk}), admin)
|
resp = get(reverse('api:user_detail', kwargs={'pk': admin.pk}), admin)
|
||||||
assert resp.data['created'] == admin.date_joined
|
assert resp.data['created'] == admin.date_joined
|
||||||
|
|
||||||
past = date(2020, 1, 1).isoformat()
|
past = "2020-01-01T00:00:00Z"
|
||||||
for op, count in (('gt', 1), ('lt', 0)):
|
for op, count in (('gt', 1), ('lt', 0)):
|
||||||
resp = get(reverse('api:user_list') + f'?created__{op}={past}', admin)
|
resp = get(reverse('api:user_list') + f'?created__{op}={past}', admin)
|
||||||
assert resp.data['count'] == count
|
assert resp.data['count'] == count
|
||||||
|
|||||||
@@ -330,17 +330,13 @@ class TestHostnameRegexValidator:
|
|||||||
|
|
||||||
def test_bad_call(self, regex_expr, re_flags):
|
def test_bad_call(self, regex_expr, re_flags):
|
||||||
h = HostnameRegexValidator(regex=regex_expr, flags=re_flags)
|
h = HostnameRegexValidator(regex=regex_expr, flags=re_flags)
|
||||||
try:
|
with pytest.raises(ValidationError, match=r"^\['illegal characters detected in hostname=@#\$%\)\$#\(TUFAS_DG. Please verify.'\]$"):
|
||||||
h("@#$%)$#(TUFAS_DG")
|
h("@#$%)$#(TUFAS_DG")
|
||||||
except ValidationError as e:
|
|
||||||
assert e.message is not None
|
|
||||||
|
|
||||||
def test_good_call_with_inverse(self, regex_expr, re_flags, inverse_match=True):
|
def test_good_call_with_inverse(self, regex_expr, re_flags, inverse_match=True):
|
||||||
h = HostnameRegexValidator(regex=regex_expr, flags=re_flags, inverse_match=inverse_match)
|
h = HostnameRegexValidator(regex=regex_expr, flags=re_flags, inverse_match=inverse_match)
|
||||||
try:
|
with pytest.raises(ValidationError, match=r"^\['Enter a valid value.'\]$"):
|
||||||
h("1.2.3.4")
|
h("1.2.3.4")
|
||||||
except ValidationError as e:
|
|
||||||
assert e.message is not None
|
|
||||||
|
|
||||||
def test_bad_call_with_inverse(self, regex_expr, re_flags, inverse_match=True):
|
def test_bad_call_with_inverse(self, regex_expr, re_flags, inverse_match=True):
|
||||||
h = HostnameRegexValidator(regex=regex_expr, flags=re_flags, inverse_match=inverse_match)
|
h = HostnameRegexValidator(regex=regex_expr, flags=re_flags, inverse_match=inverse_match)
|
||||||
|
|||||||
@@ -48,15 +48,16 @@ def could_be_playbook(project_path, dir_path, filename):
|
|||||||
# show up.
|
# show up.
|
||||||
matched = False
|
matched = False
|
||||||
try:
|
try:
|
||||||
for n, line in enumerate(codecs.open(playbook_path, 'r', encoding='utf-8', errors='ignore')):
|
with codecs.open(playbook_path, 'r', encoding='utf-8', errors='ignore') as f:
|
||||||
if valid_playbook_re.match(line):
|
for n, line in enumerate(f):
|
||||||
matched = True
|
if valid_playbook_re.match(line):
|
||||||
break
|
matched = True
|
||||||
# Any YAML file can also be encrypted with vault;
|
break
|
||||||
# allow these to be used as the main playbook.
|
# Any YAML file can also be encrypted with vault;
|
||||||
elif n == 0 and line.startswith('$ANSIBLE_VAULT;'):
|
# allow these to be used as the main playbook.
|
||||||
matched = True
|
elif n == 0 and line.startswith('$ANSIBLE_VAULT;'):
|
||||||
break
|
matched = True
|
||||||
|
break
|
||||||
except IOError:
|
except IOError:
|
||||||
return None
|
return None
|
||||||
if not matched:
|
if not matched:
|
||||||
|
|||||||
15
pytest.ini
15
pytest.ini
@@ -35,10 +35,6 @@ filterwarnings =
|
|||||||
# FIXME: and is no longer imported at runtime.
|
# FIXME: and is no longer imported at runtime.
|
||||||
once:CoreAPI compatibility is deprecated and will be removed in DRF 3.17:rest_framework.RemovedInDRF317Warning:rest_framework.schemas.coreapi
|
once:CoreAPI compatibility is deprecated and will be removed in DRF 3.17:rest_framework.RemovedInDRF317Warning:rest_framework.schemas.coreapi
|
||||||
|
|
||||||
# FIXME: Delete this entry once naive dates aren't passed to DB lookup
|
|
||||||
# FIXME: methods. Not sure where, might be in awx's views or in DAB.
|
|
||||||
once:DateTimeField User.date_joined received a naive datetime .2020-01-01 00.00.00. while time zone support is active.:RuntimeWarning:django.db.models.fields
|
|
||||||
|
|
||||||
# FIXME: Delete this entry once the deprecation is acted upon.
|
# FIXME: Delete this entry once the deprecation is acted upon.
|
||||||
# Note: RemovedInDjango51Warning may not exist in newer Django versions
|
# Note: RemovedInDjango51Warning may not exist in newer Django versions
|
||||||
ignore:'index_together' is deprecated. Use 'Meta.indexes' in 'main.\w+' instead.
|
ignore:'index_together' is deprecated. Use 'Meta.indexes' in 'main.\w+' instead.
|
||||||
@@ -47,12 +43,6 @@ filterwarnings =
|
|||||||
# Note: RemovedInDjango50Warning may not exist in newer Django versions
|
# Note: RemovedInDjango50Warning may not exist in newer Django versions
|
||||||
ignore:Using QuerySet.iterator.. after prefetch_related.. without specifying chunk_size is deprecated.
|
ignore:Using QuerySet.iterator.. after prefetch_related.. without specifying chunk_size is deprecated.
|
||||||
|
|
||||||
# FIXME: Delete this entry once the **broken** always-true assertions in the
|
|
||||||
# FIXME: following tests are fixed:
|
|
||||||
# * `awx/main/tests/unit/utils/test_common.py::TestHostnameRegexValidator::test_good_call`
|
|
||||||
# * `awx/main/tests/unit/utils/test_common.py::TestHostnameRegexValidator::test_bad_call_with_inverse`
|
|
||||||
once:assertion is always true, perhaps remove parentheses\?:pytest.PytestAssertRewriteWarning:
|
|
||||||
|
|
||||||
# FIXME: Figure this out, fix and then delete the entry. It's not entirely
|
# FIXME: Figure this out, fix and then delete the entry. It's not entirely
|
||||||
# FIXME: clear what emits it and where.
|
# FIXME: clear what emits it and where.
|
||||||
once:Pagination may yield inconsistent results with an unordered object_list. .class 'awx.main.models.workflow.WorkflowJobTemplateNode'. QuerySet.:django.core.paginator.UnorderedObjectListWarning:django.core.paginator
|
once:Pagination may yield inconsistent results with an unordered object_list. .class 'awx.main.models.workflow.WorkflowJobTemplateNode'. QuerySet.:django.core.paginator.UnorderedObjectListWarning:django.core.paginator
|
||||||
@@ -60,11 +50,6 @@ filterwarnings =
|
|||||||
# FIXME: Figure this out, fix and then delete the entry.
|
# FIXME: Figure this out, fix and then delete the entry.
|
||||||
once::django.core.paginator.UnorderedObjectListWarning:rest_framework.pagination
|
once::django.core.paginator.UnorderedObjectListWarning:rest_framework.pagination
|
||||||
|
|
||||||
# FIXME: Use `codecs.open()` via a context manager
|
|
||||||
# FIXME: in `awx/main/utils/ansible.py` to close hanging file descriptors
|
|
||||||
# FIXME: and then delete the entry.
|
|
||||||
once:unclosed file <_io.BufferedReader name='[^']+'>:ResourceWarning:awx.main.utils.ansible
|
|
||||||
|
|
||||||
# FIXME: Use `open()` via a context manager
|
# FIXME: Use `open()` via a context manager
|
||||||
# FIXME: in `awx/main/tests/unit/test_tasks.py` to close hanging file
|
# FIXME: in `awx/main/tests/unit/test_tasks.py` to close hanging file
|
||||||
# FIXME: descriptors and then delete the entry.
|
# FIXME: descriptors and then delete the entry.
|
||||||
|
|||||||
Reference in New Issue
Block a user