From ee01520de21c4ab7ab06ce535411e04dd67f2c7f Mon Sep 17 00:00:00 2001 From: Thomas Stockhammer Date: Thu, 24 Jun 2021 09:50:44 +0200 Subject: [PATCH 1/5] Update and rename example_patch_base.mpd to example_G21_patch_base.mpd --- example_patch_base.mpd => example_G21_patch_base.mpd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename example_patch_base.mpd => example_G21_patch_base.mpd (98%) diff --git a/example_patch_base.mpd b/example_G21_patch_base.mpd similarity index 98% rename from example_patch_base.mpd rename to example_G21_patch_base.mpd index 4470268..c0b67d4 100644 --- a/example_patch_base.mpd +++ b/example_G21_patch_base.mpd @@ -11,7 +11,7 @@ minBufferTime="PT1.0S" profiles="urn:mpeg:dash:profile:isoff-live:2011"> - live-stream/patch.mpd?publishTime=2020-05-13T05%3A34%3A06%2B00%3A00 + example_G21_patch.mpp?publishTime=2020-05-13T05%3A34%3A06%2B00%3A00 Date: Thu, 24 Jun 2021 09:52:45 +0200 Subject: [PATCH 2/5] Rename example_patch_update.xml to example_G21_patch.mpp --- example_patch_update.xml => example_G21_patch.mpp | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename example_patch_update.xml => example_G21_patch.mpp (100%) diff --git a/example_patch_update.xml b/example_G21_patch.mpp similarity index 100% rename from example_patch_update.xml rename to example_G21_patch.mpp From 08535a6506c8e0d0481d630b22849d8c6a7d023f Mon Sep 17 00:00:00 2001 From: PaulHiggs Date: Sat, 26 Jun 2021 06:45:21 +0100 Subject: [PATCH 3/5] validate MPP documents - uses a resolver since XMLParser does not seem to be working with of HTTPS urls --- tests/requirements.txt | 1 + tests/validate.py | 43 +++++++++++++++++++++++++++++++++--------- 2 files changed, 35 insertions(+), 9 deletions(-) diff --git a/tests/requirements.txt b/tests/requirements.txt index 8971756..bcdadc5 100644 --- a/tests/requirements.txt +++ b/tests/requirements.txt @@ -1 +1,2 @@ lxml==4.6.3 +requests==2.18.4 diff --git a/tests/validate.py b/tests/validate.py index 6a7b2d2..cc28942 100644 --- a/tests/validate.py +++ b/tests/validate.py @@ -1,5 +1,5 @@ """ -MPD valication tests. +MPD validation tests. """ @@ -7,24 +7,49 @@ import unittest import logging import glob +import requests from lxml import etree -class TestStringMethods(unittest.TestCase): + +class PrefixResolver(etree.Resolver): + # https://lxml.de/resolvers.html + def __init__(self, prefix): + self.prefix = prefix.lower() + + def resolve(self, url, pubid, context): + if url.lower().startswith(self.prefix): + res=requests.get(url, allow_redirects=True) + return self.resolve_string(res.text, context) + + +class TestDASH(unittest.TestCase): def setUp(self): self.log = logging.getLogger('TestLog') - logging.basicConfig(stream=sys.stderr, level=logging.DEBUG) - parser=etree.XMLParser(load_dtd=True, huge_tree=True, resolve_entities=True) - with open('../DASH-MPD.xsd', 'r') as schema_file: - self.mpd_schema = etree.XMLSchema(etree.parse(schema_file, parser)) + logging.basicConfig(stream=sys.stderr, level=logging.INFO) + self.parser=etree.XMLParser(load_dtd=True, no_network=False, huge_tree=True, resolve_entities=True) + self.parser.resolvers.add(PrefixResolver("https")) + self.parser.resolvers.add(PrefixResolver("http")) def test_mpds(self): """ Test all MPDs found in the repository.""" + with open('../DASH-MPD.xsd', 'r') as schema_file: + mpd_schema = etree.XMLSchema( etree.parse(schema_file, self.parser) ) for mpd_path in glob.glob('../*.mpd'): - self.log.debug('Validating %s', mpd_path) + self.log.info('Validating %s', mpd_path) with open(mpd_path) as mpd_file: with self.subTest(mpd=mpd_path): - mpd = etree.parse(mpd_file) - self.mpd_schema.assertValid(mpd) + mpd_schema.assertValid( etree.parse(mpd_file) ) + + + def test_mpps(self): + """ Test all MPPs found in the repository.""" + with open('../DASH-MPD-PATCH.xsd', 'r') as mpp_schema_file: + mpp_schema = etree.XMLSchema( etree.parse(mpp_schema_file, self.parser) ) + for mpp_path in glob.glob('../*.mpp'): + self.log.info('Validating %s', mpp_path) + with open(mpp_path) as mpp_file: + with self.subTest(mpp=mpp_path): + mpp_schema.assertValid( etree.parse(mpp_file) ) if __name__ == '__main__': unittest.main() From de867fce3c2476bb705d29bdbcebe89328a35897 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 28 Jun 2021 22:02:10 +0000 Subject: [PATCH 4/5] Bump requests from 2.18.4 to 2.20.0 in /tests Bumps [requests](https://github.com/psf/requests) from 2.18.4 to 2.20.0. - [Release notes](https://github.com/psf/requests/releases) - [Changelog](https://github.com/psf/requests/blob/master/HISTORY.md) - [Commits](https://github.com/psf/requests/compare/v2.18.4...v2.20.0) --- updated-dependencies: - dependency-name: requests dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- tests/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/requirements.txt b/tests/requirements.txt index bcdadc5..c294b1f 100644 --- a/tests/requirements.txt +++ b/tests/requirements.txt @@ -1,2 +1,2 @@ lxml==4.6.3 -requests==2.18.4 +requests==2.20.0 From 462e2b37d023c42b72ff04009a81a2d9cd8f7614 Mon Sep 17 00:00:00 2001 From: Paul Higgs Date: Tue, 29 Jun 2021 03:33:24 +0100 Subject: [PATCH 5/5] Bump requests library --- tests/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/requirements.txt b/tests/requirements.txt index c294b1f..dd086da 100644 --- a/tests/requirements.txt +++ b/tests/requirements.txt @@ -1,2 +1,2 @@ lxml==4.6.3 -requests==2.20.0 +requests==2.25.1