mirror of
https://github.com/zulip/zulip.git
synced 2026-07-06 21:18:58 +08:00
models: Set a timezone on the MutedTopic.date_muted default.
Fixes warnings like this:
/srv/zulip-py3-venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1424: RuntimeWarning: DateTimeField MutedTopic.date_muted received a naive datetime (2020-01-01 00:00:00) while time zone support is active.
warnings.warn("DateTimeField %s received a naive datetime (%s)"
Signed-off-by: Anders Kaseorg <anders@zulip.com>
This commit is contained in:
parent
1f565a9f41
commit
8d20d1e632
@ -14,6 +14,6 @@ class Migration(migrations.Migration):
|
||||
migrations.AddField(
|
||||
model_name='mutedtopic',
|
||||
name='date_muted',
|
||||
field=models.DateTimeField(default=datetime.datetime(2020, 1, 1, 0, 0)),
|
||||
field=models.DateTimeField(default=datetime.datetime(2020, 1, 1, 0, 0, tzinfo=datetime.timezone.utc)),
|
||||
),
|
||||
]
|
||||
|
||||
@ -1491,7 +1491,7 @@ class MutedTopic(models.Model):
|
||||
# The default value for date_muted is a few weeks before tracking
|
||||
# of when topics were muted was first introduced. It's designed
|
||||
# to be obviously incorrect so that users can tell it's backfilled data.
|
||||
date_muted = models.DateTimeField(default=datetime.datetime(2020, 1, 1, 0, 0, 0, 0))
|
||||
date_muted = models.DateTimeField(default=datetime.datetime(2020, 1, 1, 0, 0, tzinfo=datetime.timezone.utc))
|
||||
|
||||
class Meta:
|
||||
unique_together = ('user_profile', 'stream', 'topic_name')
|
||||
|
||||
@ -257,8 +257,8 @@ class TestDigestEmailMessages(ZulipTestCase):
|
||||
@mock.patch('zerver.lib.digest.timezone_now')
|
||||
@override_settings(SEND_DIGEST_EMAILS=True)
|
||||
def test_new_stream_link(self, mock_django_timezone: mock.MagicMock) -> None:
|
||||
cutoff = datetime.datetime(year=2017, month=11, day=1)
|
||||
mock_django_timezone.return_value = datetime.datetime(year=2017, month=11, day=5)
|
||||
cutoff = datetime.datetime(year=2017, month=11, day=1, tzinfo=datetime.timezone.utc)
|
||||
mock_django_timezone.return_value = datetime.datetime(year=2017, month=11, day=5, tzinfo=datetime.timezone.utc)
|
||||
cordelia = self.example_user('cordelia')
|
||||
stream_id = create_stream_if_needed(cordelia.realm, 'New stream')[0].id
|
||||
new_stream = gather_new_streams(cordelia, cutoff)[1]
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
from django.utils.timezone import now as timezone_now
|
||||
from datetime import timedelta, datetime
|
||||
from datetime import timedelta, datetime, timezone
|
||||
from typing import Any, Dict
|
||||
from unittest import mock
|
||||
|
||||
@ -70,10 +70,10 @@ class MutedTopicsTests(ZulipTestCase):
|
||||
{'stream_id': stream.id, 'topic': 'Verona3', 'op': 'add'},
|
||||
]
|
||||
|
||||
mock_date_muted = datetime.timestamp(datetime(2020, 1, 1))
|
||||
mock_date_muted = datetime(2020, 1, 1, tzinfo=timezone.utc).timestamp()
|
||||
for data in payloads:
|
||||
with mock.patch('zerver.views.muting.timezone_now',
|
||||
return_value=datetime(2020, 1, 1)):
|
||||
return_value=datetime(2020, 1, 1, tzinfo=timezone.utc)):
|
||||
result = self.api_patch(user, url, data)
|
||||
self.assert_json_success(result)
|
||||
|
||||
@ -100,7 +100,7 @@ class MutedTopicsTests(ZulipTestCase):
|
||||
{'stream': stream.name, 'topic': 'vERONA3', 'op': 'remove'},
|
||||
{'stream_id': stream.id, 'topic': 'vEroNA3', 'op': 'remove'},
|
||||
]
|
||||
mock_date_muted = datetime.timestamp(datetime(2020, 1, 1))
|
||||
mock_date_muted = datetime(2020, 1, 1, tzinfo=timezone.utc).timestamp()
|
||||
|
||||
for data in payloads:
|
||||
add_topic_mute(
|
||||
@ -108,7 +108,7 @@ class MutedTopicsTests(ZulipTestCase):
|
||||
stream_id=stream.id,
|
||||
recipient_id=recipient.id,
|
||||
topic_name='Verona3',
|
||||
date_muted=datetime(2020, 1, 1),
|
||||
date_muted=datetime(2020, 1, 1, tzinfo=timezone.utc),
|
||||
)
|
||||
self.assertIn([stream.name, 'Verona3', mock_date_muted], get_topic_mutes(user))
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user