Skip to content

Commit 80ad2c0

Browse files
feat: addressing PR reviews
1 parent 13a69cb commit 80ad2c0

File tree

2 files changed

+17
-21
lines changed

2 files changed

+17
-21
lines changed

openedx_events/tests/test_tooling.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,8 @@ def setUp(self):
2929
"user": Mock,
3030
}
3131
self.public_signal = OpenEdxPublicSignal(
32-
event_type=self.event_type, data=self.data_attr,
32+
event_type=self.event_type,
33+
data=self.data_attr,
3334
)
3435

3536
def test_string_representation(self):
@@ -58,8 +59,7 @@ def test_get_signal_metadata(self, socket_mock, events_package_mock):
5859
"minorversion": 0,
5960
"source": "openedx/lms/web",
6061
"sourcehost": "edx.devstack.lms",
61-
"specversion": "1.0",
62-
"sourcelib": "0.1.0",
62+
"sourcelib": (0, 1, 0),
6363
}
6464

6565
metadata = self.public_signal.generate_signal_metadata()
@@ -82,8 +82,7 @@ def test_event_instantiation_exception(
8282
An InstantiationError exception is raised.
8383
"""
8484
exception_message = "InstantiationError {event_type}: Missing required argument '{missing_argument}'".format(
85-
event_type=event_type,
86-
missing_argument=missing_argument
85+
event_type=event_type, missing_argument=missing_argument
8786
)
8887

8988
with self.assertRaisesMessage(InstantiationError, exception_message):

openedx_events/tooling.py

Lines changed: 13 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import socket
55
import warnings
66
from datetime import datetime
7+
from uuid import uuid1
78

89
from django.conf import settings
910
from django.dispatch import Signal
@@ -61,52 +62,48 @@ def generate_signal_metadata(self):
6162
'source': 'openedx/lms/web',
6263
'sourcehost': 'edx.devstack.lms',
6364
'specversion': '1.0',
64-
'sourcelib: '0.1.0',
65+
'sourcelib: (0,1,0,),
6566
}
6667
"""
68+
def generate_uuid():
69+
"""
70+
Generate events id based on UUID version 1.
71+
"""
72+
return uuid1()
6773

6874
def get_current_time():
6975
"""
70-
Getter function used to get timestamp when the event ocurred.
76+
Get timestamp when the event was sent.
7177
"""
72-
return datetime.now().strftime("%Y-%m-%dT%H:%M:%SZ")
78+
return datetime.utcnow()
7379

7480
def get_source():
7581
"""
76-
Getter function used to get logical source of an event.
82+
Get logical source of an event.
7783
"""
7884
return "openedx/{service}/web".format(
7985
service=getattr(settings, "SERVICE_VARIANT", "")
8086
)
8187

8288
def get_source_host():
8389
"""
84-
Getter function used to get physical source of the event.
90+
Get physical source of the event.
8591
"""
8692
return socket.gethostname()
8793

88-
def get_spec_version():
89-
"""
90-
Getter function used to obtain CloudEvents version.
91-
92-
This field is added to be compliant with OEP-41, it's not
93-
necessarily significant to the Open edX events metadata.
94-
"""
95-
return "1.0"
96-
9794
def get_source_lib():
9895
"""
9996
Getter function used to obtain Open edX Events version.
10097
"""
101-
return openedx_events.__version__
98+
return tuple(map(int, openedx_events.__version__.split(".")))
10299

103100
return {
101+
"id": generate_uuid(),
104102
"event_type": self.event_type,
105103
"minorversion": self.minor_version,
106104
"time": get_current_time(),
107105
"source": get_source(),
108106
"sourcehost": get_source_host(),
109-
"specversion": get_spec_version(),
110107
"sourcelib": get_source_lib(),
111108
}
112109

0 commit comments

Comments
 (0)