def test_parse_project(self):
     media = {
         'identifier':
         'obs',
         'version':
         '{latest}',
         'media': [{
             'identifier':
             'pdf',
             'version':
             1,
             'contributor': ['First Contributor', 'Second Contributor'],
             'url':
             'https://cdn.door43.org/obs/txt/1/hmr/obs-hmr-v4_1.pdf'
         }]
     }
     content_version = '4.1'
     chapters = {}
     output = _parse_project(media, content_version, chapters)
     expected = [{
         'build_rules': ['signing.sign_given_url'],
         'contributor': ['First Contributor', 'Second Contributor'],
         'format': '',
         'modified': '',
         'signature': '',
         'size': 0,
         'source_version': '4.1',
         'url': 'https://cdn.door43.org/obs/txt/1/hmr/obs-hmr-v4_1.pdf',
         'version': '1'
     }]
     assert_object_equals(self, expected, output)
 def test_parse_obs_with_chapters(self):
     media_yaml = '''projects:
   -
     identifier: "obs"
     version: "4.1"
     media:
       -
        identifier: "mp3"
        version: "1"
        contributor: []
        quality:
          - "128kbps"
        chapter_url: "https://cdn.door43.org/ylb/obs/v4.1/{quality}/ylb_obs_{chapter}_{quality}.mp3"
        url: "https://cdn.door43.org/ylb/obs/v4.1/{quality}/ylb_obs_{quality}.zip"'''
     media = yaml.load(media_yaml)
     content_version = '4.1'
     project_chapters = {'obs': [1]}
     resource_formats, project_formats = parse_media(
         media, content_version, project_chapters)
     expected = {
         'resource_formats': [],
         'project_formats': {
             'obs': [{
                 'build_rules': ['signing.sign_given_url'],
                 'contributor': [],
                 "chapters": [{
                     "url":
                     "https://cdn.door43.org/ylb/obs/v4.1/128kbps/ylb_obs_1_128kbps.mp3",
                     "modified": "",
                     "length": 0,
                     "build_rules": ["signing.sign_given_url"],
                     "signature": "",
                     "identifier": 1,
                     "size": 0
                 }],
                 'format':
                 '',
                 'modified':
                 '',
                 'signature':
                 '',
                 'size':
                 0,
                 'source_version':
                 '4.1',
                 'quality':
                 '128kbps',
                 'url':
                 'https://cdn.door43.org/ylb/obs/v4.1/128kbps/ylb_obs_128kbps.zip',
                 'version':
                 '1'
             }]
         }
     }
     assert_object_equals(self, expected['resource_formats'],
                          resource_formats)
     assert_object_equals(self, expected['project_formats'],
                          project_formats)
    def test_parse_complete(self):
        media_yaml = '''resource:
    version: "{latest}"
    media:
      -
        identifier: "pdf"
        version: "{latest}"
        contributor: []
        url: "https://cdn.door43.org/en/obs/v{version}/media/{identifier}/obs.pdf"
projects:
  -
    identifier: "obs"
    version: "{latest}"
    media:
      -
       identifier: "pdf"
       version: "1"
       contributor: []
       url: "https://cdn.door43.org/obs/txt/1/hmr/obs-hmr-v4_1.pdf"'''
        media = yaml.load(media_yaml)
        content_version = '4.1'
        project_chapters = {}
        resource_formats, project_formats = parse_media(
            media, content_version, project_chapters)
        expected = {
            'resource_formats': [{
                'build_rules': ['signing.sign_given_url'],
                'contributor': [],
                'format': '',
                'modified': '',
                'signature': '',
                'size': 0,
                'source_version': '4.1',
                'url': 'https://cdn.door43.org/en/obs/v4.1/media/pdf/obs.pdf',
                'version': '4.1'
            }],
            'project_formats': {
                'obs': [{
                    'build_rules': ['signing.sign_given_url'],
                    'contributor': [],
                    'format': '',
                    'modified': '',
                    'signature': '',
                    'size': 0,
                    'source_version': '4.1',
                    'url':
                    'https://cdn.door43.org/obs/txt/1/hmr/obs-hmr-v4_1.pdf',
                    'version': '1'
                }]
            }
        }
        assert_object_equals(self, expected['resource_formats'],
                             resource_formats)
        assert_object_equals(self, expected['project_formats'],
                             project_formats)
