|
4 | 4 |
|
5 | 5 | import django_mongodb |
6 | 6 |
|
7 | | -MONGODB_URI = "mongodb+srv://myDatabaseUser:D1fficultP%[email protected]/myDatabase?retryWrites=true&w=majority" |
| 7 | +URI = "mongodb+srv://myDatabaseUser:D1fficultP%[email protected]/myDatabase?retryWrites=true&w=majority" |
8 | 8 |
|
9 | 9 |
|
10 | 10 | class MongoParseURITests(SimpleTestCase): |
11 | 11 | """ |
12 | 12 | Test django_mongodb.parse(uri) function |
13 | 13 | """ |
14 | 14 |
|
| 15 | + def setUp(self): |
| 16 | + self.srv_record = MagicMock() |
| 17 | + self.srv_record.target.to_text.return_value = "cluster0.example.mongodb.net" |
| 18 | + self.patcher = patch("dns.resolver.resolve", return_value=[self.srv_record]) |
| 19 | + self.mock_resolver = self.patcher.start() |
| 20 | + self.addCleanup(self.patcher.stop) |
| 21 | + |
15 | 22 | @patch("dns.resolver.resolve") |
16 | 23 | 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) |
| 24 | + settings_dict = django_mongodb.parse(URI) |
21 | 25 | self.assertEqual(settings_dict["ENGINE"], "django_mongodb") |
22 | 26 | self.assertEqual(settings_dict["NAME"], "myDatabase") |
23 | 27 | self.assertEqual(settings_dict["HOST"], "mongodb+srv://cluster0.example.mongodb.net") |
24 | 28 | self.assertEqual(settings_dict["USER"], "myDatabaseUser") |
25 | 29 | self.assertEqual(settings_dict["PASSWORD"], "D1fficultP@ssw0rd") |
26 | 30 | self.assertEqual(settings_dict["PORT"], None) |
| 31 | + |
| 32 | + @patch("dns.resolver.resolve") |
| 33 | + def test_engine_kwarg(self, mock_resolver): |
| 34 | + settings_dict = django_mongodb.parse(URI, engine="some_other_engine") |
| 35 | + self.assertEqual(settings_dict["ENGINE"], "some_other_engine") |
0 commit comments