From ae4658f7b695af623870ea17603cfa8d409d930b Mon Sep 17 00:00:00 2001 From: Norbert Kwizera Date: Tue, 5 Dec 2023 18:54:28 +0200 Subject: [PATCH 1/2] Remove use of deprecated pytz, self.assertEquals and index_together --- ..._dashblocks__org_id_024805_idx_and_more.py | 23 + dash/dashblocks/models.py | 4 +- dash/orgs/management/commands/orgtasks.py | 3 +- ...tive_slug_orgs_orgbac_org_id_607508_idx.py | 18 + dash/orgs/models.py | 2 +- dash/orgs/templatetags/dashorgs.py | 3 +- dash/utils/__init__.py | 2 +- dash/utils/tests.py | 3 +- poetry.lock | 159 ++-- pyproject.toml | 2 +- test_runner/settings.py | 1 - test_runner/tests.py | 850 +++++++++--------- 12 files changed, 551 insertions(+), 519 deletions(-) create mode 100644 dash/dashblocks/migrations/0012_rename_dashblock_org_is_active_dashblock_type_priority_dashblocks__org_id_024805_idx_and_more.py create mode 100644 dash/orgs/migrations/0032_rename_orgbackend_org_is_active_slug_orgs_orgbac_org_id_607508_idx.py diff --git a/dash/dashblocks/migrations/0012_rename_dashblock_org_is_active_dashblock_type_priority_dashblocks__org_id_024805_idx_and_more.py b/dash/dashblocks/migrations/0012_rename_dashblock_org_is_active_dashblock_type_priority_dashblocks__org_id_024805_idx_and_more.py new file mode 100644 index 0000000..5266955 --- /dev/null +++ b/dash/dashblocks/migrations/0012_rename_dashblock_org_is_active_dashblock_type_priority_dashblocks__org_id_024805_idx_and_more.py @@ -0,0 +1,23 @@ +# Generated by Django 4.2.8 on 2023-12-05 16:51 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ("dashblocks", "0011_alter_dashblock_index_together_and_more"), + ] + + operations = [ + migrations.RenameIndex( + model_name="dashblock", + new_name="dashblocks__org_id_024805_idx", + old_fields=("org", "is_active", "dashblock_type", "priority"), + ), + migrations.RenameIndex( + model_name="dashblocktype", + new_name="dashblocks__slug_c0c6c6_idx", + old_fields=("slug", "name"), + ), + ] diff --git a/dash/dashblocks/models.py b/dash/dashblocks/models.py index 4de7627..101e99e 100644 --- a/dash/dashblocks/models.py +++ b/dash/dashblocks/models.py @@ -49,7 +49,7 @@ def __str__(self): class Meta: ordering = ["name"] - index_together = ("slug", "name") + indexes = [models.Index(fields=["slug", "name"])] class DashBlock(SmartModel): @@ -149,7 +149,7 @@ def __str__(self): class Meta: ordering = ["dashblock_type", "title"] - index_together = ("org", "is_active", "dashblock_type", "priority") + indexes = [models.Index(fields=["org", "is_active", "dashblock_type", "priority"])] class DashBlockImage(SmartModel): diff --git a/dash/orgs/management/commands/orgtasks.py b/dash/orgs/management/commands/orgtasks.py index 32c18c7..bd5a384 100644 --- a/dash/orgs/management/commands/orgtasks.py +++ b/dash/orgs/management/commands/orgtasks.py @@ -1,5 +1,6 @@ +from datetime import timezone + from django.core.management.base import BaseCommand, CommandError -from django.utils import timezone from dash.orgs.models import Org, TaskState diff --git a/dash/orgs/migrations/0032_rename_orgbackend_org_is_active_slug_orgs_orgbac_org_id_607508_idx.py b/dash/orgs/migrations/0032_rename_orgbackend_org_is_active_slug_orgs_orgbac_org_id_607508_idx.py new file mode 100644 index 0000000..fe76029 --- /dev/null +++ b/dash/orgs/migrations/0032_rename_orgbackend_org_is_active_slug_orgs_orgbac_org_id_607508_idx.py @@ -0,0 +1,18 @@ +# Generated by Django 4.2.8 on 2023-12-05 16:51 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ("orgs", "0031_alter_orgbackend_index_together"), + ] + + operations = [ + migrations.RenameIndex( + model_name="orgbackend", + new_name="orgs_orgbac_org_id_607508_idx", + old_fields=("org", "is_active", "slug"), + ), + ] diff --git a/dash/orgs/models.py b/dash/orgs/models.py index c7fa8ad..46b83b5 100644 --- a/dash/orgs/models.py +++ b/dash/orgs/models.py @@ -416,4 +416,4 @@ def __str__(self): class Meta: unique_together = ("org", "slug") - index_together = ("org", "is_active", "slug") + indexes = [models.Index(fields=["org", "is_active", "slug"])] diff --git a/dash/orgs/templatetags/dashorgs.py b/dash/orgs/templatetags/dashorgs.py index 865d78c..7c091da 100644 --- a/dash/orgs/templatetags/dashorgs.py +++ b/dash/orgs/templatetags/dashorgs.py @@ -1,9 +1,8 @@ -from datetime import datetime +from datetime import datetime, timezone import phonenumbers from django import template -from django.utils import timezone register = template.Library() diff --git a/dash/utils/__init__.py b/dash/utils/__init__.py index f4010b7..713aec0 100644 --- a/dash/utils/__init__.py +++ b/dash/utils/__init__.py @@ -102,7 +102,7 @@ def ms_to_datetime(ms): Converts a millisecond accuracy timestamp to a datetime """ dt = datetime.datetime.utcfromtimestamp(ms / 1000) - return dt.replace(microsecond=(ms % 1000) * 1000).replace(tzinfo=timezone.utc) + return dt.replace(microsecond=(ms % 1000) * 1000).replace(tzinfo=datetime.timezone.utc) def get_month_range(d=None): diff --git a/dash/utils/tests.py b/dash/utils/tests.py index 39a0516..9b14755 100644 --- a/dash/utils/tests.py +++ b/dash/utils/tests.py @@ -1,10 +1,9 @@ import json import zoneinfo -from datetime import datetime +from datetime import datetime, timezone from itertools import chain from django.core.cache import cache -from django.utils import timezone from dash.test import DashTest diff --git a/poetry.lock b/poetry.lock index 0d399a4..e86f020 100644 --- a/poetry.lock +++ b/poetry.lock @@ -2,17 +2,17 @@ [[package]] name = "amqp" -version = "5.1.1" +version = "5.2.0" description = "Low-level AMQP client for Python (fork of amqplib)." optional = false python-versions = ">=3.6" files = [ - {file = "amqp-5.1.1-py3-none-any.whl", hash = "sha256:6f0956d2c23d8fa6e7691934d8c3930eadb44972cbbd1a7ae3a520f735d43359"}, - {file = "amqp-5.1.1.tar.gz", hash = "sha256:2c1b13fecc0893e946c65cbd5f36427861cffa4ea2201d8f6fca22e2a373b5e2"}, + {file = "amqp-5.2.0-py3-none-any.whl", hash = "sha256:827cb12fb0baa892aad844fd95258143bce4027fdac4fccddbc43330fd281637"}, + {file = "amqp-5.2.0.tar.gz", hash = "sha256:a1ecff425ad063ad42a486c902807d1482311481c8ad95a72694b2975e75f7fd"}, ] [package.dependencies] -vine = ">=5.0.0" +vine = ">=5.0.0,<6.0.0" [[package]] name = "asgiref" @@ -44,13 +44,13 @@ files = [ [[package]] name = "billiard" -version = "4.1.0" +version = "4.2.0" description = "Python multiprocessing fork with improvements and bugfixes" optional = false python-versions = ">=3.7" files = [ - {file = "billiard-4.1.0-py3-none-any.whl", hash = "sha256:0f50d6be051c6b2b75bfbc8bfd85af195c5739c281d3f5b86a5640c65563614a"}, - {file = "billiard-4.1.0.tar.gz", hash = "sha256:1ad2eeae8e28053d729ba3373d34d9d6e210f6e4d8bf0a9c64f92bd053f1edf5"}, + {file = "billiard-4.2.0-py3-none-any.whl", hash = "sha256:07aa978b308f334ff8282bd4a746e681b3513db5c9a514cbdd810cbbdc19714d"}, + {file = "billiard-4.2.0.tar.gz", hash = "sha256:9a3c3184cb275aa17a732f93f65b20c525d3d9f253722d26a82194803ade5a2c"}, ] [[package]] @@ -89,29 +89,29 @@ uvloop = ["uvloop (>=0.15.2)"] [[package]] name = "celery" -version = "5.3.4" +version = "5.3.6" description = "Distributed Task Queue." optional = false python-versions = ">=3.8" files = [ - {file = "celery-5.3.4-py3-none-any.whl", hash = "sha256:1e6ed40af72695464ce98ca2c201ad0ef8fd192246f6c9eac8bba343b980ad34"}, - {file = "celery-5.3.4.tar.gz", hash = "sha256:9023df6a8962da79eb30c0c84d5f4863d9793a466354cc931d7f72423996de28"}, + {file = "celery-5.3.6-py3-none-any.whl", hash = "sha256:9da4ea0118d232ce97dff5ed4974587fb1c0ff5c10042eb15278487cdd27d1af"}, + {file = "celery-5.3.6.tar.gz", hash = "sha256:870cc71d737c0200c397290d730344cc991d13a057534353d124c9380267aab9"}, ] [package.dependencies] -billiard = ">=4.1.0,<5.0" +billiard = ">=4.2.0,<5.0" click = ">=8.1.2,<9.0" click-didyoumean = ">=0.3.0" click-plugins = ">=1.1.1" click-repl = ">=0.2.0" -kombu = ">=5.3.2,<6.0" +kombu = ">=5.3.4,<6.0" python-dateutil = ">=2.8.2" tzdata = ">=2022.7" -vine = ">=5.0.0,<6.0" +vine = ">=5.1.0,<6.0" [package.extras] arangodb = ["pyArango (>=2.0.2)"] -auth = ["cryptography (==41.0.3)"] +auth = ["cryptography (==41.0.5)"] azureblockblob = ["azure-storage-blob (>=12.15.0)"] brotli = ["brotli (>=1.0.0)", "brotlipy (>=0.7.0)"] cassandra = ["cassandra-driver (>=3.25.0,<4)"] @@ -121,36 +121,36 @@ couchbase = ["couchbase (>=3.0.0)"] couchdb = ["pycouchdb (==1.14.2)"] django = ["Django (>=2.2.28)"] dynamodb = ["boto3 (>=1.26.143)"] -elasticsearch = ["elasticsearch (<8.0)"] +elasticsearch = ["elastic-transport (<=8.10.0)", "elasticsearch (<=8.11.0)"] eventlet = ["eventlet (>=0.32.0)"] gevent = ["gevent (>=1.5.0)"] librabbitmq = ["librabbitmq (>=2.0.0)"] memcache = ["pylibmc (==1.6.3)"] mongodb = ["pymongo[srv] (>=4.0.2)"] -msgpack = ["msgpack (==1.0.5)"] +msgpack = ["msgpack (==1.0.7)"] pymemcache = ["python-memcached (==1.59)"] pyro = ["pyro4 (==4.82)"] pytest = ["pytest-celery (==0.0.0)"] -redis = ["redis (>=4.5.2,!=4.5.5,<5.0.0)"] +redis = ["redis (>=4.5.2,!=4.5.5,<6.0.0)"] s3 = ["boto3 (>=1.26.143)"] slmq = ["softlayer-messaging (>=1.0.3)"] -solar = ["ephem (==4.1.4)"] +solar = ["ephem (==4.1.5)"] sqlalchemy = ["sqlalchemy (>=1.4.48,<2.1)"] sqs = ["boto3 (>=1.26.143)", "kombu[sqs] (>=5.3.0)", "pycurl (>=7.43.0.5)", "urllib3 (>=1.26.16)"] tblib = ["tblib (>=1.3.0)", "tblib (>=1.5.0)"] yaml = ["PyYAML (>=3.10)"] zookeeper = ["kazoo (>=1.3.1)"] -zstd = ["zstandard (==0.21.0)"] +zstd = ["zstandard (==0.22.0)"] [[package]] name = "certifi" -version = "2023.7.22" +version = "2023.11.17" description = "Python package for providing Mozilla's CA Bundle." optional = false python-versions = ">=3.6" files = [ - {file = "certifi-2023.7.22-py3-none-any.whl", hash = "sha256:92d6037539857d8206b8f6ae472e8b77db8058fec5937a1ef3f54304089edbb9"}, - {file = "certifi-2023.7.22.tar.gz", hash = "sha256:539cc1d13202e33ca466e88b2807e29f4c13049d6d87031a3c110744495cb082"}, + {file = "certifi-2023.11.17-py3-none-any.whl", hash = "sha256:e036ab49d5b79556f99cfc2d9320b34cfbe5be05c5871b51de9329f0603b0474"}, + {file = "certifi-2023.11.17.tar.gz", hash = "sha256:9b469f3a900bf28dc19b8cfbf8019bf47f7fdd1a65a1d4ffb98fc14166beb4d1"}, ] [[package]] @@ -395,12 +395,12 @@ toml = ["tomli"] [[package]] name = "cssbeautifier" -version = "1.14.9" +version = "1.14.11" description = "CSS unobfuscator and beautifier." optional = false python-versions = "*" files = [ - {file = "cssbeautifier-1.14.9.tar.gz", hash = "sha256:2da432472f68170eb854aff97b16a24721f5090ee36af2e31199590a89e7f71f"}, + {file = "cssbeautifier-1.14.11.tar.gz", hash = "sha256:40544c2b62bbcb64caa5e7f37a02df95654e5ce1bcacadac4ca1f3dc89c31513"}, ] [package.dependencies] @@ -410,13 +410,13 @@ six = ">=1.13.0" [[package]] name = "django" -version = "4.2.7" +version = "4.2.8" description = "A high-level Python web framework that encourages rapid development and clean, pragmatic design." optional = false python-versions = ">=3.8" files = [ - {file = "Django-4.2.7-py3-none-any.whl", hash = "sha256:e1d37c51ad26186de355cbcec16613ebdabfa9689bbade9c538835205a8abbe9"}, - {file = "Django-4.2.7.tar.gz", hash = "sha256:8e0f1c2c2786b5c0e39fe1afce24c926040fad47c8ea8ad30aaf1188df29fc41"}, + {file = "Django-4.2.8-py3-none-any.whl", hash = "sha256:6cb5dcea9e3d12c47834d32156b8841f533a4493c688e2718cafd51aa430ba6d"}, + {file = "Django-4.2.8.tar.gz", hash = "sha256:d69d5e36cc5d9f4eb4872be36c622878afcdce94062716cf3e25bcedcb168b62"}, ] [package.dependencies] @@ -430,13 +430,13 @@ bcrypt = ["bcrypt"] [[package]] name = "django-appconf" -version = "1.0.5" +version = "1.0.6" description = "A helper class for handling configuration defaults of packaged apps gracefully." optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" files = [ - {file = "django-appconf-1.0.5.tar.gz", hash = "sha256:be3db0be6c81fa84742000b89a81c016d70ae66a7ccb620cdef592b1f1a6aaa4"}, - {file = "django_appconf-1.0.5-py3-none-any.whl", hash = "sha256:ae9f864ee1958c815a965ed63b3fba4874eec13de10236ba063a788f9a17389d"}, + {file = "django-appconf-1.0.6.tar.gz", hash = "sha256:cfe87ea827c4ee04b9a70fab90b86d704cb02f2981f89da8423cb0fabf88efbf"}, + {file = "django_appconf-1.0.6-py3-none-any.whl", hash = "sha256:c3ae442fba1ff7ec830412c5184b17169a7a1e71cf0864a4c3f93cf4c98a1993"}, ] [package.dependencies] @@ -478,21 +478,17 @@ hiredis = ["redis[hiredis] (>=3,!=4.0.0,!=4.0.1)"] [[package]] name = "django-timezone-field" -version = "4.2.3" -description = "A Django app providing database and form fields for pytz timezone objects." +version = "6.1.0" +description = "A Django app providing DB, form, and REST framework fields for zoneinfo and pytz timezone objects." optional = false -python-versions = ">=3.5" +python-versions = ">=3.8,<4.0" files = [ - {file = "django-timezone-field-4.2.3.tar.gz", hash = "sha256:5dd5bd9249382bef8847d3e7e4c32b7be182a4b538f354130d1252ed228892f8"}, - {file = "django_timezone_field-4.2.3-py3-none-any.whl", hash = "sha256:7552d2b0f145684b7de3fb5046101c7efd600cc6ba951b15c630fa1e1b83558e"}, + {file = "django_timezone_field-6.1.0-py3-none-any.whl", hash = "sha256:0095f43da716552fcc606783cfb42cb025892514f1ec660ebfa96186eb83b74c"}, + {file = "django_timezone_field-6.1.0.tar.gz", hash = "sha256:d40f7059d7bae4075725d04a9dae601af9fe3c7f0119a69b0e2c6194a782f797"}, ] [package.dependencies] -django = ">=2.2" -pytz = "*" - -[package.extras] -rest-framework = ["djangorestframework (>=3.0.0)"] +Django = ">=3.2,<6.0" [[package]] name = "djlint" @@ -554,13 +550,13 @@ files = [ [[package]] name = "idna" -version = "3.4" +version = "3.6" description = "Internationalized Domain Names in Applications (IDNA)" optional = false python-versions = ">=3.5" files = [ - {file = "idna-3.4-py3-none-any.whl", hash = "sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"}, - {file = "idna-3.4.tar.gz", hash = "sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4"}, + {file = "idna-3.6-py3-none-any.whl", hash = "sha256:c05567e9c24a6b9faaa835c4821bad0590fbb9d5779e7caa6e1cc4978e7eb24f"}, + {file = "idna-3.6.tar.gz", hash = "sha256:9ecdbbd083b06798ae1e86adcbfe8ab1479cf864e4ee30fe4e46a003d12491ca"}, ] [[package]] @@ -593,12 +589,12 @@ requirements-deprecated-finder = ["pip-api", "pipreqs"] [[package]] name = "jsbeautifier" -version = "1.14.9" +version = "1.14.11" description = "JavaScript unobfuscator and beautifier." optional = false python-versions = "*" files = [ - {file = "jsbeautifier-1.14.9.tar.gz", hash = "sha256:c738ebc36b47bd94e4ca6dd17a9004c3cc74edad582ca1d60e0e5d5945a63cb9"}, + {file = "jsbeautifier-1.14.11.tar.gz", hash = "sha256:6b632581ea60dd1c133cd25a48ad187b4b91f526623c4b0fb5443ef805250505"}, ] [package.dependencies] @@ -621,13 +617,13 @@ dev = ["hypothesis"] [[package]] name = "kombu" -version = "5.3.2" +version = "5.3.4" description = "Messaging library for Python." optional = false python-versions = ">=3.8" files = [ - {file = "kombu-5.3.2-py3-none-any.whl", hash = "sha256:b753c9cfc9b1e976e637a7cbc1a65d446a22e45546cd996ea28f932082b7dc9e"}, - {file = "kombu-5.3.2.tar.gz", hash = "sha256:0ba213f630a2cb2772728aef56ac6883dc3a2f13435e10048f6e97d48506dbbd"}, + {file = "kombu-5.3.4-py3-none-any.whl", hash = "sha256:63bb093fc9bb80cfb3a0972336a5cec1fa7ac5f9ef7e8237c6bf8dda9469313e"}, + {file = "kombu-5.3.4.tar.gz", hash = "sha256:0bb2e278644d11dea6272c17974a3dbb9688a949f3bb60aeb5b791329c44fadc"}, ] [package.dependencies] @@ -637,14 +633,14 @@ vine = "*" [package.extras] azureservicebus = ["azure-servicebus (>=7.10.0)"] azurestoragequeues = ["azure-identity (>=1.12.0)", "azure-storage-queue (>=12.6.0)"] -confluentkafka = ["confluent-kafka (==2.1.1)"] +confluentkafka = ["confluent-kafka (>=2.2.0)"] consul = ["python-consul2"] librabbitmq = ["librabbitmq (>=2.0.0)"] mongodb = ["pymongo (>=4.1.1)"] msgpack = ["msgpack"] pyro = ["pyro4"] qpid = ["qpid-python (>=0.26)", "qpid-tools (>=0.26)"] -redis = ["redis (>=4.5.2)"] +redis = ["redis (>=4.5.2,!=4.5.5,<6.0.0)"] slmq = ["softlayer-messaging (>=1.0.3)"] sqlalchemy = ["sqlalchemy (>=1.4.48,<2.1)"] sqs = ["boto3 (>=1.26.143)", "pycurl (>=7.43.0.5)", "urllib3 (>=1.26.16)"] @@ -675,13 +671,13 @@ files = [ [[package]] name = "phonenumbers" -version = "8.13.24" +version = "8.13.26" description = "Python version of Google's common library for parsing, formatting, storing and validating international phone numbers." optional = false python-versions = "*" files = [ - {file = "phonenumbers-8.13.24-py2.py3-none-any.whl", hash = "sha256:7dd66c57da00c0f373de83074e78d66a0801381cface4d010cfe07be2fa77fe5"}, - {file = "phonenumbers-8.13.24.tar.gz", hash = "sha256:7abc66f38d92c3b9e827d597b5d590283ca3b05288d9fadea8bc0d6c8ad73c06"}, + {file = "phonenumbers-8.13.26-py2.py3-none-any.whl", hash = "sha256:b2308c9c5750b8f10dd30d94547afd66bce60ac5e93aff227f95740557f32752"}, + {file = "phonenumbers-8.13.26.tar.gz", hash = "sha256:937d70aeceb317f5831dfec28de855a60260ef4a9d551964bec8e7a7d0cf81cd"}, ] [[package]] @@ -753,13 +749,13 @@ tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "pa [[package]] name = "platformdirs" -version = "3.11.0" +version = "4.1.0" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "platformdirs-3.11.0-py3-none-any.whl", hash = "sha256:e9d171d00af68be50e9202731309c4e658fd8bc76f55c11c7dd760d023bda68e"}, - {file = "platformdirs-3.11.0.tar.gz", hash = "sha256:cf8ee52a3afdb965072dcc652433e0c7e3e40cf5ea1477cd4b3b1d2eb75495b3"}, + {file = "platformdirs-4.1.0-py3-none-any.whl", hash = "sha256:11c8f37bcca40db96d8144522d925583bdb7a31f7b0e37e3ed4318400a8e2380"}, + {file = "platformdirs-4.1.0.tar.gz", hash = "sha256:906d548203468492d432bcb294d4bc2fff751bf84971fbb2c10918cc206ee420"}, ] [package.extras] @@ -768,13 +764,13 @@ test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4)", "pytest-co [[package]] name = "prompt-toolkit" -version = "3.0.39" +version = "3.0.41" description = "Library for building powerful interactive command lines in Python" optional = false python-versions = ">=3.7.0" files = [ - {file = "prompt_toolkit-3.0.39-py3-none-any.whl", hash = "sha256:9dffbe1d8acf91e3de75f3b544e4842382fc06c6babe903ac9acb74dc6e08d88"}, - {file = "prompt_toolkit-3.0.39.tar.gz", hash = "sha256:04505ade687dc26dc4284b1ad19a83be2f2afe83e7a828ace0c72f3a1df72aac"}, + {file = "prompt_toolkit-3.0.41-py3-none-any.whl", hash = "sha256:f36fe301fafb7470e86aaf90f036eef600a3210be4decf461a5b1ca8403d3cb2"}, + {file = "prompt_toolkit-3.0.41.tar.gz", hash = "sha256:941367d97fc815548822aa26c2a269fdc4eb21e9ec05fc5d447cf09bad5d75f0"}, ] [package.dependencies] @@ -782,13 +778,13 @@ wcwidth = "*" [[package]] name = "psycopg" -version = "3.1.12" +version = "3.1.14" description = "PostgreSQL database adapter for Python" optional = false python-versions = ">=3.7" files = [ - {file = "psycopg-3.1.12-py3-none-any.whl", hash = "sha256:8ec5230d6a7eb654b4fb3cf2d3eda8871d68f24807b934790504467f1deee9f8"}, - {file = "psycopg-3.1.12.tar.gz", hash = "sha256:cec7ad2bc6a8510e56c45746c631cf9394148bdc8a9a11fd8cf8554ce129ae78"}, + {file = "psycopg-3.1.14-py3-none-any.whl", hash = "sha256:f5bce37d357578b230ede15fb461e2c601122986f6dd590e94283aaca8958b14"}, + {file = "psycopg-3.1.14.tar.gz", hash = "sha256:7a63249f52e9c312d2d3978df5f170d21a0defd3a0c950d7859d226b7cfbfad5"}, ] [package.dependencies] @@ -796,8 +792,8 @@ typing-extensions = ">=4.1" tzdata = {version = "*", markers = "sys_platform == \"win32\""} [package.extras] -binary = ["psycopg-binary (==3.1.12)"] -c = ["psycopg-c (==3.1.12)"] +binary = ["psycopg-binary (==3.1.14)"] +c = ["psycopg-c (==3.1.14)"] dev = ["black (>=23.1.0)", "dnspython (>=2.1)", "flake8 (>=4.0)", "mypy (>=1.4.1)", "types-setuptools (>=57.4)", "wheel (>=0.37)"] docs = ["Sphinx (>=5.0)", "furo (==2022.6.21)", "sphinx-autobuild (>=2021.3.14)", "sphinx-autodoc-typehints (>=1.12)"] pool = ["psycopg-pool"] @@ -1131,13 +1127,13 @@ files = [ [[package]] name = "smartmin" -version = "4.2.4" +version = "4.2.5" description = "Scaffolding system for Django object management." optional = false python-versions = ">=3.10,<4.0" files = [ - {file = "smartmin-4.2.4-py3-none-any.whl", hash = "sha256:29860148d78e8055c1573df594d971dd1ea8bdf2b88b4d5df968415b24c13b1a"}, - {file = "smartmin-4.2.4.tar.gz", hash = "sha256:6c4d56b0024ae3315039f332d18d7f16ce600f05277fc765f2deb4f87cb7e1d4"}, + {file = "smartmin-4.2.5-py3-none-any.whl", hash = "sha256:b7d13ef3b40b53a61d3aeb3ada297f7493a2d2e962c7431d31a3fcf770ed9ef7"}, + {file = "smartmin-4.2.5.tar.gz", hash = "sha256:fe680f2f3e75e871bd822a0669956b7c0a0040032fb83889d8212b58a1e7fd8b"}, ] [package.dependencies] @@ -1231,41 +1227,40 @@ files = [ [[package]] name = "urllib3" -version = "2.0.7" +version = "2.1.0" description = "HTTP library with thread-safe connection pooling, file post, and more." optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "urllib3-2.0.7-py3-none-any.whl", hash = "sha256:fdb6d215c776278489906c2f8916e6e7d4f5a9b602ccbcfdf7f016fc8da0596e"}, - {file = "urllib3-2.0.7.tar.gz", hash = "sha256:c97dfde1f7bd43a71c8d2a58e369e9b2bf692d1334ea9f9cae55add7d0dd0f84"}, + {file = "urllib3-2.1.0-py3-none-any.whl", hash = "sha256:55901e917a5896a349ff771be919f8bd99aff50b79fe58fec595eb37bbc56bb3"}, + {file = "urllib3-2.1.0.tar.gz", hash = "sha256:df7aa8afb0148fa78488e7899b2c59b5f4ffcfa82e6c54ccb9dd37c1d7b52d54"}, ] [package.extras] brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"] -secure = ["certifi", "cryptography (>=1.9)", "idna (>=2.0.0)", "pyopenssl (>=17.1.0)", "urllib3-secure-extra"] socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] zstd = ["zstandard (>=0.18.0)"] [[package]] name = "vine" -version = "5.0.0" -description = "Promises, promises, promises." +version = "5.1.0" +description = "Python promises." optional = false python-versions = ">=3.6" files = [ - {file = "vine-5.0.0-py2.py3-none-any.whl", hash = "sha256:4c9dceab6f76ed92105027c49c823800dd33cacce13bdedc5b914e3514b7fb30"}, - {file = "vine-5.0.0.tar.gz", hash = "sha256:7d3b1624a953da82ef63462013bbd271d3eb75751489f9807598e8f340bd637e"}, + {file = "vine-5.1.0-py3-none-any.whl", hash = "sha256:40fdf3c48b2cfe1c38a49e9ae2da6fda88e4794c810050a728bd7413811fb1dc"}, + {file = "vine-5.1.0.tar.gz", hash = "sha256:8b62e981d35c41049211cf62a0a1242d8c1ee9bd15bb196ce38aefd6799e61e0"}, ] [[package]] name = "wcwidth" -version = "0.2.9" +version = "0.2.12" description = "Measures the displayed width of unicode strings in a terminal" optional = false python-versions = "*" files = [ - {file = "wcwidth-0.2.9-py2.py3-none-any.whl", hash = "sha256:9a929bd8380f6cd9571a968a9c8f4353ca58d7cd812a4822bba831f8d685b223"}, - {file = "wcwidth-0.2.9.tar.gz", hash = "sha256:a675d1a4a2d24ef67096a04b85b02deeecd8e226f57b5e3a72dbb9ed99d27da8"}, + {file = "wcwidth-0.2.12-py2.py3-none-any.whl", hash = "sha256:f26ec43d96c8cbfed76a5075dac87680124fa84e0855195a6184da9c187f133c"}, + {file = "wcwidth-0.2.12.tar.gz", hash = "sha256:f01c104efdf57971bcb756f054dd58ddec5204dd15fa31d6503ea57947d97c02"}, ] [[package]] @@ -1293,4 +1288,4 @@ files = [ [metadata] lock-version = "2.0" python-versions = "^3.10" -content-hash = "922d1a59549987320f7daaf9302d2879754d7e98086edb2b3276504f9b567daa" +content-hash = "277234b0cf3d82d22667fe5d6d4cf01a1170d60378879f6cc47f26868f453377" diff --git a/pyproject.toml b/pyproject.toml index af53c45..deeae98 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -26,7 +26,7 @@ Django = "^4.2.7" celery = "^5.1" django-compressor = "^4.0" django-redis = "^5.2.0" -django-timezone-field = "^4.1.1" +django-timezone-field = "^6.1.0" Pillow = ">=9.4,<11.0" phonenumbers = "^8.12.16" psycopg = "^3.1.9" diff --git a/test_runner/settings.py b/test_runner/settings.py index 1cf7905..23e3971 100644 --- a/test_runner/settings.py +++ b/test_runner/settings.py @@ -90,7 +90,6 @@ TIME_ZONE = "UTC" USER_TIME_ZONE = "Africa/Kigali" USE_I18N = True -USE_L10N = True USE_TZ = True # Absolute path to the directory static files should be collected to. diff --git a/test_runner/tests.py b/test_runner/tests.py index c936a39..947b186 100644 --- a/test_runner/tests.py +++ b/test_runner/tests.py @@ -1,7 +1,7 @@ +import zoneinfo from dash.tags.models import Tag from unittest.mock import Mock, patch, call -import pytz import redis from smartmin.tests import SmartminTest from temba_client.v2 import TembaClient @@ -43,7 +43,7 @@ def test_user_profile(self): self.login(self.admin) response = self.client.get(profile_url) - self.assertEquals(response.status_code, 200) + self.assertEqual(response.status_code, 200) self.assertTrue("form" in response.context) post_data = dict( @@ -57,10 +57,10 @@ def test_user_profile(self): ) response = self.client.post(profile_url, post_data, follow=True) - self.assertEquals(response.status_code, 200) + self.assertEqual(response.status_code, 200) new_admin = User.objects.get(pk=self.admin.pk) - self.assertEquals(new_admin.username, "washington@nyaruka.com") - self.assertEquals(new_admin.email, "washington@nyaruka.com") + self.assertEqual(new_admin.username, "washington@nyaruka.com") + self.assertEqual(new_admin.email, "washington@nyaruka.com") self.assertFalse(User.objects.filter(username="denzel@nyaruka.com")) def test_user_create(self): @@ -77,7 +77,7 @@ def test_user_create(self): self.login(self.superuser) response = self.client.get(create_url) - self.assertEquals(response.status_code, 200) + self.assertEqual(response.status_code, 200) self.assertTrue("form" in response.context) self.assertEqual(len(response.context["form"].fields), 7) @@ -95,7 +95,7 @@ def test_user_update(self): self.login(self.superuser) response = self.client.get(update_url) - self.assertEquals(response.status_code, 200) + self.assertEqual(response.status_code, 200) self.assertTrue("form" in response.context) self.assertEqual(len(response.context["form"].fields), 8) @@ -143,7 +143,7 @@ def create_org(self, subdomain, user): org.administrators.add(user) - self.assertEquals(Org.objects.filter(subdomain=subdomain).count(), 1) + self.assertEqual(Org.objects.filter(subdomain=subdomain).count(), 1) org_backend = org.backends.filter(slug="rapidpro").first() @@ -210,8 +210,8 @@ def test_process(self): # check non-white-listed URL with no orgs response = self.simulate_process("ureport.io", "dash.test_test") - self.assertEquals(response.status_code, 302) - self.assertEquals(response.url, reverse(settings.SITE_CHOOSER_URL_NAME)) + self.assertEqual(response.status_code, 302) + self.assertEqual(response.url, reverse(settings.SITE_CHOOSER_URL_NAME)) self.assertIsNone(self.request.org) self.assertIsNone(self.request.user.get_org()) @@ -221,8 +221,8 @@ def test_process(self): # now orgs should be listed in choose page response = self.simulate_process("ureport.io", "dash.test_test") - self.assertEquals(response.status_code, 302) - self.assertEquals(response.url, reverse(settings.SITE_CHOOSER_URL_NAME)) + self.assertEqual(response.status_code, 302) + self.assertEqual(response.url, reverse(settings.SITE_CHOOSER_URL_NAME)) self.assertIsNone(self.request.org) self.assertIsNone(self.request.user.get_org()) @@ -252,8 +252,8 @@ def test_process(self): response = self.simulate_process("blabla.ureport.io", "dash.test_test") self.assertIsNone(self.request.org) self.assertIsNone(self.request.user.get_org()) - self.assertEquals(response.status_code, 302) - self.assertEquals(response.url, reverse(settings.SITE_CHOOSER_URL_NAME)) + self.assertEqual(response.status_code, 302) + self.assertEqual(response.url, reverse(settings.SITE_CHOOSER_URL_NAME)) # test disallowed host exception self.request.get_host.side_effect = DisallowedHost @@ -261,8 +261,8 @@ def test_process(self): response = self.simulate_process("xxx.ureport.io", "dash.test_test") self.assertIsNone(self.request.org) self.assertIsNone(self.request.user.get_org()) - self.assertEquals(response.status_code, 302) - self.assertEquals(response.url, reverse(settings.SITE_CHOOSER_URL_NAME)) + self.assertEqual(response.status_code, 302) + self.assertEqual(response.url, reverse(settings.SITE_CHOOSER_URL_NAME)) rw_org.is_active = False rw_org.save() @@ -270,8 +270,8 @@ def test_process(self): response = self.simulate_process("rwanda.ureport.io", "dash.test_test") self.assertIsNone(self.request.org) self.assertIsNone(self.request.user.get_org()) - self.assertEquals(response.status_code, 302) - self.assertEquals(response.url, reverse(settings.SITE_CHOOSER_URL_NAME)) + self.assertEqual(response.status_code, 302) + self.assertEqual(response.url, reverse(settings.SITE_CHOOSER_URL_NAME)) with self.settings(SITE_CHOOSER_URL_NAME="dash.test_chooser"): response = self.simulate_process("ureport.io", "dash.test_chooser") @@ -282,8 +282,8 @@ def test_process(self): response = self.simulate_process("localhost", "dash.test_test") self.assertIsNone(self.request.org) self.assertIsNone(self.request.user.get_org()) - self.assertEquals(response.status_code, 302) - self.assertEquals(response.url, reverse(settings.SITE_CHOOSER_URL_NAME)) + self.assertEqual(response.status_code, 302) + self.assertEqual(response.url, reverse(settings.SITE_CHOOSER_URL_NAME)) ug_org.domain = "ureport.co.ug" ug_org.save() @@ -319,13 +319,13 @@ def test_process(self): response = self.simulate_process("ureport.co.ug", "dash.test_test") self.assertIsNone(self.request.org) self.assertIsNone(self.request.user.get_org()) - self.assertEquals(response.status_code, 302) + self.assertEqual(response.status_code, 302) # do not check subdomain if not domain has host name response = self.simulate_process("uganda.co.ug", "dash.test_test") self.assertIsNone(self.request.org) self.assertIsNone(self.request.user.get_org()) - self.assertEquals(response.status_code, 302) + self.assertEqual(response.status_code, 302) empty_subdomain_org = Org.objects.create( subdomain="", name="global", language="en", created_by=self.admin, modified_by=self.admin @@ -391,18 +391,18 @@ def test_list(self): self.login(self.superuser) response = self.client.get(list_url) - self.assertEquals(response.status_code, 200) + self.assertEqual(response.status_code, 200) self.assertTrue(response.context["object_list"]) self.assertTrue(self.uganda_backend in response.context["object_list"]) self.assertTrue(self.nigeria_backend in response.context["object_list"]) - self.assertEquals(len(response.context["object_list"]), 2) + self.assertEqual(len(response.context["object_list"]), 2) response = self.client.get(list_url, SERVER_NAME="uganda.ureport.io") - self.assertEquals(response.status_code, 200) + self.assertEqual(response.status_code, 200) self.assertTrue(response.context["object_list"]) self.assertFalse(self.nigeria_backend in response.context["object_list"]) self.assertTrue(self.uganda_backend in response.context["object_list"]) - self.assertEquals(len(response.context["object_list"]), 1) + self.assertEqual(len(response.context["object_list"]), 1) self.assertEqual(str(self.nigeria_backend), "rapidpro") @@ -416,16 +416,16 @@ def setUp(self): def test_org_model(self): user = self.create_user("User") - self.assertEquals(force_str(self.org), "uganda") + self.assertEqual(force_str(self.org), "uganda") self.assertIsNone(Org.get_org(None)) - self.assertEquals(Org.get_org(self.admin), self.org) + self.assertEqual(Org.get_org(self.admin), self.org) self.assertIsNone(Org.get_org(user)) new_user = Org.create_user("email@example.com", "secretpassword") self.assertIsInstance(new_user, User) - self.assertEquals(new_user.email, "email@example.com") - self.assertEquals(new_user.username, "email@example.com") + self.assertEqual(new_user.email, "email@example.com") + self.assertEqual(new_user.username, "email@example.com") self.assertTrue(new_user.check_password("secretpassword")) client = self.org.get_temba_client() @@ -454,7 +454,7 @@ def test_org_model(self): client.headers["Authorization"], "Token %s" % self.org.backends.filter(slug="rapidpro").first().api_token ) - self.assertEquals(self.org.get_user(), self.admin) + self.assertEqual(self.org.get_user(), self.admin) viewer = self.create_user("Viewer") editor = self.create_user("Editor") @@ -462,43 +462,43 @@ def test_org_model(self): self.org.editors.add(editor) self.assertTrue(self.org.get_user_org_group(self.admin)) - self.assertEquals(self.org.get_user_org_group(self.admin).name, "Administrators") + self.assertEqual(self.org.get_user_org_group(self.admin).name, "Administrators") self.assertTrue(self.org.get_user_org_group(editor)) - self.assertEquals(self.org.get_user_org_group(editor).name, "Editors") + self.assertEqual(self.org.get_user_org_group(editor).name, "Editors") self.assertTrue(self.org.get_user_org_group(viewer)) - self.assertEquals(self.org.get_user_org_group(viewer).name, "Viewers") + self.assertEqual(self.org.get_user_org_group(viewer).name, "Viewers") self.assertIsNone(self.org.get_user_org_group(user)) org_users = self.org.get_org_users() - self.assertEquals(len(org_users), 3) + self.assertEqual(len(org_users), 3) self.assertIn(self.admin, org_users) self.assertIn(editor, org_users) self.assertIn(viewer, org_users) org_admins = self.org.get_org_admins() - self.assertEquals(len(org_admins), 1) + self.assertEqual(len(org_admins), 1) self.assertIn(self.admin, org_admins) org_editors = self.org.get_org_editors() - self.assertEquals(len(org_editors), 1) + self.assertEqual(len(org_editors), 1) self.assertIn(editor, org_editors) org_viewers = self.org.get_org_viewers() - self.assertEquals(len(org_viewers), 1) + self.assertEqual(len(org_viewers), 1) self.assertIn(viewer, org_viewers) self.assertIsNone(self.org.get_config("field_name")) self.assertEqual(self.org.get_config("field_name", "default"), "default") self.org.set_config("field_name", "field_value") - self.assertEquals(self.org.get_config("field_name"), "field_value") + self.assertEqual(self.org.get_config("field_name"), "field_value") self.org.set_config("other_field_name", "other_value") - self.assertEquals(self.org.get_config("field_name"), "field_value") - self.assertEquals(self.org.get_config("other_field_name"), "other_value") + self.assertEqual(self.org.get_config("field_name"), "field_value") + self.assertEqual(self.org.get_config("other_field_name"), "other_value") self.org._config = None - self.assertEquals(self.org.get_config("field_name"), "field_value") - self.assertEquals(self.org.get_config("other_field_name"), "other_value") + self.assertEqual(self.org.get_config("field_name"), "field_value") + self.assertEqual(self.org.get_config("other_field_name"), "other_value") def test_set_config_commit(self): """By default, Org.set_config should commit change to database.""" @@ -556,10 +556,10 @@ def test_org_create(self): self.login(self.superuser) response = self.client.get(create_url) - self.assertEquals(200, response.status_code) - self.assertEquals(len(response.context["form"].fields), 8) + self.assertEqual(200, response.status_code) + self.assertEqual(len(response.context["form"].fields), 8) self.assertFalse(Org.objects.filter(name="kLab")) - self.assertEquals(User.objects.all().count(), 3) + self.assertEqual(User.objects.all().count(), 3) user_alice = User.objects.create_user("alicefox") @@ -572,7 +572,7 @@ def test_org_create(self): ) response = self.client.post(create_url, data) - self.assertEquals(response.status_code, 200) + self.assertEqual(response.status_code, 200) self.assertTrue(response.context["form"]) self.assertTrue(response.context["form"].errors) @@ -583,9 +583,9 @@ def test_org_create(self): self.assertNotIn("form", response.context) self.assertTrue(Org.objects.filter(name="kLab")) org = Org.objects.get(name="kLab") - self.assertEquals(User.objects.all().count(), 4) + self.assertEqual(User.objects.all().count(), 4) self.assertTrue(org.administrators.filter(username="alicefox")) - self.assertEquals(org.timezone, pytz.timezone("Africa/Kigali")) + self.assertEqual(org.timezone, zoneinfo.ZoneInfo("Africa/Kigali")) # allow may empty domain orgs data = dict( @@ -616,9 +616,9 @@ def test_org_update(self): self.login(self.superuser) response = self.client.get(update_url) - self.assertEquals(200, response.status_code) + self.assertEqual(200, response.status_code) self.assertFalse(Org.objects.filter(name="Burundi")) - self.assertEquals(len(response.context["form"].fields), 9) + self.assertEqual(len(response.context["form"].fields), 9) post_data = dict( name="Burundi", @@ -632,7 +632,7 @@ def test_org_update(self): ) response = self.client.post(update_url, post_data) - self.assertEquals(response.status_code, 200) + self.assertEqual(response.status_code, 200) self.assertTrue(response.context["form"]) self.assertTrue(response.context["form"].errors) @@ -647,16 +647,16 @@ def test_org_update(self): administrators=self.admin.pk, ) response = self.client.post(update_url, post_data) - self.assertEquals(response.status_code, 302) + self.assertEqual(response.status_code, 302) response = self.client.post(update_url, post_data, follow=True) - self.assertEquals(response.status_code, 200) + self.assertEqual(response.status_code, 200) org = Org.objects.get(pk=self.org.pk) - self.assertEquals(org.name, "Burundi") - self.assertEquals(org.subdomain, "burundi") - self.assertEquals(org.domain, "ureport.bi") - self.assertEquals(org.timezone, pytz.timezone("Africa/Bujumbura")) - self.assertEquals(response.request["PATH_INFO"], reverse("orgs.org_list")) + self.assertEqual(org.name, "Burundi") + self.assertEqual(org.subdomain, "burundi") + self.assertEqual(org.domain, "ureport.bi") + self.assertEqual(org.timezone, zoneinfo.ZoneInfo("Africa/Bujumbura")) + self.assertEqual(response.request["PATH_INFO"], reverse("orgs.org_list")) def test_org_list(self): list_url = reverse("orgs.org_list") @@ -670,10 +670,10 @@ def test_org_list(self): self.login(self.superuser) response = self.client.get(list_url) - self.assertEquals(response.status_code, 200) + self.assertEqual(response.status_code, 200) self.assertTrue(response.context["object_list"]) self.assertTrue(self.org in response.context["object_list"]) - self.assertEquals(len(response.context["fields"]), 4) + self.assertEqual(len(response.context["fields"]), 4) def test_org_choose(self): choose_url = reverse("orgs.org_choose") @@ -686,45 +686,45 @@ def test_org_choose(self): self.login(self.superuser) response = self.client.get(choose_url) - self.assertEquals(response.status_code, 302) + self.assertEqual(response.status_code, 302) response = self.client.get(choose_url, follow=True) - self.assertEquals(response.request["PATH_INFO"], reverse("orgs.org_list")) + self.assertEqual(response.request["PATH_INFO"], reverse("orgs.org_list")) self.login(self.admin) response = self.client.get(choose_url) - self.assertEquals(response.status_code, 302) + self.assertEqual(response.status_code, 302) response = self.client.get(choose_url, follow=True) - self.assertEquals(response.request["PATH_INFO"], reverse("users.user_login")) + self.assertEqual(response.request["PATH_INFO"], reverse("users.user_login")) self.org = self.create_org("uganda", self.admin) # with a subdomain response = self.client.get(choose_url, SERVER_NAME="uganda.ureport.io") - self.assertEquals(response.status_code, 302) + self.assertEqual(response.status_code, 302) response = self.client.get(choose_url, follow=True, SERVER_NAME="uganda.ureport.io") - self.assertEquals(response.request["PATH_INFO"], reverse("orgs.org_home")) + self.assertEqual(response.request["PATH_INFO"], reverse("orgs.org_home")) # without subdomain response = self.client.get(choose_url) - self.assertEquals(response.status_code, 200) - self.assertEquals(response.request["PATH_INFO"], reverse("orgs.org_choose")) - self.assertEquals(len(response.context["orgs"]), 1) + self.assertEqual(response.status_code, 200) + self.assertEqual(response.request["PATH_INFO"], reverse("orgs.org_choose")) + self.assertEqual(len(response.context["orgs"]), 1) self.assertTrue(self.org in response.context["orgs"]) self.assertFalse("org" in response.context) self.assertTrue("form" in response.context) - self.assertEquals(len(response.context["form"].fields), 2) + self.assertEqual(len(response.context["form"].fields), 2) self.assertTrue("organization" in response.context["form"].fields) self.assertTrue("loc" in response.context["form"].fields) org_choices = response.context["form"].fields["organization"].choices.queryset - self.assertEquals(len(org_choices), 1) + self.assertEqual(len(org_choices), 1) self.assertTrue(self.org in org_choices) post_data = dict(organization=self.org.pk) response = self.client.post(choose_url, post_data, follow=True) self.assertTrue("org" in response.context) - self.assertEquals(self.org, response.context["org"]) - self.assertEquals(response.request["PATH_INFO"], reverse("orgs.org_home")) + self.assertEqual(self.org, response.context["org"]) + self.assertEqual(response.request["PATH_INFO"], reverse("orgs.org_home")) user = self.create_user("user") other_org = self.create_org("other", user) @@ -734,38 +734,38 @@ def test_org_choose(self): self.assertFalse("org" in response.context) self.assertTrue("form" in response.context) self.assertTrue(response.context["form"].errors) - self.assertEquals(response.request["PATH_INFO"], reverse("orgs.org_choose")) + self.assertEqual(response.request["PATH_INFO"], reverse("orgs.org_choose")) self.nigeria = self.create_org("nigeria", self.admin) response = self.client.get(choose_url) - self.assertEquals(response.status_code, 200) - self.assertEquals(response.request["PATH_INFO"], reverse("orgs.org_choose")) - self.assertEquals(len(response.context["orgs"]), 2) + self.assertEqual(response.status_code, 200) + self.assertEqual(response.request["PATH_INFO"], reverse("orgs.org_choose")) + self.assertEqual(len(response.context["orgs"]), 2) self.assertTrue(self.org in response.context["orgs"]) self.assertTrue(self.nigeria in response.context["orgs"]) self.assertFalse(other_org in response.context["orgs"]) self.assertFalse("org" in response.context) self.assertTrue("form" in response.context) - self.assertEquals(len(response.context["form"].fields), 2) + self.assertEqual(len(response.context["form"].fields), 2) self.assertTrue("organization" in response.context["form"].fields) self.assertTrue("loc" in response.context["form"].fields) org_choices = response.context["form"].fields["organization"].choices.queryset - self.assertEquals(len(org_choices), 2) + self.assertEqual(len(org_choices), 2) self.assertTrue(self.org in org_choices) self.assertTrue(self.nigeria in org_choices) post_data = dict(organization=self.nigeria.pk) response = self.client.post(choose_url, post_data, follow=True) self.assertTrue("org" in response.context) - self.assertEquals(self.nigeria, response.context["org"]) - self.assertEquals(response.request["PATH_INFO"], reverse("orgs.org_home")) + self.assertEqual(self.nigeria, response.context["org"]) + self.assertEqual(response.request["PATH_INFO"], reverse("orgs.org_home")) # test overriding the user home page with self.settings(SITE_USER_HOME="/example/home"): response = self.client.post(choose_url, post_data, follow=True) - self.assertEquals(response.request["PATH_INFO"], "/example/home") + self.assertEqual(response.request["PATH_INFO"], "/example/home") def test_org_home(self): home_url = reverse("orgs.org_home") @@ -791,10 +791,10 @@ def test_org_edit(self): org_backend.save() response = self.client.get(edit_url, SERVER_NAME="uganda.ureport.io") - self.assertEquals(response.status_code, 200) + self.assertEqual(response.status_code, 200) self.assertTrue(response.context["form"]) - self.assertEquals(len(response.context["form"].fields), 20) - self.assertEquals( + self.assertEqual(len(response.context["form"].fields), 20) + self.assertEqual( len( [ f @@ -805,33 +805,33 @@ def test_org_edit(self): 9, ) - self.assertEquals(response.context["form"].initial["name"], "uganda") - self.assertEquals(response.context["object"], self.org) - self.assertEquals(response.context["object"], response.context["org"]) - self.assertEquals(response.context["object"].subdomain, "uganda") + self.assertEqual(response.context["form"].initial["name"], "uganda") + self.assertEqual(response.context["object"], self.org) + self.assertEqual(response.context["object"], response.context["org"]) + self.assertEqual(response.context["object"].subdomain, "uganda") post_data = dict() response = self.client.post(edit_url, post_data, SERVER_NAME="uganda.ureport.io") self.assertTrue(response.context["form"]) errors = response.context["form"].errors - self.assertEquals(len(errors.keys()), 2) + self.assertEqual(len(errors.keys()), 2) self.assertTrue("name" in errors) self.assertTrue("common.shortcode" in errors) - self.assertEquals(errors["name"][0], "This field is required.") - self.assertEquals(errors["common.shortcode"][0], "This field is required.") + self.assertEqual(errors["name"][0], "This field is required.") + self.assertEqual(errors["common.shortcode"][0], "This field is required.") post_data = dict(name="Rwanda") post_data["common.shortcode"] = "224433" response = self.client.post(edit_url, post_data, SERVER_NAME="uganda.ureport.io") - self.assertEquals(response.status_code, 302) + self.assertEqual(response.status_code, 302) response = self.client.post(edit_url, post_data, follow=True, SERVER_NAME="uganda.ureport.io") self.assertFalse("form" in response.context) org = Org.objects.get(pk=self.org.pk) - self.assertEquals(org.name, "Rwanda") - self.assertEquals(org.get_config("shortcode"), "224433") + self.assertEqual(org.name, "Rwanda") + self.assertEqual(org.get_config("shortcode"), "224433") org.set_config("rapidpro.reporter_group", "reporters") @@ -841,18 +841,18 @@ def test_org_edit(self): response = self.client.post(edit_url, post_data, follow=True, SERVER_NAME="uganda.ureport.io") self.assertFalse("form" in response.context) org = Org.objects.get(pk=self.org.pk) - self.assertEquals(org.name, "Rwanda") - self.assertEquals(org.get_config("shortcode"), "224433") - self.assertEquals(org.get_config("rapidpro.reporter_group"), "reporters") + self.assertEqual(org.name, "Rwanda") + self.assertEqual(org.get_config("shortcode"), "224433") + self.assertEqual(org.get_config("rapidpro.reporter_group"), "reporters") - self.assertEquals(response.request["PATH_INFO"], reverse("orgs.org_home")) + self.assertEqual(response.request["PATH_INFO"], reverse("orgs.org_home")) response = self.client.get(edit_url, SERVER_NAME="uganda.ureport.io") - self.assertEquals(response.status_code, 200) + self.assertEqual(response.status_code, 200) form = response.context["form"] - self.assertEquals(form.initial["common.shortcode"], "224433") - self.assertEquals(form.initial["name"], "Rwanda") - self.assertEquals(form.initial["rapidpro.reporter_group"], "reporters") + self.assertEqual(form.initial["common.shortcode"], "224433") + self.assertEqual(form.initial["name"], "Rwanda") + self.assertEqual(form.initial["rapidpro.reporter_group"], "reporters") self.assertTrue("rapidpro.reporter_group" in response.context["view"].fields) # remove rapidpro config then hide its config fields @@ -860,10 +860,10 @@ def test_org_edit(self): org_backend.save() response = self.client.get(edit_url, SERVER_NAME="uganda.ureport.io") - self.assertEquals(response.status_code, 200) + self.assertEqual(response.status_code, 200) self.assertTrue(response.context["form"]) - self.assertEquals(len(response.context["form"].fields), 11) - self.assertEquals( + self.assertEqual(len(response.context["form"].fields), 11) + self.assertEqual( len( [ f @@ -878,16 +878,16 @@ def test_org_chooser(self): chooser_url = reverse("orgs.org_chooser") response = self.client.get(chooser_url) - self.assertEquals(response.status_code, 200) - self.assertEquals(len(response.context["orgs"]), 1) + self.assertEqual(response.status_code, 200) + self.assertEqual(len(response.context["orgs"]), 1) self.assertTrue(self.org in response.context["orgs"]) - self.assertEquals(response.context["orgs"][0].host, "http://uganda.ureport.io") + self.assertEqual(response.context["orgs"][0].host, "http://uganda.ureport.io") self.org2 = self.create_org("nigeria", self.admin) response = self.client.get(chooser_url) - self.assertEquals(response.status_code, 200) - self.assertEquals(len(response.context["orgs"]), 2) + self.assertEqual(response.status_code, 200) + self.assertEqual(len(response.context["orgs"]), 2) self.assertTrue(self.org in response.context["orgs"]) self.assertTrue(self.org2 in response.context["orgs"]) @@ -895,8 +895,8 @@ def test_org_chooser(self): self.org2.save() response = self.client.get(chooser_url) - self.assertEquals(response.status_code, 200) - self.assertEquals(len(response.context["orgs"]), 1) + self.assertEqual(response.status_code, 200) + self.assertEqual(len(response.context["orgs"]), 1) self.assertTrue(self.org in response.context["orgs"]) self.assertFalse(self.org2 in response.context["orgs"]) @@ -912,7 +912,7 @@ def test_invitation_model(self): org=self.org, user_group="E", email="eric@gmail.com", created_by=self.admin, modified_by=self.admin ) - self.assertEquals(second_invitation.secret, "A" * 64) + self.assertEqual(second_invitation.secret, "A" * 64) invitation.email = None self.assertIsNone(invitation.send_email()) @@ -932,11 +932,11 @@ def test_manage_accounts(self): response = self.client.get(manage_accounts_url, SERVER_NAME="uganda.ureport.io") - self.assertEquals(200, response.status_code) + self.assertEqual(200, response.status_code) # we have 12 fields in the form including 9 checkboxes for the three users, # an emails field a user group field and 'loc' field. - self.assertEquals(9, len(response.context["form"].fields)) + self.assertEqual(9, len(response.context["form"].fields)) self.assertTrue("emails" in response.context["form"].fields) self.assertTrue("user_group" in response.context["form"].fields) for user in [self.editor, self.user, self.admin]: @@ -944,7 +944,7 @@ def test_manage_accounts(self): self.assertTrue("editors_%d" % user.pk in response.context["form"].fields) self.assertFalse(response.context["form"].fields["emails"].initial) - self.assertEquals("E", response.context["form"].fields["user_group"].initial) + self.assertEqual("E", response.context["form"].fields["user_group"].initial) post_data = dict() @@ -958,20 +958,20 @@ def test_manage_accounts(self): post_data["user_group"] = "E" response = self.client.post(manage_accounts_url, post_data, SERVER_NAME="uganda.ureport.io") - self.assertEquals(302, response.status_code) + self.assertEqual(302, response.status_code) org = Org.objects.get(pk=self.org.pk) - self.assertEquals(org.administrators.all().count(), 3) + self.assertEqual(org.administrators.all().count(), 3) self.assertFalse(org.viewers.all()) self.assertTrue(org.editors.all()) - self.assertEquals(org.editors.all()[0].pk, self.editor.pk) + self.assertEqual(org.editors.all()[0].pk, self.editor.pk) # add to post_data an email to invite as admin post_data["emails"] = "norkans7gmail.com" post_data["user_group"] = "A" response = self.client.post(manage_accounts_url, post_data, SERVER_NAME="uganda.ureport.io") self.assertTrue("emails" in response.context["form"].errors) - self.assertEquals("One of the emails you entered is invalid.", response.context["form"].errors["emails"][0]) + self.assertEqual("One of the emails you entered is invalid.", response.context["form"].errors["emails"][0]) # now post with right email post_data["emails"] = "norkans7@gmail.com" @@ -979,14 +979,14 @@ def test_manage_accounts(self): response = self.client.post(manage_accounts_url, post_data, SERVER_NAME="uganda.ureport.io") # an invitation is created and sent by email - self.assertEquals(1, Invitation.objects.all().count()) + self.assertEqual(1, Invitation.objects.all().count()) self.assertTrue(len(mail.outbox) == 1) invitation = Invitation.objects.get() - self.assertEquals(invitation.org, self.org) - self.assertEquals(invitation.email, "norkans7@gmail.com") - self.assertEquals(invitation.user_group, "A") + self.assertEqual(invitation.org, self.org) + self.assertEqual(invitation.email, "norkans7@gmail.com") + self.assertEqual(invitation.user_group, "A") # pretend our invite was acted on Invitation.objects.all().update(is_active=False) @@ -998,10 +998,10 @@ def test_manage_accounts(self): # old invite should be updated new_invite = Invitation.objects.all().first() - self.assertEquals(1, Invitation.objects.all().count()) - self.assertEquals(invitation.pk, new_invite.pk) - self.assertEquals("E", new_invite.user_group) - self.assertEquals(2, len(mail.outbox)) + self.assertEqual(1, Invitation.objects.all().count()) + self.assertEqual(invitation.pk, new_invite.pk) + self.assertEqual("E", new_invite.user_group) + self.assertEqual(2, len(mail.outbox)) self.assertTrue(new_invite.is_active) # post many emails to the form @@ -1010,8 +1010,8 @@ def test_manage_accounts(self): self.client.post(manage_accounts_url, post_data, SERVER_NAME="uganda.ureport.io") # now 2 new invitations are created and sent - self.assertEquals(3, Invitation.objects.all().count()) - self.assertEquals(4, len(mail.outbox)) + self.assertEqual(3, Invitation.objects.all().count()) + self.assertEqual(4, len(mail.outbox)) def test_join(self): editor_invitation = Invitation.objects.create( @@ -1024,9 +1024,9 @@ def test_join(self): # if no user is logged we redirect to the create_login page response = self.client.get(editor_join_url, SERVER_NAME="uganda.ureport.io") - self.assertEquals(302, response.status_code) + self.assertEqual(302, response.status_code) response = self.client.get(editor_join_url, follow=True, SERVER_NAME="uganda.ureport.io") - self.assertEquals( + self.assertEqual( response.request["PATH_INFO"], reverse("orgs.org_create_login", args=[editor_invitation.secret]) ) @@ -1038,26 +1038,26 @@ def test_join(self): mock.return_value = None response = self.client.get(editor_join_url, follow=True, SERVER_NAME="kenya.ureport.io") - self.assertEquals(response.request["PATH_INFO"], "/") + self.assertEqual(response.request["PATH_INFO"], "/") response = self.client.get(editor_join_url, SERVER_NAME="kenya.ureport.io") - self.assertEquals(302, response.status_code) + self.assertEqual(302, response.status_code) response = self.client.get(editor_join_url, follow=True, SERVER_NAME="kenya.ureport.io") - self.assertEquals(200, response.status_code) - self.assertEquals(response.wsgi_request.org, self.org) - self.assertEquals(response.request["PATH_INFO"], editor_join_url) + self.assertEqual(200, response.status_code) + self.assertEqual(response.wsgi_request.org, self.org) + self.assertEqual(response.request["PATH_INFO"], editor_join_url) response = self.client.get(editor_join_url, SERVER_NAME="uganda.ureport.io") - self.assertEquals(200, response.status_code) + self.assertEqual(200, response.status_code) - self.assertEquals(self.org.pk, response.context["org"].pk) + self.assertEqual(self.org.pk, response.context["org"].pk) # we have a form without field except one 'loc' - self.assertEquals(1, len(response.context["form"].fields)) + self.assertEqual(1, len(response.context["form"].fields)) post_data = dict() response = self.client.post(editor_join_url, post_data, follow=True, SERVER_NAME="uganda.ureport.io") - self.assertEquals(200, response.status_code) + self.assertEqual(200, response.status_code) self.assertTrue(self.invited_editor in self.org.editors.all()) self.assertFalse(Invitation.objects.get(pk=editor_invitation.pk).is_active) @@ -1070,7 +1070,7 @@ def test_join(self): join_url = reverse("orgs.org_join", args=[invitation.secret]) post_data = dict() response = self.client.post(join_url, post_data, follow=True, SERVER_NAME="uganda.ureport.io") - self.assertEquals(response.request["PATH_INFO"], "/example/home") + self.assertEqual(response.request["PATH_INFO"], "/example/home") def test_create_login(self): admin_invitation = Invitation.objects.create( @@ -1086,23 +1086,23 @@ def test_create_login(self): mock.return_value = None response = self.client.get(admin_create_login_url, follow=True, SERVER_NAME="kenya.ureport.io") - self.assertEquals(response.request["PATH_INFO"], "/") + self.assertEqual(response.request["PATH_INFO"], "/") response = self.client.get(admin_create_login_url, SERVER_NAME="kenya.ureport.io") - self.assertEquals(302, response.status_code) + self.assertEqual(302, response.status_code) response = self.client.get(admin_create_login_url, follow=True, SERVER_NAME="kenya.ureport.io") - self.assertEquals(200, response.status_code) - self.assertEquals(response.wsgi_request.org, self.org) - self.assertEquals(response.request["PATH_INFO"], admin_create_login_url) + self.assertEqual(200, response.status_code) + self.assertEqual(response.wsgi_request.org, self.org) + self.assertEqual(response.request["PATH_INFO"], admin_create_login_url) response = self.client.get(admin_create_login_url, SERVER_NAME="uganda.ureport.io") - self.assertEquals(200, response.status_code) + self.assertEqual(200, response.status_code) - self.assertEquals(self.org.pk, response.context["org"].pk) + self.assertEqual(self.org.pk, response.context["org"].pk) # we have a form with 4 fields and one hidden 'loc' - self.assertEquals(5, len(response.context["form"].fields)) + self.assertEqual(5, len(response.context["form"].fields)) self.assertTrue("first_name" in response.context["form"].fields) self.assertTrue("last_name" in response.context["form"].fields) self.assertTrue("email" in response.context["form"].fields) @@ -1115,7 +1115,7 @@ def test_create_login(self): post_data["password"] = "norbert" response = self.client.post(admin_create_login_url, post_data, SERVER_NAME="uganda.ureport.io") - self.assertEquals(200, response.status_code) + self.assertEqual(200, response.status_code) self.assertTrue("form" in response.context) self.assertTrue(response.context["form"].errors) self.assertFalse(User.objects.filter(email="norkans7@gmail.com")) @@ -1128,7 +1128,7 @@ def test_create_login(self): post_data["password"] = "norbertkwizeranorbert" response = self.client.post(admin_create_login_url, post_data, follow=True, SERVER_NAME="uganda.ureport.io") - self.assertEquals(200, response.status_code) + self.assertEqual(200, response.status_code) new_invited_user = User.objects.get(email="norkans7@gmail.com") self.assertTrue(new_invited_user in self.org.administrators.all()) @@ -1146,7 +1146,7 @@ def test_create_login(self): post_data["password"] = "norbertkwizeranorbert" response = self.client.post(viewer_create_login_url, post_data, SERVER_NAME="uganda.ureport.io") - self.assertEquals(200, response.status_code) + self.assertEqual(200, response.status_code) self.assertTrue("form" in response.context) self.assertTrue(response.context["form"].errors) self.assertTrue(User.objects.filter(email="norkans7@gmail.com")) @@ -1154,19 +1154,17 @@ def test_create_login(self): self.assertTrue(Invitation.objects.get(pk=viewer_invitation.pk).is_active) def test_dashorgs_templatetags(self): - self.assertEquals(display_time("2014-11-04T15:11:34Z", self.org), "Nov 04, 2014 15:11") + self.assertEqual(display_time("2014-11-04T15:11:34Z", self.org), "Nov 04, 2014 15:11") - self.org.timezone = pytz.timezone("Africa/Kigali") + self.org.timezone = zoneinfo.ZoneInfo("Africa/Kigali") self.org.save() - self.assertEquals(display_time("2014-11-04T15:11:34Z", self.org), "Nov 04, 2014 17:11") + self.assertEqual(display_time("2014-11-04T15:11:34Z", self.org), "Nov 04, 2014 17:11") - self.assertEquals( - display_time("2014-11-04T15:11:34Z", self.org, "%A, %B %d, %Y"), "Tuesday, November 04, 2014" - ) + self.assertEqual(display_time("2014-11-04T15:11:34Z", self.org, "%A, %B %d, %Y"), "Tuesday, November 04, 2014") - self.assertEquals(national_phone("+250788505050"), "0788 505 050") - self.assertEquals(national_phone("250788505050"), "250788505050") - self.assertEquals(national_phone("+93700325998"), "070 032 5998") + self.assertEqual(national_phone("+250788505050"), "0788 505 050") + self.assertEqual(national_phone("250788505050"), "250788505050") + self.assertEqual(national_phone("+93700325998"), "070 032 5998") class OrgBackgroundTest(DashTest): @@ -1184,42 +1182,42 @@ def test_org_background(self): self.login(self.admin) response = self.client.get(create_url, SERVER_NAME="uganda.ureport.io") - self.assertEquals(response.status_code, 200) - self.assertEquals(len(response.context["form"].fields), 4) + self.assertEqual(response.status_code, 200) + self.assertEqual(len(response.context["form"].fields), 4) self.assertTrue("org" not in response.context["form"].fields) upload = open("%s/image.jpg" % settings.TESTFILES_DIR, "rb") post_data = dict(name="Orange Pattern", background_type="P", image=upload) response = self.client.post(create_url, post_data, follow=True, SERVER_NAME="uganda.ureport.io") - self.assertEquals(response.status_code, 200) + self.assertEqual(response.status_code, 200) uganda_org_bg = OrgBackground.objects.order_by("-pk")[0] - self.assertEquals(uganda_org_bg.org, self.uganda) - self.assertEquals(uganda_org_bg.name, "Orange Pattern") + self.assertEqual(uganda_org_bg.org, self.uganda) + self.assertEqual(uganda_org_bg.name, "Orange Pattern") response = self.client.get(create_url, SERVER_NAME="nigeria.ureport.io") - self.assertEquals(response.status_code, 200) - self.assertEquals(len(response.context["form"].fields), 4) + self.assertEqual(response.status_code, 200) + self.assertEqual(len(response.context["form"].fields), 4) self.assertTrue("org" not in response.context["form"].fields) upload = open("%s/image.jpg" % settings.TESTFILES_DIR, "rb") post_data = dict(name="Orange Pattern", background_type="P", image=upload) response = self.client.post(create_url, post_data, follow=True, SERVER_NAME="nigeria.ureport.io") - self.assertEquals(response.status_code, 200) + self.assertEqual(response.status_code, 200) nigeria_org_bg = OrgBackground.objects.order_by("-pk")[0] - self.assertEquals(nigeria_org_bg.org, self.nigeria) - self.assertEquals(nigeria_org_bg.name, "Orange Pattern") + self.assertEqual(nigeria_org_bg.org, self.nigeria) + self.assertEqual(nigeria_org_bg.name, "Orange Pattern") list_url = reverse("orgs.orgbackground_list") response = self.client.get(list_url, SERVER_NAME="uganda.ureport.io") - self.assertEquals(len(response.context["object_list"]), 1) - self.assertEquals(response.context["object_list"][0], uganda_org_bg) + self.assertEqual(len(response.context["object_list"]), 1) + self.assertEqual(response.context["object_list"][0], uganda_org_bg) response = self.client.get(list_url, SERVER_NAME="nigeria.ureport.io") - self.assertEquals(len(response.context["object_list"]), 1) - self.assertEquals(response.context["object_list"][0], nigeria_org_bg) + self.assertEqual(len(response.context["object_list"]), 1) + self.assertEqual(response.context["object_list"][0], nigeria_org_bg) uganda_bg_update_url = reverse("orgs.orgbackground_update", args=[uganda_org_bg.pk]) nigeria_bg_update_url = reverse("orgs.orgbackground_update", args=[nigeria_org_bg.pk]) @@ -1231,21 +1229,21 @@ def test_org_background(self): self.assertLoginRedirect(response) response = self.client.get(uganda_bg_update_url, follow=True, SERVER_NAME="uganda.ureport.io") - self.assertEquals(response.request["PATH_INFO"], uganda_bg_update_url) - self.assertEquals(len(response.context["form"].fields), 5) + self.assertEqual(response.request["PATH_INFO"], uganda_bg_update_url) + self.assertEqual(len(response.context["form"].fields), 5) self.assertTrue("org" not in response.context["form"].fields) upload = open("%s/image.jpg" % settings.TESTFILES_DIR, "rb") post_data = dict(name="Orange Pattern Updated", background_type="P", image=upload) response = self.client.post(uganda_bg_update_url, post_data, follow=True, SERVER_NAME="uganda.ureport.io") - self.assertEquals(response.request["PATH_INFO"], list_url) - self.assertEquals(len(response.context["object_list"]), 1) - self.assertEquals(response.context["object_list"][0].name, "Orange Pattern Updated") + self.assertEqual(response.request["PATH_INFO"], list_url) + self.assertEqual(len(response.context["object_list"]), 1) + self.assertEqual(response.context["object_list"][0].name, "Orange Pattern Updated") self.login(self.superuser) response = self.client.get(create_url, SERVER_NAME="uganda.ureport.io") - self.assertEquals(response.status_code, 200) - self.assertEquals(len(response.context["form"].fields), 5) + self.assertEqual(response.status_code, 200) + self.assertEqual(len(response.context["form"].fields), 5) self.assertTrue("org" in response.context["form"].fields) upload = open("%s/image.jpg" % settings.TESTFILES_DIR, "rb") @@ -1262,14 +1260,14 @@ def test_org_background(self): response = self.client.post(create_url, post_data, follow=True, SERVER_NAME="uganda.ureport.io") self.assertTrue("form" not in response.context) blue_bg = OrgBackground.objects.get(name="Blue Pattern") - self.assertEquals(blue_bg.org, self.uganda) + self.assertEqual(blue_bg.org, self.uganda) response = self.client.get(list_url, SERVER_NAME="uganda.ureport.io") - self.assertEquals(len(response.context["object_list"]), OrgBackground.objects.count()) + self.assertEqual(len(response.context["object_list"]), OrgBackground.objects.count()) response = self.client.get(nigeria_bg_update_url, SERVER_NAME="nigeria.ureport.io") - self.assertEquals(response.request["PATH_INFO"], nigeria_bg_update_url) - self.assertEquals(len(response.context["form"].fields), 5) + self.assertEqual(response.request["PATH_INFO"], nigeria_bg_update_url) + self.assertEqual(len(response.context["form"].fields), 5) self.clear_uploads() @@ -1438,12 +1436,12 @@ def test_list(self): self.login(self.superuser) response = self.client.get(url) - self.assertEquals(response.status_code, 200) - self.assertEquals(list(response.context["object_list"]), [task1, task2]) + self.assertEqual(response.status_code, 200) + self.assertEqual(list(response.context["object_list"]), [task1, task2]) response = self.client.get(url + "?failing=1") - self.assertEquals(response.status_code, 200) - self.assertEquals(list(response.context["object_list"]), [task2]) + self.assertEqual(response.status_code, 200) + self.assertEqual(list(response.context["object_list"]), [task2]) class CategoryTest(DashTest): @@ -1461,21 +1459,21 @@ def test_category_model(self): modified_by=self.admin, ) - self.assertEquals(force_str(category1), "uganda - category 1") - self.assertEquals(category1.get_label_from_instance(), "uganda - category 1") + self.assertEqual(force_str(category1), "uganda - category 1") + self.assertEqual(category1.get_label_from_instance(), "uganda - category 1") category2 = Category.objects.create( name="Освіта", org=self.uganda, image="categories/image.jpg", created_by=self.admin, modified_by=self.admin ) label = category2.get_label_from_instance() - self.assertEquals(label, "uganda - Освіта") + self.assertEqual(label, "uganda - Освіта") Category.objects.filter(pk=category2.pk).update(is_active=False) category2 = Category.objects.filter(pk=category2.pk).first() label = category2.get_label_from_instance() - self.assertEquals(label, "uganda - Освіта (Inactive)") + self.assertEqual(label, "uganda - Освіта (Inactive)") with self.assertRaises(IntegrityError): Category.objects.create(name="category 1", org=self.uganda, created_by=self.admin, modified_by=self.admin) @@ -1491,7 +1489,7 @@ def test_category_get_first_image(self): category=category1, name="image 1", image=None, created_by=self.admin, modified_by=self.admin ) - self.assertEquals(force_str(category_image1), "category 1 - image 1") + self.assertEqual(force_str(category_image1), "category 1 - image 1") self.assertIsNone(category1.get_first_image()) category_image1.image = "categories/image.jpg" @@ -1504,7 +1502,7 @@ def test_category_get_first_image(self): category_image1.save() self.assertTrue(category1.get_first_image()) - self.assertEquals(category1.get_first_image(), category_image1.image) + self.assertEqual(category1.get_first_image(), category_image1.image) def test_create_category(self): create_url = reverse("categories.category_create") @@ -1514,8 +1512,8 @@ def test_create_category(self): self.login(self.admin) response = self.client.get(create_url, SERVER_NAME="uganda.ureport.io") - self.assertEquals(response.status_code, 200) - self.assertEquals(len(response.context["form"].fields), 2) + self.assertEqual(response.status_code, 200) + self.assertEqual(len(response.context["form"].fields), 2) self.assertTrue("org" not in response.context["form"].fields) post_data = dict() @@ -1526,24 +1524,24 @@ def test_create_category(self): post_data = dict(name="Health") response = self.client.post(create_url, post_data, follow=True, SERVER_NAME="uganda.ureport.io") category = Category.objects.order_by("-pk")[0] - self.assertEquals(response.status_code, 200) - self.assertEquals(response.request["PATH_INFO"], reverse("categories.category_list")) - self.assertEquals(category.name, "Health") - self.assertEquals(category.org, self.uganda) + self.assertEqual(response.status_code, 200) + self.assertEqual(response.request["PATH_INFO"], reverse("categories.category_list")) + self.assertEqual(category.name, "Health") + self.assertEqual(category.org, self.uganda) self.login(self.superuser) response = self.client.get(create_url, SERVER_NAME="uganda.ureport.io") - self.assertEquals(response.status_code, 200) - self.assertEquals(len(response.context["form"].fields), 3) + self.assertEqual(response.status_code, 200) + self.assertEqual(len(response.context["form"].fields), 3) self.assertTrue("org" in response.context["form"].fields) post_data = dict(name="Education", org=self.uganda.pk) response = self.client.post(create_url, post_data, follow=True, SERVER_NAME="uganda.ureport.io") category = Category.objects.order_by("-pk")[0] - self.assertEquals(response.status_code, 200) - self.assertEquals(response.request["PATH_INFO"], reverse("categories.category_list")) - self.assertEquals(category.name, "Education") - self.assertEquals(category.org, self.uganda) + self.assertEqual(response.status_code, 200) + self.assertEqual(response.request["PATH_INFO"], reverse("categories.category_list")) + self.assertEqual(category.name, "Education") + self.assertEqual(category.org, self.uganda) def test_list_category(self): uganda_health = Category.objects.create( @@ -1565,22 +1563,22 @@ def test_list_category(self): self.login(self.admin) response = self.client.get(list_url, SERVER_NAME="uganda.ureport.io") - self.assertEquals(len(response.context["object_list"]), 2) + self.assertEqual(len(response.context["object_list"]), 2) self.assertTrue(nigeria_health not in response.context["object_list"]) self.assertTrue(uganda_health in response.context["object_list"]) self.assertTrue(uganda_education in response.context["object_list"]) response = self.client.get(list_url, SERVER_NAME="nigeria.ureport.io") - self.assertEquals(len(response.context["object_list"]), 1) + self.assertEqual(len(response.context["object_list"]), 1) self.assertTrue(uganda_health not in response.context["object_list"]) self.assertTrue(uganda_education not in response.context["object_list"]) self.assertTrue(nigeria_health in response.context["object_list"]) - self.assertEquals(len(response.context["fields"]), 3) + self.assertEqual(len(response.context["fields"]), 3) self.login(self.superuser) response = self.client.get(list_url, SERVER_NAME="uganda.ureport.io") - self.assertEquals(len(response.context["fields"]), 4) - self.assertEquals(len(response.context["object_list"]), 2) + self.assertEqual(len(response.context["fields"]), 4) + self.assertEqual(len(response.context["object_list"]), 2) self.assertTrue(uganda_health in response.context["object_list"]) self.assertTrue(uganda_education in response.context["object_list"]) self.assertTrue(nigeria_health not in response.context["object_list"]) @@ -1609,14 +1607,14 @@ def test_category_update(self): self.assertLoginRedirect(response) response = self.client.get(uganda_update_url, SERVER_NAME="uganda.ureport.io") - self.assertEquals(response.status_code, 200) - self.assertEquals(len(response.context["form"].fields), 3) + self.assertEqual(response.status_code, 200) + self.assertEqual(len(response.context["form"].fields), 3) post_data = dict(name="Sanitation", is_active=True) response = self.client.post(uganda_update_url, post_data, follow=True, SERVER_NAME="uganda.ureport.io") - self.assertEquals(response.request["PATH_INFO"], reverse("categories.category_list")) + self.assertEqual(response.request["PATH_INFO"], reverse("categories.category_list")) category = Category.objects.get(pk=uganda_health.pk) - self.assertEquals(category.name, "Sanitation") + self.assertEqual(category.name, "Sanitation") def test_create_category_image(self): uganda_health = Category.objects.create( @@ -1634,33 +1632,33 @@ def test_create_category_image(self): self.login(self.admin) response = self.client.get(create_url, SERVER_NAME="nigeria.ureport.io") - self.assertEquals(response.status_code, 200) - self.assertEquals(len(response.context["form"].fields), 4) - self.assertEquals(response.context["form"].fields["category"].choices.queryset.count(), 1) + self.assertEqual(response.status_code, 200) + self.assertEqual(len(response.context["form"].fields), 4) + self.assertEqual(response.context["form"].fields["category"].choices.queryset.count(), 1) self.assertIsInstance(response.context["form"].fields["category"].choices.field, CategoryChoiceField) - self.assertEquals(nigeria_health, response.context["form"].fields["category"].choices.queryset[0]) + self.assertEqual(nigeria_health, response.context["form"].fields["category"].choices.queryset[0]) response = self.client.get(create_url, SERVER_NAME="uganda.ureport.io") - self.assertEquals(response.status_code, 200) - self.assertEquals(len(response.context["form"].fields), 4) - self.assertEquals(response.context["form"].fields["category"].choices.queryset.count(), 1) - self.assertEquals(uganda_health, response.context["form"].fields["category"].choices.queryset[0]) + self.assertEqual(response.status_code, 200) + self.assertEqual(len(response.context["form"].fields), 4) + self.assertEqual(response.context["form"].fields["category"].choices.queryset.count(), 1) + self.assertEqual(uganda_health, response.context["form"].fields["category"].choices.queryset[0]) upload = open("%s/image.jpg" % settings.TESTFILES_DIR, "rb") post_data = dict(name="health hero", image=upload, category=uganda_health.pk) response = self.client.post(create_url, post_data, follow=True, SERVER_NAME="uganda.ureport.io") cat_image = CategoryImage.objects.order_by("-pk")[0] - self.assertEquals(cat_image.name, "health hero") - self.assertEquals(cat_image.category, uganda_health) + self.assertEqual(cat_image.name, "health hero") + self.assertEqual(cat_image.category, uganda_health) list_url = reverse("categories.categoryimage_list") response = self.client.get(list_url, SERVER_NAME="uganda.ureport.io") - self.assertEquals(len(response.context["object_list"]), 1) + self.assertEqual(len(response.context["object_list"]), 1) self.assertTrue(cat_image in response.context["object_list"]) response = self.client.get(list_url, SERVER_NAME="nigeria.ureport.io") - self.assertEquals(len(response.context["object_list"]), 0) + self.assertEqual(len(response.context["object_list"]), 0) self.assertTrue(cat_image not in response.context["object_list"]) update_url = reverse("categories.categoryimage_update", args=[cat_image.pk]) @@ -1669,27 +1667,27 @@ def test_create_category_image(self): self.assertLoginRedirect(response) response = self.client.get(update_url, SERVER_NAME="uganda.ureport.io") - self.assertEquals(len(response.context["form"].fields), 5) + self.assertEqual(len(response.context["form"].fields), 5) upload = open("%s/image.jpg" % settings.TESTFILES_DIR, "rb") post_data = dict(name="health image", image=upload, category=uganda_health.pk, is_active=True) response = self.client.post(update_url, post_data, follow=True, SERVER_NAME="uganda.ureport.io") - self.assertEquals(response.request["PATH_INFO"], reverse("categories.categoryimage_list")) + self.assertEqual(response.request["PATH_INFO"], reverse("categories.categoryimage_list")) cat_image = CategoryImage.objects.filter(pk=cat_image.pk)[0] - self.assertEquals(cat_image.name, "health image") + self.assertEqual(cat_image.name, "health image") nigeria_law = Category.objects.create( name="Law", org=self.nigeria, is_active=False, created_by=self.admin, modified_by=self.admin ) response = self.client.get(create_url, SERVER_NAME="nigeria.ureport.io") - self.assertEquals(response.status_code, 200) - self.assertEquals(len(response.context["form"].fields), 4) - self.assertEquals(response.context["form"].fields["category"].choices.queryset.count(), 2) + self.assertEqual(response.status_code, 200) + self.assertEqual(len(response.context["form"].fields), 4) + self.assertEqual(response.context["form"].fields["category"].choices.queryset.count(), 2) self.assertIsInstance(response.context["form"].fields["category"].choices.field, CategoryChoiceField) - self.assertEquals(nigeria_health, response.context["form"].fields["category"].choices.queryset[0]) - self.assertEquals(nigeria_law, response.context["form"].fields["category"].choices.queryset[1]) - self.assertEquals( + self.assertEqual(nigeria_health, response.context["form"].fields["category"].choices.queryset[0]) + self.assertEqual(nigeria_law, response.context["form"].fields["category"].choices.queryset[1]) + self.assertEqual( list(response.context["form"].fields["category"].choices), [("", "---------"), (nigeria_health.pk, "nigeria - Health"), (nigeria_law.pk, "nigeria - Law (Inactive)")], ) @@ -1723,22 +1721,22 @@ def test_story_model(self): title="Story 1", content="content " * 20, org=self.uganda, created_by=self.admin, modified_by=self.admin ) - self.assertEquals(self.story.teaser(self.story.summary, 30), "") - self.assertEquals(self.story.teaser(self.story.content, 30), self.story.content) + self.assertEqual(self.story.teaser(self.story.summary, 30), "") + self.assertEqual(self.story.teaser(self.story.content, 30), self.story.content) self.story.content = "content " * 250 self.story.save() - self.assertEquals(self.story.teaser(self.story.summary, 30), "") - self.assertEquals(self.story.teaser(self.story.content, 30), "content " * 30 + "..") - self.assertEquals(self.story.long_teaser(), "content " * 100 + "..") - self.assertEquals(self.story.short_teaser(), "content " * 40 + "..") + self.assertEqual(self.story.teaser(self.story.summary, 30), "") + self.assertEqual(self.story.teaser(self.story.content, 30), "content " * 30 + "..") + self.assertEqual(self.story.long_teaser(), "content " * 100 + "..") + self.assertEqual(self.story.short_teaser(), "content " * 40 + "..") self.story.summary = "summary " * 150 self.story.save() - self.assertEquals(self.story.long_teaser(), "summary " * 100 + "..") - self.assertEquals(self.story.short_teaser(), "summary " * 40 + "..") + self.assertEqual(self.story.long_teaser(), "summary " * 100 + "..") + self.assertEqual(self.story.short_teaser(), "summary " * 40 + "..") self.assertIsNone(self.story.get_written_by()) @@ -1773,17 +1771,17 @@ def test_story_model(self): story_image_1.save() self.assertTrue(self.story.get_featured_images()) - self.assertEquals(len(self.story.get_featured_images()), 1) + self.assertEqual(len(self.story.get_featured_images()), 1) self.assertTrue(story_image_1 in self.story.get_featured_images()) - self.assertEquals(self.story.get_category_image(), "stories/someimage.jpg") - self.assertEquals(self.story.get_image(), "stories/someimage.jpg") + self.assertEqual(self.story.get_category_image(), "stories/someimage.jpg") + self.assertEqual(self.story.get_image(), "stories/someimage.jpg") self.story.category = self.health_uganda self.story.save() - self.assertEquals(self.story.get_category_image(), "stories/someimage.jpg") - self.assertEquals(self.story.get_image(), "stories/someimage.jpg") + self.assertEqual(self.story.get_category_image(), "stories/someimage.jpg") + self.assertEqual(self.story.get_image(), "stories/someimage.jpg") CategoryImage.objects.create( category=self.health_uganda, @@ -1793,14 +1791,14 @@ def test_story_model(self): modified_by=self.admin, ) - self.assertEquals(self.story.get_category_image(), "categories/some_image.jpg") - self.assertEquals(self.story.get_image(), "stories/someimage.jpg") + self.assertEqual(self.story.get_category_image(), "categories/some_image.jpg") + self.assertEqual(self.story.get_image(), "stories/someimage.jpg") story_image_1.is_active = False story_image_1.save() - self.assertEquals(self.story.get_category_image(), "categories/some_image.jpg") - self.assertEquals(self.story.get_image(), "categories/some_image.jpg") + self.assertEqual(self.story.get_category_image(), "categories/some_image.jpg") + self.assertEqual(self.story.get_image(), "categories/some_image.jpg") self.health_uganda.is_active = False self.health_uganda.save() @@ -1850,36 +1848,36 @@ def test_upload_attachment(self): response = self.client.post(create_url, post_data, follow=True, SERVER_NAME="uganda.ureport.io") story = Story.objects.get() - self.assertEquals(response.request["PATH_INFO"], reverse("stories.story_images", args=[story.pk])) - self.assertEquals(story.title, "foo") - self.assertEquals(story.content, "bar") - self.assertEquals(story.category, self.health_uganda) + self.assertEqual(response.request["PATH_INFO"], reverse("stories.story_images", args=[story.pk])) + self.assertEqual(story.title, "foo") + self.assertEqual(story.content, "bar") + self.assertEqual(story.category, self.health_uganda) self.assertTrue(story.featured) - self.assertEquals(story.summary, "baz") - self.assertEquals(story.written_by, "Content Provider") - self.assertEquals(story.audio_link, "http://example.com/foo.mp3") - self.assertEquals(story.video_id, "yt_id") - self.assertEquals(story.tags, " first second third ") + self.assertEqual(story.summary, "baz") + self.assertEqual(story.written_by, "Content Provider") + self.assertEqual(story.audio_link, "http://example.com/foo.mp3") + self.assertEqual(story.video_id, "yt_id") + self.assertEqual(story.tags, " first second third ") def test_create_story(self): create_url = reverse("stories.story_create") response = self.client.get(create_url) - self.assertEquals(response.status_code, 302) + self.assertEqual(response.status_code, 302) response = self.client.get(create_url, follow=True) - self.assertEquals(response.request["PATH_INFO"], reverse(settings.SITE_CHOOSER_URL_NAME)) + self.assertEqual(response.request["PATH_INFO"], reverse(settings.SITE_CHOOSER_URL_NAME)) self.login(self.admin) response = self.client.get(create_url) - self.assertEquals(response.status_code, 302) + self.assertEqual(response.status_code, 302) response = self.client.get(create_url, follow=True) - self.assertEquals(response.request["PATH_INFO"], reverse(settings.SITE_CHOOSER_URL_NAME)) + self.assertEqual(response.request["PATH_INFO"], reverse(settings.SITE_CHOOSER_URL_NAME)) response = self.client.get(create_url, SERVER_NAME="uganda.ureport.io") - self.assertEquals(response.status_code, 200) + self.assertEqual(response.status_code, 200) self.assertTrue("form" in response.context) fields = response.context["form"].fields - self.assertEquals(len(fields), 11) + self.assertEqual(len(fields), 11) self.assertTrue("loc" in fields) self.assertTrue("title" in fields) self.assertTrue("featured" in fields) @@ -1893,7 +1891,7 @@ def test_create_story(self): self.assertTrue("category" in fields) self.assertIsInstance(fields["category"].choices.field, CategoryChoiceField) - self.assertEquals(len(fields["category"].choices.queryset), 1) + self.assertEqual(len(fields["category"].choices.queryset), 1) response = self.client.post(create_url, dict(), SERVER_NAME="uganda.ureport.io") self.assertTrue(response.context["form"].errors) @@ -1916,28 +1914,28 @@ def test_create_story(self): response = self.client.post(create_url, post_data, follow=True, SERVER_NAME="uganda.ureport.io") story = Story.objects.get() - self.assertEquals(response.request["PATH_INFO"], reverse("stories.story_images", args=[story.pk])) - self.assertEquals(story.title, "foo") - self.assertEquals(story.content, "bar") - self.assertEquals(story.category, self.health_uganda) + self.assertEqual(response.request["PATH_INFO"], reverse("stories.story_images", args=[story.pk])) + self.assertEqual(story.title, "foo") + self.assertEqual(story.content, "bar") + self.assertEqual(story.category, self.health_uganda) self.assertTrue(story.featured) - self.assertEquals(story.summary, "baz") - self.assertEquals(story.written_by, "Content Provider") - self.assertEquals(story.audio_link, "http://example.com/foo.mp3") - self.assertEquals(story.video_id, "yt_id") - self.assertEquals(story.tags, " first second third ") + self.assertEqual(story.summary, "baz") + self.assertEqual(story.written_by, "Content Provider") + self.assertEqual(story.audio_link, "http://example.com/foo.mp3") + self.assertEqual(story.video_id, "yt_id") + self.assertEqual(story.tags, " first second third ") nigeria_law = Category.objects.create( name="Law", org=self.nigeria, is_active=False, created_by=self.admin, modified_by=self.admin ) response = self.client.get(create_url, SERVER_NAME="nigeria.ureport.io") - self.assertEquals(response.status_code, 200) - self.assertEquals(response.context["form"].fields["category"].choices.queryset.count(), 2) + self.assertEqual(response.status_code, 200) + self.assertEqual(response.context["form"].fields["category"].choices.queryset.count(), 2) self.assertIsInstance(response.context["form"].fields["category"].choices.field, CategoryChoiceField) - self.assertEquals(self.education_nigeria, response.context["form"].fields["category"].choices.queryset[0]) - self.assertEquals(nigeria_law, response.context["form"].fields["category"].choices.queryset[1]) - self.assertEquals( + self.assertEqual(self.education_nigeria, response.context["form"].fields["category"].choices.queryset[0]) + self.assertEqual(nigeria_law, response.context["form"].fields["category"].choices.queryset[1]) + self.assertEqual( list(response.context["form"].fields["category"].choices), [ ("", "---------"), @@ -1969,14 +1967,14 @@ def test_update_story(self): update_url_nigeria = reverse("stories.story_update", args=[story2.pk]) response = self.client.get(update_url_uganda) - self.assertEquals(response.status_code, 302) + self.assertEqual(response.status_code, 302) response = self.client.get(update_url_uganda, follow=True) - self.assertEquals(response.request["PATH_INFO"], reverse(settings.SITE_CHOOSER_URL_NAME)) + self.assertEqual(response.request["PATH_INFO"], reverse(settings.SITE_CHOOSER_URL_NAME)) response = self.client.get(update_url_nigeria) - self.assertEquals(response.status_code, 302) + self.assertEqual(response.status_code, 302) response = self.client.get(update_url_nigeria, follow=True) - self.assertEquals(response.request["PATH_INFO"], reverse(settings.SITE_CHOOSER_URL_NAME)) + self.assertEqual(response.request["PATH_INFO"], reverse(settings.SITE_CHOOSER_URL_NAME)) response = self.client.get(update_url_uganda, SERVER_NAME="uganda.ureport.io") self.assertLoginRedirect(response) @@ -1986,24 +1984,24 @@ def test_update_story(self): self.login(self.admin) response = self.client.get(update_url_uganda) - self.assertEquals(response.status_code, 302) + self.assertEqual(response.status_code, 302) response = self.client.get(update_url_uganda, follow=True) - self.assertEquals(response.request["PATH_INFO"], reverse(settings.SITE_CHOOSER_URL_NAME)) + self.assertEqual(response.request["PATH_INFO"], reverse(settings.SITE_CHOOSER_URL_NAME)) response = self.client.get(update_url_nigeria) - self.assertEquals(response.status_code, 302) + self.assertEqual(response.status_code, 302) response = self.client.get(update_url_nigeria, follow=True) - self.assertEquals(response.request["PATH_INFO"], reverse(settings.SITE_CHOOSER_URL_NAME)) + self.assertEqual(response.request["PATH_INFO"], reverse(settings.SITE_CHOOSER_URL_NAME)) response = self.client.get(update_url_nigeria, SERVER_NAME="uganda.ureport.io") self.assertLoginRedirect(response) response = self.client.get(update_url_uganda, SERVER_NAME="uganda.ureport.io") - self.assertEquals(response.status_code, 200) + self.assertEqual(response.status_code, 200) self.assertTrue("form" in response.context) fields = response.context["form"].fields - self.assertEquals(len(fields), 12) + self.assertEqual(len(fields), 12) self.assertTrue("loc" in fields) self.assertTrue("is_active" in fields) self.assertTrue("title" in fields) @@ -2016,7 +2014,7 @@ def test_update_story(self): self.assertTrue("video_id" in fields) self.assertTrue("tags" in fields) self.assertTrue("category" in fields) - self.assertEquals(len(fields["category"].choices.queryset), 1) + self.assertEqual(len(fields["category"].choices.queryset), 1) response = self.client.post(update_url_uganda, dict(), SERVER_NAME="uganda.ureport.io") @@ -2038,17 +2036,17 @@ def test_update_story(self): ) response = self.client.post(update_url_uganda, post_data, follow=True, SERVER_NAME="uganda.ureport.io") updated_story = Story.objects.get(pk=story1.pk) - self.assertEquals(response.request["PATH_INFO"], reverse("stories.story_list")) + self.assertEqual(response.request["PATH_INFO"], reverse("stories.story_list")) - self.assertEquals(updated_story.title, "foo updated") - self.assertEquals(updated_story.content, "bar updated") - self.assertEquals(updated_story.category, self.health_uganda) + self.assertEqual(updated_story.title, "foo updated") + self.assertEqual(updated_story.content, "bar updated") + self.assertEqual(updated_story.category, self.health_uganda) self.assertTrue(updated_story.featured) - self.assertEquals(updated_story.summary, "baz updated") - self.assertEquals(updated_story.written_by, "Trevor Noah") - self.assertEquals(updated_story.audio_link, "http://example.com/bar.mp3") - self.assertEquals(updated_story.video_id, "yt_idUpdated") - self.assertEquals(updated_story.tags, " first second third updated ") + self.assertEqual(updated_story.summary, "baz updated") + self.assertEqual(updated_story.written_by, "Trevor Noah") + self.assertEqual(updated_story.audio_link, "http://example.com/bar.mp3") + self.assertEqual(updated_story.video_id, "yt_idUpdated") + self.assertEqual(updated_story.tags, " first second third updated ") def test_list_stories(self): story1 = Story.objects.create( @@ -2072,19 +2070,19 @@ def test_list_stories(self): list_url = reverse("stories.story_list") response = self.client.get(list_url) - self.assertEquals(response.status_code, 302) + self.assertEqual(response.status_code, 302) response = self.client.get(list_url, follow=True) - self.assertEquals(response.request["PATH_INFO"], reverse(settings.SITE_CHOOSER_URL_NAME)) + self.assertEqual(response.request["PATH_INFO"], reverse(settings.SITE_CHOOSER_URL_NAME)) self.login(self.admin) response = self.client.get(list_url) - self.assertEquals(response.status_code, 302) + self.assertEqual(response.status_code, 302) response = self.client.get(list_url, follow=True) - self.assertEquals(response.request["PATH_INFO"], reverse(settings.SITE_CHOOSER_URL_NAME)) + self.assertEqual(response.request["PATH_INFO"], reverse(settings.SITE_CHOOSER_URL_NAME)) response = self.client.get(list_url, SERVER_NAME="uganda.ureport.io") - self.assertEquals(response.status_code, 200) - self.assertEquals(len(response.context["object_list"]), 1) + self.assertEqual(response.status_code, 200) + self.assertEqual(len(response.context["object_list"]), 1) self.assertIn(story1, response.context["object_list"]) self.assertNotIn(story2, response.context["object_list"]) @@ -2113,14 +2111,14 @@ def test_images_story(self): images_url_nigeria = reverse("stories.story_images", args=[story2.pk]) response = self.client.get(images_url_uganda) - self.assertEquals(response.status_code, 302) + self.assertEqual(response.status_code, 302) response = self.client.get(images_url_uganda, follow=True) - self.assertEquals(response.request["PATH_INFO"], reverse(settings.SITE_CHOOSER_URL_NAME)) + self.assertEqual(response.request["PATH_INFO"], reverse(settings.SITE_CHOOSER_URL_NAME)) response = self.client.get(images_url_nigeria) - self.assertEquals(response.status_code, 302) + self.assertEqual(response.status_code, 302) response = self.client.get(images_url_nigeria, follow=True) - self.assertEquals(response.request["PATH_INFO"], reverse(settings.SITE_CHOOSER_URL_NAME)) + self.assertEqual(response.request["PATH_INFO"], reverse(settings.SITE_CHOOSER_URL_NAME)) response = self.client.get(images_url_uganda, SERVER_NAME="uganda.ureport.io") self.assertLoginRedirect(response) @@ -2133,9 +2131,9 @@ def test_images_story(self): self.assertLoginRedirect(response) response = self.client.get(images_url_uganda, SERVER_NAME="uganda.ureport.io") - self.assertEquals(response.status_code, 200) + self.assertEqual(response.status_code, 200) self.assertTrue("form" in response.context) - self.assertEquals(len(response.context["form"].fields), 3) + self.assertEqual(len(response.context["form"].fields), 3) for field in response.context["form"].fields: self.assertFalse(response.context["form"].fields[field].initial) @@ -2145,19 +2143,19 @@ def test_images_story(self): post_data = dict(image_1=upload) response = self.client.post(images_url_uganda, post_data, follow=True, SERVER_NAME="uganda.ureport.io") self.assertTrue(StoryImage.objects.filter(story=story1)) - self.assertEquals(StoryImage.objects.filter(story=story1).count(), 1) + self.assertEqual(StoryImage.objects.filter(story=story1).count(), 1) response = self.client.get(images_url_uganda, SERVER_NAME="uganda.ureport.io") - self.assertEquals(len(response.context["form"].fields), 3) + self.assertEqual(len(response.context["form"].fields), 3) self.assertTrue(response.context["form"].fields["image_1"].initial) upload = open("%s/image.jpg" % settings.TESTFILES_DIR, "rb") post_data = dict(image_1=upload) response = self.client.post(images_url_uganda, post_data, follow=True, SERVER_NAME="uganda.ureport.io") self.assertTrue(StoryImage.objects.filter(story=story1)) - self.assertEquals(StoryImage.objects.filter(story=story1).count(), 1) + self.assertEqual(StoryImage.objects.filter(story=story1).count(), 1) - self.assertEquals(response.request["PATH_INFO"], reverse("stories.story_list")) + self.assertEqual(response.request["PATH_INFO"], reverse("stories.story_list")) self.clear_uploads() @@ -2180,25 +2178,25 @@ def test_create_dashblocktype(self): self.login(self.superuser) response = self.client.get(create_url, SERVER_NAME="uganda.ureport.io") - self.assertEquals(response.status_code, 200) + self.assertEqual(response.status_code, 200) self.assertTrue("form" in response.context) fields = response.context["form"].fields - self.assertEquals(len(fields), 13) + self.assertEqual(len(fields), 13) response = self.client.post(create_url, dict(), SERVER_NAME="uganda.ureport.io") self.assertTrue(response.context["form"].errors) errors = response.context["form"].errors - self.assertEquals(len(errors), 2) + self.assertEqual(len(errors), 2) self.assertTrue("name" in errors) self.assertTrue("slug" in errors) post_data = dict(name="Test Pages", slug="test_pages", description="foo") response = self.client.post(create_url, post_data, follow=True, SERVER_NAME="uganda.ureport.io") - self.assertEquals(response.status_code, 200) + self.assertEqual(response.status_code, 200) dashblocktype = DashBlockType.objects.get() - self.assertEquals(dashblocktype.name, "Test Pages") - self.assertEquals(dashblocktype.slug, "test_pages") - self.assertEquals(dashblocktype.description, "foo") + self.assertEqual(dashblocktype.name, "Test Pages") + self.assertEqual(dashblocktype.slug, "test_pages") + self.assertEqual(dashblocktype.description, "foo") self.assertFalse(dashblocktype.has_title) self.assertFalse(dashblocktype.has_image) self.assertFalse(dashblocktype.has_rich_text) @@ -2209,7 +2207,7 @@ def test_create_dashblocktype(self): self.assertFalse(dashblocktype.has_tags) self.assertFalse(dashblocktype.has_video) - self.assertEquals(force_str(dashblocktype), "Test Pages") + self.assertEqual(force_str(dashblocktype), "Test Pages") def test_list_dashblocktype(self): list_url = reverse("dashblocks.dashblocktype_list") @@ -2240,8 +2238,8 @@ def test_list_dashblocktype(self): self.login(self.superuser) response = self.client.get(list_url, SERVER_NAME="uganda.ureport.io") - self.assertEquals(response.status_code, 200) - self.assertEquals(len(response.context["fields"]), 3) + self.assertEqual(response.status_code, 200) + self.assertEqual(len(response.context["fields"]), 3) self.assertTrue("name" in response.context["fields"]) self.assertTrue("slug" in response.context["fields"]) self.assertTrue("description" in response.context["fields"]) @@ -2277,15 +2275,15 @@ def test_update_dashblocktype(self): self.login(self.superuser) response = self.client.get(update_url, SERVER_NAME="uganda.ureport.io") - self.assertEquals(response.status_code, 200) + self.assertEqual(response.status_code, 200) self.assertTrue("form" in response.context) fields = response.context["form"].fields - self.assertEquals(len(fields), 14) + self.assertEqual(len(fields), 14) response = self.client.post(update_url, dict(), SERVER_NAME="uganda.ureport.io") self.assertTrue(response.context["form"].errors) errors = response.context["form"].errors - self.assertEquals(len(errors), 2) + self.assertEqual(len(errors), 2) self.assertTrue("name" in errors) self.assertTrue("slug" in errors) @@ -2293,9 +2291,9 @@ def test_update_dashblocktype(self): response = self.client.post(update_url, post_data, follow=True, SERVER_NAME="uganda.ureport.io") self.assertFalse("form" in response.context) updated_dashblock_type = DashBlockType.objects.get(pk=dashblock_type.pk) - self.assertEquals(updated_dashblock_type.name, "foo") - self.assertEquals(updated_dashblock_type.slug, "bar") - self.assertEquals(updated_dashblock_type.description, "baz") + self.assertEqual(updated_dashblock_type.name, "foo") + self.assertEqual(updated_dashblock_type.slug, "bar") + self.assertEqual(updated_dashblock_type.description, "baz") self.assertTrue(updated_dashblock_type.has_rich_text) self.assertTrue(updated_dashblock_type.has_video) self.assertFalse(updated_dashblock_type.has_title) @@ -2356,7 +2354,7 @@ def test_dashblock_model(self): modified_by=self.admin, ) - self.assertEquals(force_str(dashblock1), "First") + self.assertEqual(force_str(dashblock1), "First") dashblock2 = DashBlock.objects.create( dashblock_type=self.type_bar, @@ -2367,24 +2365,24 @@ def test_dashblock_model(self): modified_by=self.admin, ) - self.assertEquals(force_str(dashblock2), "Bar - %d" % dashblock2.pk) + self.assertEqual(force_str(dashblock2), "Bar - %d" % dashblock2.pk) - self.assertEquals(dashblock1.teaser(dashblock1.content, 1), "First ...") - self.assertEquals(dashblock1.teaser(dashblock1.content, 10), "First content") + self.assertEqual(dashblock1.teaser(dashblock1.content, 1), "First ...") + self.assertEqual(dashblock1.teaser(dashblock1.content, 10), "First content") - self.assertEquals(dashblock1.long_content_teaser(), "First content") - self.assertEquals(dashblock1.short_content_teaser(), "First content") - self.assertEquals(dashblock1.long_summary_teaser(), "first summary") - self.assertEquals(dashblock1.short_summary_teaser(), "first summary") + self.assertEqual(dashblock1.long_content_teaser(), "First content") + self.assertEqual(dashblock1.short_content_teaser(), "First content") + self.assertEqual(dashblock1.long_summary_teaser(), "first summary") + self.assertEqual(dashblock1.short_summary_teaser(), "first summary") dashblock1.content = "ab " * 150 dashblock1.summary = "cd " * 120 dashblock1.save() - self.assertEquals(dashblock1.long_content_teaser(), "ab " * 100 + "...") - self.assertEquals(dashblock1.short_content_teaser(), "ab " * 40 + "...") - self.assertEquals(dashblock1.long_summary_teaser(), "cd " * 100 + "...") - self.assertEquals(dashblock1.short_summary_teaser(), "cd " * 40 + "...") + self.assertEqual(dashblock1.long_content_teaser(), "ab " * 100 + "...") + self.assertEqual(dashblock1.short_content_teaser(), "ab " * 40 + "...") + self.assertEqual(dashblock1.long_summary_teaser(), "cd " * 100 + "...") + self.assertEqual(dashblock1.short_summary_teaser(), "cd " * 40 + "...") def test_create_dashblock(self): create_url = reverse("dashblocks.dashblock_create") @@ -2394,10 +2392,10 @@ def test_create_dashblock(self): self.login(self.admin) response = self.client.get(create_url, SERVER_NAME="uganda.ureport.io") - self.assertEquals(response.status_code, 200) + self.assertEqual(response.status_code, 200) self.assertTrue("form" in response.context) fields = response.context["form"].fields - self.assertEquals(len(fields), 11) + self.assertEqual(len(fields), 11) self.assertTrue("dashblock_type" in fields) self.assertTrue("title" in fields) self.assertTrue("summary" in fields) @@ -2412,7 +2410,7 @@ def test_create_dashblock(self): self.assertFalse("gallery" in fields) self.assertFalse("org" in fields) - self.assertEquals(fields["priority"].initial, 0) + self.assertEqual(fields["priority"].initial, 0) self.assertIsNone(response.context["type"]) response = self.client.post(create_url, dict(), SERVER_NAME="uganda.ureport.io") @@ -2424,31 +2422,31 @@ def test_create_dashblock(self): response = self.client.post(create_url, post_data, follow=True, SERVER_NAME="uganda.ureport.io") dashblock = DashBlock.objects.get() - self.assertEquals(dashblock.priority, 2) - self.assertEquals(dashblock.dashblock_type, self.type_bar) - self.assertEquals(dashblock.tags, " first second four ") + self.assertEqual(dashblock.priority, 2) + self.assertEqual(dashblock.dashblock_type, self.type_bar) + self.assertEqual(dashblock.tags, " first second four ") - self.assertEquals(response.request["PATH_INFO"], reverse("dashblocks.dashblock_list")) - self.assertEquals(response.request["QUERY_STRING"], "type=%d" % self.type_bar.pk) + self.assertEqual(response.request["PATH_INFO"], reverse("dashblocks.dashblock_list")) + self.assertEqual(response.request["QUERY_STRING"], "type=%d" % self.type_bar.pk) response = self.client.get(create_url + "?type=%d" % self.type_bar.pk, SERVER_NAME="uganda.ureport.io") - self.assertEquals(response.status_code, 200) + self.assertEqual(response.status_code, 200) self.assertTrue("form" in response.context) fields = response.context["form"].fields - self.assertEquals(len(fields), 4) + self.assertEqual(len(fields), 4) self.assertTrue("tags" in fields) self.assertTrue("priority" in fields) self.assertTrue("loc" in fields) self.assertTrue("content" in fields) self.assertTrue(response.context["type"]) - self.assertEquals(response.context["type"], self.type_bar) - # self.assertEquals(fields['priority'].initial, 3) + self.assertEqual(response.context["type"], self.type_bar) + # self.assertEqual(fields['priority'].initial, 3) response = self.client.get(create_url + "?type=%d" % self.type_foo.pk, SERVER_NAME="uganda.ureport.io") - self.assertEquals(response.status_code, 200) + self.assertEqual(response.status_code, 200) self.assertTrue("form" in response.context) fields = response.context["form"].fields - self.assertEquals(len(fields), 8) + self.assertEqual(len(fields), 8) self.assertTrue("title" in fields) self.assertTrue("summary" in fields) self.assertTrue("content" in fields) @@ -2464,21 +2462,21 @@ def test_create_dashblock(self): self.assertFalse("dashblock_type" in fields) self.assertTrue(response.context["type"]) - self.assertEquals(response.context["type"], self.type_foo) + self.assertEqual(response.context["type"], self.type_foo) post_data = dict(title="kigali", content="kacyiru", tags=" Gasabo KACYIRU Umujyi ", priority=0) response = self.client.post( create_url + "?type=%d" % self.type_foo.pk, post_data, follow=True, SERVER_NAME="uganda.ureport.io" ) new_dashblock = DashBlock.objects.get(title="kigali") - self.assertEquals(new_dashblock.dashblock_type, self.type_foo) - self.assertEquals(new_dashblock.org, self.uganda) - self.assertEquals(new_dashblock.tags, " gasabo kacyiru umujyi ") - self.assertEquals(new_dashblock.title, "kigali") - self.assertEquals(new_dashblock.content, "kacyiru") + self.assertEqual(new_dashblock.dashblock_type, self.type_foo) + self.assertEqual(new_dashblock.org, self.uganda) + self.assertEqual(new_dashblock.tags, " gasabo kacyiru umujyi ") + self.assertEqual(new_dashblock.title, "kigali") + self.assertEqual(new_dashblock.content, "kacyiru") response = self.client.get(create_url + "?slug=inexistent", SERVER_NAME="uganda.ureport.io") - self.assertEquals(response.status_code, 200) + self.assertEqual(response.status_code, 200) self.assertTrue("form" in response.context) fields = response.context["form"].fields self.assertTrue("dashblock_type" in fields) @@ -2503,10 +2501,10 @@ def test_update_dashblock(self): self.login(self.admin) response = self.client.get(update_url, SERVER_NAME="uganda.ureport.io") - self.assertEquals(response.status_code, 200) + self.assertEqual(response.status_code, 200) self.assertTrue("form" in response.context) fields = response.context["form"].fields - self.assertEquals(len(fields), 9) + self.assertEqual(len(fields), 9) self.assertTrue("is_active" in fields) self.assertTrue("title" in fields) self.assertTrue("summary" in fields) @@ -2523,7 +2521,7 @@ def test_update_dashblock(self): self.assertFalse("dashblock_type" in fields) self.assertTrue(response.context["type"]) - self.assertEquals(response.context["type"], self.type_foo) + self.assertEqual(response.context["type"], self.type_foo) response = self.client.post(update_url, dict(), SERVER_NAME="uganda.ureport.io") self.assertTrue("form" in response.context) @@ -2534,21 +2532,21 @@ def test_update_dashblock(self): response = self.client.post(update_url, post_data, follow=True, SERVER_NAME="uganda.ureport.io") self.assertFalse("form" in response.context) updated_dashblock = DashBlock.objects.get(pk=dashblock1.pk) - self.assertEquals(updated_dashblock.dashblock_type, self.type_foo) - self.assertEquals(updated_dashblock.org, self.uganda) - self.assertEquals(updated_dashblock.tags, " gasabo kacyiru umujyi ") - self.assertEquals(updated_dashblock.title, "kigali") - self.assertEquals(updated_dashblock.content, "kacyiru") + self.assertEqual(updated_dashblock.dashblock_type, self.type_foo) + self.assertEqual(updated_dashblock.org, self.uganda) + self.assertEqual(updated_dashblock.tags, " gasabo kacyiru umujyi ") + self.assertEqual(updated_dashblock.title, "kigali") + self.assertEqual(updated_dashblock.content, "kacyiru") self.type_foo.has_tags = False self.type_foo.save() response = self.client.get(update_url, SERVER_NAME="uganda.ureport.io") - self.assertEquals(response.status_code, 200) + self.assertEqual(response.status_code, 200) self.assertTrue("form" in response.context) fields = response.context["form"].fields - self.assertEquals(len(fields), 8) + self.assertEqual(len(fields), 8) self.assertTrue("is_active" in fields) self.assertTrue("title" in fields) self.assertTrue("summary" in fields) @@ -2567,10 +2565,10 @@ def test_update_dashblock(self): self.login(self.superuser) response = self.client.get(update_url, SERVER_NAME="uganda.ureport.io") - self.assertEquals(response.status_code, 200) + self.assertEqual(response.status_code, 200) self.assertTrue("form" in response.context) fields = response.context["form"].fields - self.assertEquals(len(fields), 9) + self.assertEqual(len(fields), 9) self.assertTrue("is_active" in fields) self.assertTrue("title" in fields) self.assertTrue("summary" in fields) @@ -2591,10 +2589,10 @@ def test_update_dashblock(self): response = self.client.post(update_url, post_data, follow=True, SERVER_NAME="uganda.ureport.io") self.assertFalse("form" in response.context) updated_dashblock = DashBlock.objects.get(pk=dashblock1.pk) - self.assertEquals(updated_dashblock.dashblock_type, self.type_foo) - self.assertEquals(updated_dashblock.org, self.uganda) - self.assertEquals(updated_dashblock.title, "Gasabo") - self.assertEquals(updated_dashblock.content, "gasabo") + self.assertEqual(updated_dashblock.dashblock_type, self.type_foo) + self.assertEqual(updated_dashblock.org, self.uganda) + self.assertEqual(updated_dashblock.title, "Gasabo") + self.assertEqual(updated_dashblock.content, "gasabo") def test_list_dashblock(self): list_url = reverse("dashblocks.dashblock_list") @@ -2728,10 +2726,10 @@ def test_dashblock_image(self): response = self.client.post(create_url, post_data, follow=True, SERVER_NAME="uganda.ureport.io") dashblock_image = DashBlockImage.objects.get() - self.assertEquals(dashblock_image.dashblock, dashblock1) - self.assertEquals(dashblock_image.caption, "image caption") + self.assertEqual(dashblock_image.dashblock, dashblock1) + self.assertEqual(dashblock_image.caption, "image caption") - self.assertEquals(response.request["PATH_INFO"], reverse("dashblocks.dashblock_update", args=[dashblock1.pk])) + self.assertEqual(response.request["PATH_INFO"], reverse("dashblocks.dashblock_update", args=[dashblock1.pk])) update_url = reverse("dashblocks.dashblockimage_update", args=[dashblock_image.pk]) @@ -2739,14 +2737,14 @@ def test_dashblock_image(self): post_data = dict(dashblock=dashblock1.pk, image=upload, caption="image updated caption") response = self.client.post(update_url, post_data, follow=True, SERVER_NAME="uganda.ureport.io") - self.assertEquals(DashBlockImage.objects.count(), 1) + self.assertEqual(DashBlockImage.objects.count(), 1) updated_block_image = DashBlockImage.objects.get(pk=dashblock_image.pk) - self.assertEquals(updated_block_image.caption, "image updated caption") - self.assertEquals(response.request["PATH_INFO"], reverse("dashblocks.dashblock_update", args=[dashblock1.pk])) + self.assertEqual(updated_block_image.caption, "image updated caption") + self.assertEqual(response.request["PATH_INFO"], reverse("dashblocks.dashblock_update", args=[dashblock1.pk])) list_url = reverse("dashblocks.dashblockimage_list") response = self.client.get(list_url, SERVER_NAME="uganda.ureport.io") - self.assertEquals(len(response.context["object_list"]), 1) + self.assertEqual(len(response.context["object_list"]), 1) self.assertTrue(updated_block_image in response.context["object_list"]) self.clear_uploads() @@ -2782,10 +2780,10 @@ def test_template_tags(self): ) context = dict() - self.assertEquals(load_qbs(context, None, ""), "") + self.assertEqual(load_qbs(context, None, ""), "") self.assertFalse(context) - self.assertEquals( + self.assertEqual( load_qbs(context, self.uganda, "invalid_slug"), getattr( settings, @@ -2796,7 +2794,7 @@ def test_template_tags(self): ) self.assertFalse(context) - self.assertEquals(load_qbs(context, self.uganda, "foo"), "") + self.assertEqual(load_qbs(context, self.uganda, "foo"), "") self.assertTrue(context) self.assertTrue("foo" in context) self.assertTrue(dashblock1 in context["foo"]) @@ -2819,7 +2817,7 @@ def test_template_tags(self): dashblock4.tags = " kigali kacyiru " dashblock4.save() - self.assertEquals(load_qbs(context, self.uganda, "foo"), "") + self.assertEqual(load_qbs(context, self.uganda, "foo"), "") self.assertTrue(context) self.assertTrue("foo" in context) self.assertTrue(dashblock1 in context["foo"]) @@ -2827,7 +2825,7 @@ def test_template_tags(self): self.assertFalse(dashblock3 in context["foo"]) self.assertTrue(dashblock4 in context["foo"]) - self.assertEquals(load_qbs(context, self.uganda, "foo", "kigali"), "") + self.assertEqual(load_qbs(context, self.uganda, "foo", "kigali"), "") self.assertTrue(context) self.assertTrue("foo" in context) self.assertTrue(dashblock1 in context["foo"]) @@ -2835,7 +2833,7 @@ def test_template_tags(self): self.assertFalse(dashblock3 in context["foo"]) self.assertTrue(dashblock4 in context["foo"]) - self.assertEquals(load_qbs(context, self.uganda, "foo", "gasabo"), "") + self.assertEqual(load_qbs(context, self.uganda, "foo", "gasabo"), "") self.assertTrue(context) self.assertTrue("foo" in context) self.assertTrue(dashblock1 in context["foo"]) @@ -2865,7 +2863,7 @@ def setUp(self): def test_tag_model(self): tag1 = Tag.objects.create(name="tag 1", org=self.uganda, created_by=self.admin, modified_by=self.admin) - self.assertEquals(force_str(tag1), "tag 1") + self.assertEqual(force_str(tag1), "tag 1") with self.assertRaises(IntegrityError): Tag.objects.create(name="tag 1", org=self.uganda, created_by=self.admin, modified_by=self.admin) @@ -2878,8 +2876,8 @@ def test_create_tag(self): self.login(self.admin) response = self.client.get(create_url, SERVER_NAME="uganda.ureport.io") - self.assertEquals(response.status_code, 200) - self.assertEquals(len(response.context["form"].fields), 2) + self.assertEqual(response.status_code, 200) + self.assertEqual(len(response.context["form"].fields), 2) self.assertNotIn("org", response.context["form"].fields) post_data = dict() @@ -2890,24 +2888,24 @@ def test_create_tag(self): post_data = dict(name="Health") response = self.client.post(create_url, post_data, follow=True, SERVER_NAME="uganda.ureport.io") tag = Tag.objects.order_by("-pk")[0] - self.assertEquals(response.status_code, 200) - self.assertEquals(response.request["PATH_INFO"], reverse("tags.tag_list")) - self.assertEquals(tag.name, "Health") - self.assertEquals(tag.org, self.uganda) + self.assertEqual(response.status_code, 200) + self.assertEqual(response.request["PATH_INFO"], reverse("tags.tag_list")) + self.assertEqual(tag.name, "Health") + self.assertEqual(tag.org, self.uganda) self.login(self.superuser) response = self.client.get(create_url, SERVER_NAME="uganda.ureport.io") - self.assertEquals(response.status_code, 200) - self.assertEquals(len(response.context["form"].fields), 2) + self.assertEqual(response.status_code, 200) + self.assertEqual(len(response.context["form"].fields), 2) self.assertNotIn("org", response.context["form"].fields) post_data = dict(name="Education") response = self.client.post(create_url, post_data, follow=True, SERVER_NAME="uganda.ureport.io") tag = Tag.objects.order_by("-pk")[0] - self.assertEquals(response.status_code, 200) - self.assertEquals(response.request["PATH_INFO"], reverse("tags.tag_list")) - self.assertEquals(tag.name, "Education") - self.assertEquals(tag.org, self.uganda) + self.assertEqual(response.status_code, 200) + self.assertEqual(response.request["PATH_INFO"], reverse("tags.tag_list")) + self.assertEqual(tag.name, "Education") + self.assertEqual(tag.org, self.uganda) def test_list_tags(self): uganda_health_tag = Tag.objects.create( @@ -2929,22 +2927,22 @@ def test_list_tags(self): self.login(self.admin) response = self.client.get(list_url, SERVER_NAME="uganda.ureport.io") - self.assertEquals(len(response.context["object_list"]), 2) + self.assertEqual(len(response.context["object_list"]), 2) self.assertNotIn(nigeria_health_tag, response.context["object_list"]) self.assertIn(uganda_health_tag, response.context["object_list"]) self.assertIn(uganda_education_tag, response.context["object_list"]) response = self.client.get(list_url, SERVER_NAME="nigeria.ureport.io") - self.assertEquals(len(response.context["object_list"]), 1) + self.assertEqual(len(response.context["object_list"]), 1) self.assertNotIn(uganda_health_tag, response.context["object_list"]) self.assertNotIn(uganda_education_tag, response.context["object_list"]) self.assertIn(nigeria_health_tag, response.context["object_list"]) - self.assertEquals(len(response.context["fields"]), 3) + self.assertEqual(len(response.context["fields"]), 3) self.login(self.superuser) response = self.client.get(list_url, SERVER_NAME="uganda.ureport.io") - self.assertEquals(len(response.context["fields"]), 3) - self.assertEquals(len(response.context["object_list"]), 2) + self.assertEqual(len(response.context["fields"]), 3) + self.assertEqual(len(response.context["object_list"]), 2) self.assertIn(uganda_health_tag, response.context["object_list"]) self.assertIn(uganda_education_tag, response.context["object_list"]) self.assertNotIn(nigeria_health_tag, response.context["object_list"]) @@ -2973,14 +2971,14 @@ def test_tag_update(self): self.assertLoginRedirect(response) response = self.client.get(uganda_update_url, SERVER_NAME="uganda.ureport.io") - self.assertEquals(response.status_code, 200) - self.assertEquals(len(response.context["form"].fields), 2) + self.assertEqual(response.status_code, 200) + self.assertEqual(len(response.context["form"].fields), 2) post_data = dict(name="Sanitation", is_active=True) response = self.client.post(uganda_update_url, post_data, follow=True, SERVER_NAME="uganda.ureport.io") - self.assertEquals(response.request["PATH_INFO"], reverse("tags.tag_list")) + self.assertEqual(response.request["PATH_INFO"], reverse("tags.tag_list")) tag = Tag.objects.get(pk=uganda_health_tag.pk) - self.assertEquals(tag.name, "Sanitation") + self.assertEqual(tag.name, "Sanitation") def test_tag_delete(self): uganda_health_tag = Tag.objects.create( @@ -3009,9 +3007,9 @@ def test_tag_delete(self): self.assertLoginRedirect(response) response = self.client.get(uganda_delete_url, SERVER_NAME="uganda.ureport.io") - self.assertEquals(response.status_code, 200) + self.assertEqual(response.status_code, 200) response = self.client.post(uganda_delete_url, {"id": uganda_health_tag.pk}, SERVER_NAME="uganda.ureport.io") - self.assertEquals(response.status_code, 302) + self.assertEqual(response.status_code, 302) self.assertFalse(Tag.objects.filter(pk=uganda_health_tag.pk)) From cedc7d4641bd0e8337e5be4f34711222a3d338d7 Mon Sep 17 00:00:00 2001 From: Norbert Kwizera Date: Wed, 6 Dec 2023 11:39:11 +0200 Subject: [PATCH 2/2] Use datetime timezone aliased as tzone --- dash/orgs/management/commands/orgtasks.py | 4 ++-- dash/orgs/templatetags/dashorgs.py | 4 ++-- dash/utils/__init__.py | 6 +++--- dash/utils/tests.py | 8 ++++---- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/dash/orgs/management/commands/orgtasks.py b/dash/orgs/management/commands/orgtasks.py index bd5a384..f14f50f 100644 --- a/dash/orgs/management/commands/orgtasks.py +++ b/dash/orgs/management/commands/orgtasks.py @@ -1,4 +1,4 @@ -from datetime import timezone +from datetime import timezone as tzone from django.core.management.base import BaseCommand, CommandError @@ -105,4 +105,4 @@ def cell(val, width): def format_date(dt): - return dt.astimezone(timezone.utc).strftime("%b %d, %Y %H:%M") if dt else "" + return dt.astimezone(tzone.utc).strftime("%b %d, %Y %H:%M") if dt else "" diff --git a/dash/orgs/templatetags/dashorgs.py b/dash/orgs/templatetags/dashorgs.py index 7c091da..c152d61 100644 --- a/dash/orgs/templatetags/dashorgs.py +++ b/dash/orgs/templatetags/dashorgs.py @@ -1,4 +1,4 @@ -from datetime import datetime, timezone +from datetime import datetime, timezone as tzone import phonenumbers @@ -13,7 +13,7 @@ def display_time(text_timestamp, org, time_format=None): if not time_format: time_format = "%b %d, %Y %H:%M" - parsed_time = datetime.strptime(text_timestamp, "%Y-%m-%dT%H:%M:%SZ").replace(tzinfo=timezone.utc) + parsed_time = datetime.strptime(text_timestamp, "%Y-%m-%dT%H:%M:%SZ").replace(tzinfo=tzone.utc) output_time = parsed_time.astimezone(org.timezone) return output_time.strftime(time_format) diff --git a/dash/utils/__init__.py b/dash/utils/__init__.py index 713aec0..b3e7c5d 100644 --- a/dash/utils/__init__.py +++ b/dash/utils/__init__.py @@ -1,9 +1,9 @@ import calendar -import datetime import json import os import random from collections import OrderedDict +from datetime import datetime, timezone as tzone from itertools import islice from uuid import uuid4 @@ -101,8 +101,8 @@ def ms_to_datetime(ms): """ Converts a millisecond accuracy timestamp to a datetime """ - dt = datetime.datetime.utcfromtimestamp(ms / 1000) - return dt.replace(microsecond=(ms % 1000) * 1000).replace(tzinfo=datetime.timezone.utc) + dt = datetime.utcfromtimestamp(ms / 1000) + return dt.replace(microsecond=(ms % 1000) * 1000).replace(tzinfo=tzone.utc) def get_month_range(d=None): diff --git a/dash/utils/tests.py b/dash/utils/tests.py index 9b14755..bbeb74d 100644 --- a/dash/utils/tests.py +++ b/dash/utils/tests.py @@ -1,6 +1,6 @@ import json import zoneinfo -from datetime import datetime, timezone +from datetime import datetime, timezone as tzone from itertools import chain from django.core.cache import cache @@ -76,16 +76,16 @@ def calculate(): self.assertEqual(get_obj_cacheable(self, "_test_value", calculate, recalculate=True), "CALCULATED") def test_datetime_to_ms(self): - d1 = datetime(2014, 1, 2, 3, 4, 5, 678900, tzinfo=timezone.utc) + d1 = datetime(2014, 1, 2, 3, 4, 5, 678900, tzinfo=tzone.utc) self.assertEqual(datetime_to_ms(d1), 1388631845678) # from http://unixtimestamp.50x.eu # conversion to millis loses some accuracy - self.assertEqual(ms_to_datetime(1388631845678), datetime(2014, 1, 2, 3, 4, 5, 678000, tzinfo=timezone.utc)) + self.assertEqual(ms_to_datetime(1388631845678), datetime(2014, 1, 2, 3, 4, 5, 678000, tzinfo=tzone.utc)) tz = zoneinfo.ZoneInfo("Africa/Kigali") d2 = datetime(2014, 1, 2, 3, 4, 5, 600000, tz) self.assertEqual(datetime_to_ms(d2), 1388624645600) - self.assertEqual(ms_to_datetime(1388624645600), d2.astimezone(timezone.utc)) + self.assertEqual(ms_to_datetime(1388624645600), d2.astimezone(tzone.utc)) def test_get_month_range(self): self.assertEqual(