示例#4
0
 def test_strip_build_rules(self, mock_reporter):
     state = self.make_handler_instance('valid.json')
     obj = {
         'build_rules': [],
         'id':
         'obj',
         'projects': [{
             'build_rules': [],
             'id':
             'proj',
             'formats': [{
                 'build_rules': [],
                 'id': 'fmt',
                 'chapters': [{
                     'id': 'chp',
                     'build_rules': []
                 }]
             }]
         }],
         'formats': [{
             'build_rules': [],
             'id': 'fmt'
         }]
     }
     expected = {
         'id':
         'obj',
         'projects': [{
             'id':
             'proj',
             'formats': [{
                 'id': 'fmt',
                 'chapters': [{
                     'id': 'chp'
                 }]
             }]
         }],
         'formats': [{
             'id': 'fmt'
         }]
     }
     state['handler']._strip_build_rules(obj)
     assert_object_equals(self, expected, obj)
 def test_make_signing_function_status_with_errors(self):
     handler = StatusHandler(event={}, context=None)
     errors = {
         'd43-catalog_signing': [
             {
                 'message': 'first error',
                 'timestamp': '2017-10-20T18:37:23.059571+00:00'
             },
             {
                 'message': 'second error',
                 'timestamp': '2017-11-20T18:37:23.059571+00:00'
             }
         ]
     }
     response = handler.make_function_status('signing', errors)
     self.assertEqual(response['status'], 'complete')
     self.assertEqual(response['name'], 'signing')
     self.assertEqual(response['lambda'], 'd43-catalog_signing')
     assert_object_equals(self, response['errors'], errors['d43-catalog_signing'])
 def test_parse_chapters_with_quality(self):
     media = {
         'identifier':
         'obs',
         'version':
         '{latest}',
         'media': [{
             'identifier':
             'mp4',
             'version':
             1,
             'contributor': ['First Contributor', 'Second Contributor'],
             'quality': ['720p', '360p'],
             'url':
             'https://cdn.door43.org/obs/txt/1/hmr/{quality}/obs-hmr-v4_1.mp4',
             'chapter_url':
             'https://cdn.door43.org/obs/txt/v{version}/hmr/media/{identifier}/{quality}/obs_{chapter}.mp4'
         }]
     }
     content_version = '4.1'
     chapters = ['01', '02']
     output = _parse_project(media, content_version, chapters)
     expected = [{
         'build_rules': ['signing.sign_given_url'],
         'contributor': ['First Contributor', 'Second Contributor'],
         'format':
         '',
         'modified':
         '',
         'signature':
         '',
         'size':
         0,
         'quality':
         '720p',
         'source_version':
         '4.1',
         'url':
         'https://cdn.door43.org/obs/txt/1/hmr/720p/obs-hmr-v4_1.mp4',
         'version':
         '1',
         'chapters': [{
             "build_rules": ['signing.sign_given_url'],
             "identifier":
             "01",
             "length":
             0,
             "modified":
             "",
             "signature":
             "",
             "size":
             0,
             "url":
             "https://cdn.door43.org/obs/txt/v1/hmr/media/mp4/720p/obs_01.mp4"
         }, {
             "build_rules": ['signing.sign_given_url'],
             "identifier":
             "02",
             "length":
             0,
             "modified":
             "",
             "signature":
             "",
             "size":
             0,
             "url":
             "https://cdn.door43.org/obs/txt/v1/hmr/media/mp4/720p/obs_02.mp4"
         }]
     }, {
         'build_rules': ['signing.sign_given_url'],
         'contributor': ['First Contributor', 'Second Contributor'],
         'format':
         '',
         'modified':
         '',
         'signature':
         '',
         'size':
         0,
         'quality':
         '360p',
         'source_version':
         '4.1',
         'url':
         'https://cdn.door43.org/obs/txt/1/hmr/360p/obs-hmr-v4_1.mp4',
         'version':
         '1',
         'chapters': [{
             "build_rules": ['signing.sign_given_url'],
             "identifier":
             "01",
             "length":
             0,
             "modified":
             "",
             "signature":
             "",
             "size":
             0,
             "url":
             "https://cdn.door43.org/obs/txt/v1/hmr/media/mp4/360p/obs_01.mp4"
         }, {
             "build_rules": ['signing.sign_given_url'],
             "identifier":
             "02",
             "length":
             0,
             "modified":
             "",
             "signature":
             "",
             "size":
             0,
             "url":
             "https://cdn.door43.org/obs/txt/v1/hmr/media/mp4/360p/obs_02.mp4"
         }]
     }]
     assert_object_equals(self, expected, output)