We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Possible timezone related failure
### Describe the issue

https://github.com/ietf-tools/datatracker/actions/runs/4071644533/jobs/7013629899

### Code of Conduct

- [X] I agree to follow the [IETF's Code of Conduct](https://github.com/ietf-tools/.github/blob/main/CODE_OF_CONDUCT.md)

--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `ietf/group/factories.py`
Content:
```
1 # Copyright The IETF Trust 2015-2022, All Rights Reserved
2 import datetime
3 import debug # pyflakes:ignore
4 import factory
5 
6 from typing import List    # pyflakes:ignore
7 
8 from django.utils import timezone
9 
10 from ietf.group.models import Group, Role, GroupEvent, GroupMilestone, \
11                               GroupHistory, RoleHistory
12 from ietf.review.factories import ReviewTeamSettingsFactory
13 
14 class GroupFactory(factory.django.DjangoModelFactory):
15     class Meta:
16         model = Group
17         django_get_or_create = ('acronym',)
18 
19     name = factory.Faker('sentence',nb_words=6)
20     acronym = factory.Sequence(lambda n: 'acronym%d' %n)
21     state_id = 'active'
22     type_id = 'wg'
23     list_email = factory.LazyAttribute(lambda a: '%s@ietf.org'% a.acronym)
24     uses_milestone_dates = True
25     used_roles = [] # type: List[str]
26 
27     @factory.lazy_attribute
28     def parent(self):
29         if self.type_id in ['wg','ag']:
30             return GroupFactory(type_id='area')
31         elif self.type_id in ['rg','rag']:
32             return GroupFactory(acronym='irtf', type_id='irtf')
33         else:
34             return None
35 
36 class ReviewTeamFactory(GroupFactory):
37 
38     type_id = 'review'
39 
40     @factory.post_generation
41     def settings(obj, create, extracted, **kwargs):
42         ReviewTeamSettingsFactory.create(group=obj,**kwargs)
43 
44 class RoleFactory(factory.django.DjangoModelFactory):
45     class Meta:
46         model = Role
47 
48     group = factory.SubFactory(GroupFactory)
49     person = factory.SubFactory('ietf.person.factories.PersonFactory')
50     email = factory.LazyAttribute(lambda obj: obj.person.email())
51 
52 class GroupEventFactory(factory.django.DjangoModelFactory):
53     class Meta:
54         model = GroupEvent
55 
56     group = factory.SubFactory(GroupFactory)
57     by = factory.SubFactory('ietf.person.factories.PersonFactory')
58     type = 'comment'
59     desc = factory.Faker('paragraph')
60 
61 class BaseGroupMilestoneFactory(factory.django.DjangoModelFactory):
62     class Meta:
63         model = GroupMilestone
64 
65     group = factory.SubFactory(GroupFactory)
66     state_id = 'active'
67     desc = factory.Faker('sentence')
68 
69 class DatedGroupMilestoneFactory(BaseGroupMilestoneFactory):
70     group = factory.SubFactory(GroupFactory, uses_milestone_dates=True)
71     due = timezone.now()+datetime.timedelta(days=180)
72 
73 class DatelessGroupMilestoneFactory(BaseGroupMilestoneFactory):
74     group = factory.SubFactory(GroupFactory, uses_milestone_dates=False)
75     order = factory.Sequence(lambda n: n)
76 
77 class GroupHistoryFactory(factory.django.DjangoModelFactory):
78     class Meta:
79         model=GroupHistory
80 
81     time = lambda: timezone.now()
82     group = factory.SubFactory(GroupFactory, state_id='active')
83 
84     name = factory.LazyAttribute(lambda obj: obj.group.name)
85     state_id = factory.LazyAttribute(lambda obj: obj.group.state_id)
86     type_id = factory.LazyAttribute(lambda obj: obj.group.type_id)
87     parent = factory.LazyAttribute(lambda obj: obj.group.parent)
88     uses_milestone_dates = factory.LazyAttribute(lambda obj: obj.group.uses_milestone_dates)
89     used_roles = factory.LazyAttribute(lambda obj: obj.group.used_roles)
90     description = factory.LazyAttribute(lambda obj: obj.group.description)
91     list_email = factory.LazyAttribute(lambda obj: '%s@ietf.org'% obj.group.acronym) #TODO : move this to GroupFactory
92     list_subscribe = factory.LazyAttribute(lambda obj: obj.group.list_subscribe)
93     list_archive = factory.LazyAttribute(lambda obj: obj.group.list_archive)
94     comments = factory.LazyAttribute(lambda obj: obj.group.comments)
95     meeting_seen_as_area = factory.LazyAttribute(lambda obj: obj.group.meeting_seen_as_area)
96     acronym = factory.LazyAttribute(lambda obj: obj.group.acronym)
97 
98     @factory.post_generation
99     def unused_states(obj, create, extracted, **kwargs):
100         if create:
101             if extracted:
102                 obj.unused_states.set(extracted)
103             else:
104                 obj.unused_states.set(obj.group.unused_states.all())
105     @factory.post_generation
106     def unused_tags(obj, create, extracted, **kwargs):
107         if create:
108             if extracted:
109                 obj.unused_tags.set(extracted)
110             else:
111                 obj.unused_tags.set(obj.group.unused_states.all())            
112 
113 class RoleHistoryFactory(factory.django.DjangoModelFactory):
114     class Meta:
115         model=RoleHistory
116 
117     group = factory.SubFactory(GroupHistoryFactory)
118     person = factory.SubFactory('ietf.person.factories.PersonFactory')
119     email = factory.LazyAttribute(lambda obj: obj.person.email())
120 
121
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/ietf/group/factories.py b/ietf/group/factories.py
--- a/ietf/group/factories.py
+++ b/ietf/group/factories.py
@@ -10,6 +10,8 @@
 from ietf.group.models import Group, Role, GroupEvent, GroupMilestone, \
                               GroupHistory, RoleHistory
 from ietf.review.factories import ReviewTeamSettingsFactory
+from ietf.utils.timezone import date_today
+
 
 class GroupFactory(factory.django.DjangoModelFactory):
     class Meta:
@@ -68,7 +70,7 @@
 
 class DatedGroupMilestoneFactory(BaseGroupMilestoneFactory):
     group = factory.SubFactory(GroupFactory, uses_milestone_dates=True)
-    due = timezone.now()+datetime.timedelta(days=180)
+    due = date_today() + datetime.timedelta(days=180)
 
 class DatelessGroupMilestoneFactory(BaseGroupMilestoneFactory):
     group = factory.SubFactory(GroupFactory, uses_milestone_dates=False)

{"golden_diff": "diff --git a/ietf/group/factories.py b/ietf/group/factories.py\n--- a/ietf/group/factories.py\n+++ b/ietf/group/factories.py\n@@ -10,6 +10,8 @@\n from ietf.group.models import Group, Role, GroupEvent, GroupMilestone, \\\n                               GroupHistory, RoleHistory\n from ietf.review.factories import ReviewTeamSettingsFactory\n+from ietf.utils.timezone import date_today\n+\n \n class GroupFactory(factory.django.DjangoModelFactory):\n     class Meta:\n@@ -68,7 +70,7 @@\n \n class DatedGroupMilestoneFactory(BaseGroupMilestoneFactory):\n     group = factory.SubFactory(GroupFactory, uses_milestone_dates=True)\n-    due = timezone.now()+datetime.timedelta(days=180)\n+    due = date_today() + datetime.timedelta(days=180)\n \n class DatelessGroupMilestoneFactory(BaseGroupMilestoneFactory):\n     group = factory.SubFactory(GroupFactory, uses_milestone_dates=False)\n", "issue": "Possible timezone related failure\n### Describe the issue\n\nhttps://github.com/ietf-tools/datatracker/actions/runs/4071644533/jobs/7013629899\n\n### Code of Conduct\n\n- [X] I agree to follow the [IETF's Code of Conduct](https://github.com/ietf-tools/.github/blob/main/CODE_OF_CONDUCT.md)\n", "before_files": [{"content": "# Copyright The IETF Trust 2015-2022, All Rights Reserved\nimport datetime\nimport debug # pyflakes:ignore\nimport factory\n\nfrom typing import List    # pyflakes:ignore\n\nfrom django.utils import timezone\n\nfrom ietf.group.models import Group, Role, GroupEvent, GroupMilestone, \\\n                              GroupHistory, RoleHistory\nfrom ietf.review.factories import ReviewTeamSettingsFactory\n\nclass GroupFactory(factory.django.DjangoModelFactory):\n    class Meta:\n        model = Group\n        django_get_or_create = ('acronym',)\n\n    name = factory.Faker('sentence',nb_words=6)\n    acronym = factory.Sequence(lambda n: 'acronym%d' %n)\n    state_id = 'active'\n    type_id = 'wg'\n    list_email = factory.LazyAttribute(lambda a: '%s@ietf.org'% a.acronym)\n    uses_milestone_dates = True\n    used_roles = [] # type: List[str]\n\n    @factory.lazy_attribute\n    def parent(self):\n        if self.type_id in ['wg','ag']:\n            return GroupFactory(type_id='area')\n        elif self.type_id in ['rg','rag']:\n            return GroupFactory(acronym='irtf', type_id='irtf')\n        else:\n            return None\n\nclass ReviewTeamFactory(GroupFactory):\n\n    type_id = 'review'\n\n    @factory.post_generation\n    def settings(obj, create, extracted, **kwargs):\n        ReviewTeamSettingsFactory.create(group=obj,**kwargs)\n\nclass RoleFactory(factory.django.DjangoModelFactory):\n    class Meta:\n        model = Role\n\n    group = factory.SubFactory(GroupFactory)\n    person = factory.SubFactory('ietf.person.factories.PersonFactory')\n    email = factory.LazyAttribute(lambda obj: obj.person.email())\n\nclass GroupEventFactory(factory.django.DjangoModelFactory):\n    class Meta:\n        model = GroupEvent\n\n    group = factory.SubFactory(GroupFactory)\n    by = factory.SubFactory('ietf.person.factories.PersonFactory')\n    type = 'comment'\n    desc = factory.Faker('paragraph')\n\nclass BaseGroupMilestoneFactory(factory.django.DjangoModelFactory):\n    class Meta:\n        model = GroupMilestone\n\n    group = factory.SubFactory(GroupFactory)\n    state_id = 'active'\n    desc = factory.Faker('sentence')\n\nclass DatedGroupMilestoneFactory(BaseGroupMilestoneFactory):\n    group = factory.SubFactory(GroupFactory, uses_milestone_dates=True)\n    due = timezone.now()+datetime.timedelta(days=180)\n\nclass DatelessGroupMilestoneFactory(BaseGroupMilestoneFactory):\n    group = factory.SubFactory(GroupFactory, uses_milestone_dates=False)\n    order = factory.Sequence(lambda n: n)\n\nclass GroupHistoryFactory(factory.django.DjangoModelFactory):\n    class Meta:\n        model=GroupHistory\n\n    time = lambda: timezone.now()\n    group = factory.SubFactory(GroupFactory, state_id='active')\n\n    name = factory.LazyAttribute(lambda obj: obj.group.name)\n    state_id = factory.LazyAttribute(lambda obj: obj.group.state_id)\n    type_id = factory.LazyAttribute(lambda obj: obj.group.type_id)\n    parent = factory.LazyAttribute(lambda obj: obj.group.parent)\n    uses_milestone_dates = factory.LazyAttribute(lambda obj: obj.group.uses_milestone_dates)\n    used_roles = factory.LazyAttribute(lambda obj: obj.group.used_roles)\n    description = factory.LazyAttribute(lambda obj: obj.group.description)\n    list_email = factory.LazyAttribute(lambda obj: '%s@ietf.org'% obj.group.acronym) #TODO : move this to GroupFactory\n    list_subscribe = factory.LazyAttribute(lambda obj: obj.group.list_subscribe)\n    list_archive = factory.LazyAttribute(lambda obj: obj.group.list_archive)\n    comments = factory.LazyAttribute(lambda obj: obj.group.comments)\n    meeting_seen_as_area = factory.LazyAttribute(lambda obj: obj.group.meeting_seen_as_area)\n    acronym = factory.LazyAttribute(lambda obj: obj.group.acronym)\n\n    @factory.post_generation\n    def unused_states(obj, create, extracted, **kwargs):\n        if create:\n            if extracted:\n                obj.unused_states.set(extracted)\n            else:\n                obj.unused_states.set(obj.group.unused_states.all())\n    @factory.post_generation\n    def unused_tags(obj, create, extracted, **kwargs):\n        if create:\n            if extracted:\n                obj.unused_tags.set(extracted)\n            else:\n                obj.unused_tags.set(obj.group.unused_states.all())            \n\nclass RoleHistoryFactory(factory.django.DjangoModelFactory):\n    class Meta:\n        model=RoleHistory\n\n    group = factory.SubFactory(GroupHistoryFactory)\n    person = factory.SubFactory('ietf.person.factories.PersonFactory')\n    email = factory.LazyAttribute(lambda obj: obj.person.email())\n\n", "path": "ietf/group/factories.py"}], "after_files": [{"content": "# Copyright The IETF Trust 2015-2022, All Rights Reserved\nimport datetime\nimport debug # pyflakes:ignore\nimport factory\n\nfrom typing import List    # pyflakes:ignore\n\nfrom django.utils import timezone\n\nfrom ietf.group.models import Group, Role, GroupEvent, GroupMilestone, \\\n                              GroupHistory, RoleHistory\nfrom ietf.review.factories import ReviewTeamSettingsFactory\nfrom ietf.utils.timezone import date_today\n\n\nclass GroupFactory(factory.django.DjangoModelFactory):\n    class Meta:\n        model = Group\n        django_get_or_create = ('acronym',)\n\n    name = factory.Faker('sentence',nb_words=6)\n    acronym = factory.Sequence(lambda n: 'acronym%d' %n)\n    state_id = 'active'\n    type_id = 'wg'\n    list_email = factory.LazyAttribute(lambda a: '%s@ietf.org'% a.acronym)\n    uses_milestone_dates = True\n    used_roles = [] # type: List[str]\n\n    @factory.lazy_attribute\n    def parent(self):\n        if self.type_id in ['wg','ag']:\n            return GroupFactory(type_id='area')\n        elif self.type_id in ['rg','rag']:\n            return GroupFactory(acronym='irtf', type_id='irtf')\n        else:\n            return None\n\nclass ReviewTeamFactory(GroupFactory):\n\n    type_id = 'review'\n\n    @factory.post_generation\n    def settings(obj, create, extracted, **kwargs):\n        ReviewTeamSettingsFactory.create(group=obj,**kwargs)\n\nclass RoleFactory(factory.django.DjangoModelFactory):\n    class Meta:\n        model = Role\n\n    group = factory.SubFactory(GroupFactory)\n    person = factory.SubFactory('ietf.person.factories.PersonFactory')\n    email = factory.LazyAttribute(lambda obj: obj.person.email())\n\nclass GroupEventFactory(factory.django.DjangoModelFactory):\n    class Meta:\n        model = GroupEvent\n\n    group = factory.SubFactory(GroupFactory)\n    by = factory.SubFactory('ietf.person.factories.PersonFactory')\n    type = 'comment'\n    desc = factory.Faker('paragraph')\n\nclass BaseGroupMilestoneFactory(factory.django.DjangoModelFactory):\n    class Meta:\n        model = GroupMilestone\n\n    group = factory.SubFactory(GroupFactory)\n    state_id = 'active'\n    desc = factory.Faker('sentence')\n\nclass DatedGroupMilestoneFactory(BaseGroupMilestoneFactory):\n    group = factory.SubFactory(GroupFactory, uses_milestone_dates=True)\n    due = date_today() + datetime.timedelta(days=180)\n\nclass DatelessGroupMilestoneFactory(BaseGroupMilestoneFactory):\n    group = factory.SubFactory(GroupFactory, uses_milestone_dates=False)\n    order = factory.Sequence(lambda n: n)\n\nclass GroupHistoryFactory(factory.django.DjangoModelFactory):\n    class Meta:\n        model=GroupHistory\n\n    time = lambda: timezone.now()\n    group = factory.SubFactory(GroupFactory, state_id='active')\n\n    name = factory.LazyAttribute(lambda obj: obj.group.name)\n    state_id = factory.LazyAttribute(lambda obj: obj.group.state_id)\n    type_id = factory.LazyAttribute(lambda obj: obj.group.type_id)\n    parent = factory.LazyAttribute(lambda obj: obj.group.parent)\n    uses_milestone_dates = factory.LazyAttribute(lambda obj: obj.group.uses_milestone_dates)\n    used_roles = factory.LazyAttribute(lambda obj: obj.group.used_roles)\n    description = factory.LazyAttribute(lambda obj: obj.group.description)\n    list_email = factory.LazyAttribute(lambda obj: '%s@ietf.org'% obj.group.acronym) #TODO : move this to GroupFactory\n    list_subscribe = factory.LazyAttribute(lambda obj: obj.group.list_subscribe)\n    list_archive = factory.LazyAttribute(lambda obj: obj.group.list_archive)\n    comments = factory.LazyAttribute(lambda obj: obj.group.comments)\n    meeting_seen_as_area = factory.LazyAttribute(lambda obj: obj.group.meeting_seen_as_area)\n    acronym = factory.LazyAttribute(lambda obj: obj.group.acronym)\n\n    @factory.post_generation\n    def unused_states(obj, create, extracted, **kwargs):\n        if create:\n            if extracted:\n                obj.unused_states.set(extracted)\n            else:\n                obj.unused_states.set(obj.group.unused_states.all())\n    @factory.post_generation\n    def unused_tags(obj, create, extracted, **kwargs):\n        if create:\n            if extracted:\n                obj.unused_tags.set(extracted)\n            else:\n                obj.unused_tags.set(obj.group.unused_states.all())            \n\nclass RoleHistoryFactory(factory.django.DjangoModelFactory):\n    class Meta:\n        model=RoleHistory\n\n    group = factory.SubFactory(GroupHistoryFactory)\n    person = factory.SubFactory('ietf.person.factories.PersonFactory')\n    email = factory.LazyAttribute(lambda obj: obj.person.email())\n\n", "path": "ietf/group/factories.py"}]}