@@ -16,6 +16,87 @@ def clear_get_version_info_cache() -> Generator[None, None, None]:
16
16
get_version_info .cache_clear ()
17
17
18
18
19
+ def test_get_version_info_with_email_config_smtp (settings : SettingsWrapper ) -> None :
20
+
21
+ settings .EMAIL_BACKEND = "django.core.mail.backends.smtp.EmailBackend"
22
+ settings .EMAIL_HOST_USER = "user"
23
+
24
+ result = get_version_info ()
25
+
26
+ assert result == {
27
+ "ci_commit_sha" : "unknown" ,
28
+ "image_tag" : "unknown" ,
29
+ "has_email_provider" : True ,
30
+ "is_enterprise" : False ,
31
+ "is_saas" : False ,
32
+ }
33
+
34
+
35
+ def test_get_version_info_with_email_config_sendgrid (settings : SettingsWrapper ) -> None :
36
+
37
+ settings .EMAIL_BACKEND = "sgbackend.SendGridBackend"
38
+ settings .SENDGRID_API_KEY = "key"
39
+
40
+ result = get_version_info ()
41
+
42
+ assert result == {
43
+ "ci_commit_sha" : "unknown" ,
44
+ "image_tag" : "unknown" ,
45
+ "has_email_provider" : True ,
46
+ "is_enterprise" : False ,
47
+ "is_saas" : False ,
48
+ }
49
+
50
+
51
+ def test_get_version_info_with_email_config_ses (settings : SettingsWrapper ) -> None :
52
+
53
+ settings .EMAIL_BACKEND = "django_ses.SESBackend"
54
+ settings .AWS_SES_REGION_ENDPOINT = "endpoint"
55
+
56
+ result = get_version_info ()
57
+
58
+ assert result == {
59
+ "ci_commit_sha" : "unknown" ,
60
+ "image_tag" : "unknown" ,
61
+ "has_email_provider" : True ,
62
+ "is_enterprise" : False ,
63
+ "is_saas" : False ,
64
+ }
65
+
66
+
67
+ def test_get_version_info_without_email_config (settings : SettingsWrapper ) -> None :
68
+ expected = {
69
+ "ci_commit_sha" : "unknown" ,
70
+ "image_tag" : "unknown" ,
71
+ "has_email_provider" : False ,
72
+ "is_enterprise" : False ,
73
+ "is_saas" : False ,
74
+ }
75
+
76
+ settings .EMAIL_BACKEND = None
77
+
78
+ result = get_version_info ()
79
+ assert result == expected
80
+
81
+ settings .EMAIL_BACKEND = "django.core.mail.backends.smtp.EmailBackend"
82
+ settings .EMAIL_HOST_USER = None
83
+
84
+ result = get_version_info ()
85
+ assert result == expected
86
+
87
+ settings .EMAIL_BACKEND = "django_ses.SESBackend"
88
+ settings .AWS_SES_REGION_ENDPOINT = None
89
+
90
+ result = get_version_info ()
91
+ assert result == expected
92
+
93
+ settings .EMAIL_BACKEND = "sgbackend.SendGridBackend"
94
+ settings .SENDGRID_API_KEY = None
95
+
96
+ result = get_version_info ()
97
+ assert result == expected
98
+
99
+
19
100
def test_get_version_info (mocker : MockerFixture ) -> None :
20
101
# Given
21
102
mocked_pathlib = mocker .patch ("app.utils.pathlib" )
0 commit comments