我在Sonos自测套件中发现了一个错误吗?

时间:2016-06-16 16:59:02

标签: testing sonos

摘要

如果具有itemType=other的项目,Sonos自测套件似乎错误地失败,如果它还有自定义浏览图标。

我认为项目类型other应该包含在utility.py的此列表中:

  17     BROWSEABLE_CONTAINER_TYPES = ('artist', 'album', 'genre', 'playlist', 'favorites', 'albumList', 'trackList', 'artistTrackList', 'container', 'favorite', 'collection', 'program', 'show')

详细

运行sonos自测试套件时,我在输出中收到以下错误:

...
INFO Start Test Case: 844 Albumart test_custom_browse_icon_configuration
STOP Discovered custom browse icon URI should be something other than None. (is None)
STOP 844 Albumart test_custom_browse_icon_configuration
...

通过调试albumart.pytest_custom_browse_icon_configuration方法),我将问题追溯到get_sample_custom_browse_icon_url方法的以下摘录:

  # TODO: Need to drill down one level deeper if the target image url cannot be found on the root level containers
  for mediaColl in response.Items:
      if mediaColl.itemType in container_types:
          if substitution_str in mediaColl.albumArtURI:
              return mediaColl.albumArtURI
          elif hasattr(mediaColl.albumArtURI,'value') and substitution_str in mediaColl.albumArtURI.value:
              return  mediaColl.albumArtURI.value

此代码应该可以找到具有自定义专辑封面的容器。但是,事实证明container_types是由较早的一行定义的:

  container_types = [t for t in Validation.BROWSEABLE_CONTAINER_TYPES if t.lower() != 'album']

Validation.BROWSEABLE_CONTAINER_TYPESutility.py中定义如下:

  # sonos-selftest/smapi/content_workflow/utility.py
  15 class Validation(WorkflowTestFixture, SMAPIClient, SMAPIService):
  16
  17     BROWSEABLE_CONTAINER_TYPES = ('artist', 'album', 'genre', 'playlist', 'favorites', 'albumList', 'trackList', 'artistTrackList', 'container', 'favorite', 'collection', 'program', 'show')

请注意,此列表中缺少'other'类型!我很确定它应该包含在列表中,browse.py提到它:

234         **Reference:** BROWSEABLE_CONTAINER_TYPES = 'artist', 'album', 'genre', 'playlist', 'favorites', 'albumList', 'trackList', 'artistTrackList', 'container', 'favorite', 'collection', 'other', '    program'

解决方法

我可以通过将itemType=other更改为itemType=container(这几乎相同)来解决此问题。

但是,如果在Sonos自测试套件的未来版本中修复了这个问题会很好。

0 个答案:

没有答案