ddns 4.1.1b2__tar.gz → 4.1.2b1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of ddns might be problematic. Click here for more details.
- {ddns-4.1.1b2 → ddns-4.1.2b1}/PKG-INFO +1 -1
- {ddns-4.1.1b2 → ddns-4.1.2b1}/ddns/__init__.py +2 -2
- {ddns-4.1.1b2 → ddns-4.1.2b1}/ddns/config/config.py +1 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/ddns.egg-info/PKG-INFO +1 -1
- {ddns-4.1.1b2 → ddns-4.1.2b1}/tests/test_config_extra.py +21 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/LICENSE +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/README.md +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/ddns/__builtins__.pyi +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/ddns/__main__.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/ddns/cache.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/ddns/config/__init__.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/ddns/config/cli.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/ddns/config/env.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/ddns/config/file.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/ddns/ip.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/ddns/provider/__init__.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/ddns/provider/_base.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/ddns/provider/_signature.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/ddns/provider/alidns.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/ddns/provider/aliesa.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/ddns/provider/callback.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/ddns/provider/cloudflare.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/ddns/provider/debug.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/ddns/provider/dnscom.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/ddns/provider/dnspod.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/ddns/provider/dnspod_com.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/ddns/provider/edgeone.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/ddns/provider/he.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/ddns/provider/huaweidns.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/ddns/provider/namesilo.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/ddns/provider/noip.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/ddns/provider/tencentcloud.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/ddns/scheduler/__init__.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/ddns/scheduler/_base.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/ddns/scheduler/cron.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/ddns/scheduler/launchd.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/ddns/scheduler/schtasks.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/ddns/scheduler/systemd.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/ddns/util/__init__.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/ddns/util/comment.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/ddns/util/fileio.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/ddns/util/http.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/ddns/util/try_run.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/ddns.egg-info/SOURCES.txt +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/ddns.egg-info/dependency_links.txt +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/ddns.egg-info/entry_points.txt +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/ddns.egg-info/requires.txt +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/ddns.egg-info/top_level.txt +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/pyproject.toml +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/setup.cfg +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/tests/test_cache.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/tests/test_config_cli.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/tests/test_config_cli_extra.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/tests/test_config_cli_task.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/tests/test_config_config.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/tests/test_config_env.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/tests/test_config_env_extra.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/tests/test_config_file.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/tests/test_config_file_remote.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/tests/test_config_init.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/tests/test_config_init_multi.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/tests/test_config_schema_v4_1.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/tests/test_ip.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/tests/test_provider__signature.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/tests/test_provider_alidns.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/tests/test_provider_aliesa.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/tests/test_provider_base.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/tests/test_provider_base_simple.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/tests/test_provider_callback.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/tests/test_provider_cloudflare.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/tests/test_provider_debug.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/tests/test_provider_dnscom.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/tests/test_provider_dnspod.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/tests/test_provider_dnspod_com.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/tests/test_provider_edgeone.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/tests/test_provider_he.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/tests/test_provider_huaweidns.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/tests/test_provider_namesilo.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/tests/test_provider_noip.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/tests/test_provider_proxy_list.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/tests/test_provider_tencentcloud.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/tests/test_scheduler_base.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/tests/test_scheduler_cron.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/tests/test_scheduler_init.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/tests/test_scheduler_launchd.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/tests/test_scheduler_schtasks.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/tests/test_scheduler_systemd.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/tests/test_util_comment.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/tests/test_util_fileio.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/tests/test_util_http.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/tests/test_util_http_proxy_list.py +0 -0
- {ddns-4.1.1b2 → ddns-4.1.2b1}/tests/test_util_http_retry.py +0 -0
|
@@ -163,6 +163,27 @@ class TestConfigExtra(unittest.TestCase):
|
|
|
163
163
|
# Only custom field should be in extra
|
|
164
164
|
self.assertEqual(config.extra.get("custom"), "custom_value")
|
|
165
165
|
|
|
166
|
+
def test_extra_does_not_include_schema_field(self):
|
|
167
|
+
"""Test that $schema field from JSON config is not collected as extra"""
|
|
168
|
+
json_config = {
|
|
169
|
+
"$schema": "https://ddns.newfuture.cc/schema/v4.1.json",
|
|
170
|
+
"dns": "tencentcloud",
|
|
171
|
+
"id": "test_id",
|
|
172
|
+
"token": "test_token",
|
|
173
|
+
"ipv4": ["example.com"],
|
|
174
|
+
"extra": {
|
|
175
|
+
"proxied": True,
|
|
176
|
+
},
|
|
177
|
+
}
|
|
178
|
+
config = Config(json_config=json_config)
|
|
179
|
+
# $schema should not be in extra
|
|
180
|
+
self.assertNotIn("$schema", config.extra)
|
|
181
|
+
# Other extra fields should be collected
|
|
182
|
+
self.assertTrue(config.extra.get("proxied"))
|
|
183
|
+
# Known fields should be accessible
|
|
184
|
+
self.assertEqual(config.dns, "tencentcloud")
|
|
185
|
+
self.assertEqual(config.id, "test_id")
|
|
186
|
+
|
|
166
187
|
def test_extra_with_json_extra_object_and_undefined_fields(self):
|
|
167
188
|
"""Test JSON config with both extra object and undefined fields"""
|
|
168
189
|
json_config = {
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|