Skip to content

Commit 959bb5a

Browse files
committed
Add test
1 parent c471123 commit 959bb5a

File tree

2 files changed

+21
-5
lines changed

2 files changed

+21
-5
lines changed

django_mongodb/utils.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ def check_django_compatability():
2727

2828

2929
def parse(uri):
30-
uri = parse_uri(uri)
30+
uri = parse_uri(str(uri))
3131

3232
host = None
3333
port = None

tests/utils_/test_parse.py

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,26 @@
1+
from unittest.mock import MagicMock, patch
2+
13
from django.test import SimpleTestCase
24

5+
import django_mongodb
6+
7+
MONGODB_URI = "mongodb+srv://myDatabaseUser:D1fficultP%[email protected]/myDatabase?retryWrites=true&w=majority"
8+
39

4-
class MongoURIParseTests(SimpleTestCase):
10+
class MongoParseURITests(SimpleTestCase):
511
"""
6-
Test parse function
12+
Test django_mongodb.parse(uri) function
713
"""
814

9-
def test_hello(self):
10-
pass
15+
@patch("dns.resolver.resolve")
16+
def test_parse(self, mock_resolver):
17+
srv_record = MagicMock()
18+
srv_record.target.to_text.return_value = "cluster0.example.mongodb.net"
19+
mock_resolver.return_value = [srv_record]
20+
settings_dict = django_mongodb.parse(MONGODB_URI)
21+
self.assertEqual(settings_dict["ENGINE"], "django_mongodb")
22+
self.assertEqual(settings_dict["NAME"], "myDatabase")
23+
self.assertEqual(settings_dict["HOST"], "mongodb+srv://cluster0.example.mongodb.net")
24+
self.assertEqual(settings_dict["USER"], "myDatabaseUser")
25+
self.assertEqual(settings_dict["PASSWORD"], "D1fficultP%40ssw0rd")
26+
self.assertEqual(settings_dict["PORT"], 27017)

0 commit comments

Comments
 (0)