10
10
from django .test import override_settings
11
11
12
12
from django_log_formatter_ecs import ECSFormatter
13
+ from django_log_formatter_ecs import ECSRequestFormatter
13
14
14
15
settings .configure (
15
16
DEBUG = True ,
@@ -29,6 +30,29 @@ def get_full_name(self):
29
30
return f"{ self .first_name } { self .last_name } "
30
31
31
32
33
+ class MockRecord :
34
+ def __init__ (self , name , request ):
35
+ self .name = name
36
+ self .request = request
37
+
38
+ def getMessage (self ):
39
+ return f"Message"
40
+
41
+
42
+ class ECSRequestFormatterTest (TestCase ):
43
+ def test_get_event_resolves_with_expected_fields (self ):
44
+ headers = {"SERVER_NAME" : "test-server" , "SERVER_PORT" : 1234 , "REMOTE_ADDR" : "111.1.1.1" }
45
+ request = RequestFactory ().get (path = "/" , data = {}, ** headers )
46
+
47
+ result = ECSRequestFormatter (MockRecord ("testing-123" , request )).get_event ().get_log_dict ()
48
+
49
+ assert result ["event" ]["action" ] == "testing-123"
50
+ assert result ["httprequest" ]["method" ] == "GET"
51
+ assert result ["client" ]["domain" ] == "test-server"
52
+ assert result ["client" ]["port" ] == 1234
53
+ assert result ["source" ]["ip" ] == "111.1.1.1"
54
+
55
+
32
56
class ECSFormatterTest (TestCase ):
33
57
def setUp (self ):
34
58
self .factory = RequestFactory ()
@@ -114,3 +138,7 @@ def test_env_log_value(self):
114
138
output = self ._create_request_log ()
115
139
116
140
assert output ["event" ]["labels" ]["env" ] == "settings.Test"
141
+
142
+ # django_log_formatter_ecs.ECSRequestFormatter.get_event()
143
+ def test_get_event (self ):
144
+ pass
0 commit comments