Esempio n. 1
0
 def test_didl_comparisons(self):
     didl_object_1 = data_structures.DidlObject(
         title='a_title', parent_id='pid', item_id='iid', creator='a_creator')
     didl_object_2 = data_structures.DidlObject(
         title='a_title', parent_id='pid', item_id='iid', creator='a_creator')
     # should be not the same, but equal!
     assert didl_object_1 is not didl_object_2
     assert didl_object_1 == didl_object_2
     didl_object_3 = data_structures.DidlObject(
         title='a_title',
         parent_id='pid',
         item_id='iid',
         creator='a__different_creator')
     assert didl_object_3 != didl_object_1
Esempio n. 2
0
 def test_didl_object_to_dict_resources_remove_nones(self):
     resources_list = [
         data_structures.DidlResource("a%20uri", "a:protocol:info:xx")
     ]
     didl_object = data_structures.DidlObject(
         title="a_title",
         parent_id="pid",
         item_id="iid",
         creator="a_creator",
         resources=resources_list,
     )
     the_dict = {
         "title":
         "a_title",
         "parent_id":
         "pid",
         "item_id":
         "iid",
         "creator":
         "a_creator",
         "restricted":
         True,
         "desc":
         "RINCON_AssociatedZPUDN",
         "resources": [
             resource.to_dict(remove_nones=True)
             for resource in resources_list
         ],
     }
     assert didl_object.to_dict(remove_nones=True) == the_dict
Esempio n. 3
0
 def test_didl_resource_eq(self):
     res = data_structures.DidlResource("a%20uri", "a:protocol:info:xx")
     assert res != data_structures.DidlObject(
         title="a_title", parent_id="pid", item_id="iid"
     )
     assert res is not None
     assert res == res
Esempio n. 4
0
 def test_didl_object_to_dict_resources_remove_nones(self):
     resources_list = [
         data_structures.DidlResource('a%20uri', 'a:protocol:info:xx')
     ]
     didl_object = data_structures.DidlObject(title='a_title',
                                              parent_id='pid',
                                              item_id='iid',
                                              creator='a_creator',
                                              resources=resources_list)
     the_dict = {
         'title':
         'a_title',
         'parent_id':
         'pid',
         'item_id':
         'iid',
         'creator':
         'a_creator',
         'restricted':
         True,
         'desc':
         'RINCON_AssociatedZPUDN',
         'resources': [
             resource.to_dict(remove_nones=True)
             for resource in resources_list
         ]
     }
     assert didl_object.to_dict(remove_nones=True) == the_dict
Esempio n. 5
0
 def test_create_didl_object_with_disallowed_params(self):
     with pytest.raises(ValueError) as excinfo:
         didl_object = data_structures.DidlObject(title="a_title",
                                                  parent_id="pid",
                                                  item_id="iid",
                                                  bad_args="other")
     assert "not allowed" in str(excinfo.value)
Esempio n. 6
0
 def test_create_didl_object_with_disallowed_params(self):
     with pytest.raises(ValueError) as excinfo:
         didl_object = data_structures.DidlObject(title='a_title',
                                                  parent_id='pid',
                                                  item_id='iid',
                                                  bad_args='other')
     assert 'not allowed' in str(excinfo.value)
Esempio n. 7
0
 def test_didl_comparisons(self):
     didl_object_1 = data_structures.DidlObject(
         title="a_title", parent_id="pid", item_id="iid", creator="a_creator"
     )
     didl_object_2 = data_structures.DidlObject(
         title="a_title", parent_id="pid", item_id="iid", creator="a_creator"
     )
     # should be not the same, but equal!
     assert didl_object_1 is not didl_object_2
     assert didl_object_1 == didl_object_2
     didl_object_3 = data_structures.DidlObject(
         title="a_title",
         parent_id="pid",
         item_id="iid",
         creator="a__different_creator",
     )
     assert didl_object_3 != didl_object_1
Esempio n. 8
0
 def test_create_didl_object_with_good_params(self):
     didl_object = data_structures.DidlObject(title='a_title',
                                              parent_id='pid',
                                              item_id='iid',
                                              creator='a_creator',
                                              desc="dummy")
     assert didl_object is not None
     assert didl_object.title == 'a_title'
     assert didl_object.parent_id == 'pid'
     assert didl_object.item_id == 'iid'
     assert didl_object.creator == 'a_creator'
     assert didl_object.resources == []
     assert didl_object.desc == "dummy"
Esempio n. 9
0
 def test_create_didl_object_with_good_params(self):
     didl_object = data_structures.DidlObject(
         title="a_title",
         parent_id="pid",
         item_id="iid",
         creator="a_creator",
         desc="dummy",
     )
     assert didl_object is not None
     assert didl_object.title == "a_title"
     assert didl_object.parent_id == "pid"
     assert didl_object.item_id == "iid"
     assert didl_object.creator == "a_creator"
     assert didl_object.resources == []
     assert didl_object.desc == "dummy"
Esempio n. 10
0
 def test_didl_object_to_element(self):
     didl_object = data_structures.DidlObject(
         title='a_title', parent_id='pid', item_id='iid', creator='a_creator')
     # we seem to have to go through this to get ElementTree to deal
     # with namespaces properly!
     elt = XML.fromstring(XML.tostring(didl_object.to_element(True)))
     elt2 = XML.fromstring(
         '<dummy xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/" ' +
         'xmlns:dc="http://purl.org/dc/elements/1.1/" ' +
         'xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/">' +
         '<item id="iid" parentID="pid" restricted="true">' +
         '<dc:title>a_title</dc:title>' +
         '<dc:creator>a_creator</dc:creator>' +
         '<upnp:class>object</upnp:class><desc id="cdudn" ' +
         'nameSpace="urn:schemas-rinconnetworks-com:metadata-1-0/">' +
         'RINCON_AssociatedZPUDN</desc></item></dummy>')[0]
     assert_xml_equal(elt2, elt)
Esempio n. 11
0
 def test_didl_object_to_dict(self):
     didl_object = data_structures.DidlObject(
         title='a_title', parent_id='pid', item_id='iid', creator='a_creator')
     the_dict = {
         'title': 'a_title',
         'parent_id': 'pid',
         'item_id': 'iid',
         'creator': 'a_creator',
         'restricted': True,
         'desc': 'RINCON_AssociatedZPUDN'
     }
     assert didl_object.to_dict() == the_dict
     # adding in an attibute not in _translation should make no difference
     didl_object.other = 'other'
     assert didl_object.to_dict() == the_dict
     # but changing on the other should
     didl_object.creator = 'another'
     assert didl_object.to_dict() != the_dict
Esempio n. 12
0
 def test_didl_object_from_dict_resources(self):
     resources_list = [data_structures.DidlResource('a%20uri',
                                                    'a:protocol:info:xx')]
     didl_object = data_structures.DidlObject(title='a_title',
                                              parent_id='pid',
                                              item_id='iid',
                                              creator='a_creator',
                                              desc='dummy',
                                              resources=resources_list)
     the_dict = {
         'title': 'a_title',
         'parent_id': 'pid',
         'item_id': 'iid',
         'creator': 'a_creator',
         'restricted': True,
         'desc': 'dummy',
         'resources': [resource.to_dict() for resource in resources_list]
     }
     assert data_structures.DidlObject.from_dict(the_dict) == didl_object
Esempio n. 13
0
 def test_didl_object_to_dict(self):
     didl_object = data_structures.DidlObject(
         title="a_title", parent_id="pid", item_id="iid", creator="a_creator"
     )
     the_dict = {
         "title": "a_title",
         "parent_id": "pid",
         "item_id": "iid",
         "creator": "a_creator",
         "restricted": True,
         "desc": "RINCON_AssociatedZPUDN",
     }
     assert didl_object.to_dict() == the_dict
     # adding in an attibute not in _translation should make no difference
     didl_object.other = "other"
     assert didl_object.to_dict() == the_dict
     # but changing on the other should
     didl_object.creator = "another"
     assert didl_object.to_dict() != the_dict
Esempio n. 14
0
 def test_didl_object_from_dict_resources(self):
     resources_list = [data_structures.DidlResource("a%20uri", "a:protocol:info:xx")]
     didl_object = data_structures.DidlObject(
         title="a_title",
         parent_id="pid",
         item_id="iid",
         creator="a_creator",
         desc="dummy",
         resources=resources_list,
     )
     the_dict = {
         "title": "a_title",
         "parent_id": "pid",
         "item_id": "iid",
         "creator": "a_creator",
         "restricted": True,
         "desc": "dummy",
         "resources": [resource.to_dict() for resource in resources_list],
     }
     assert data_structures.DidlObject.from_dict(the_dict) == didl_object
Esempio n. 15
0
 def test_didl_object_from_dict(self):
     didl_object = data_structures.DidlObject(title='a_title',
                                              parent_id='pid',
                                              item_id='iid',
                                              creator='a_creator',
                                              desc='dummy')
     the_dict = {
         'title': 'a_title',
         'parent_id': 'pid',
         'item_id': 'iid',
         'creator': 'a_creator',
         'restricted': True,
         'desc': 'dummy'
     }
     assert data_structures.DidlObject.from_dict(the_dict) == didl_object
     # adding in an attibute not in _translation should make no difference
     the_dict['creator'] = 'another_creator'
     assert data_structures.DidlObject.from_dict(the_dict) != didl_object
     # round trip
     assert data_structures.DidlObject.from_dict(the_dict).to_dict() == \
         the_dict
Esempio n. 16
0
 def test_didl_object_from_dict(self):
     didl_object = data_structures.DidlObject(
         title="a_title",
         parent_id="pid",
         item_id="iid",
         creator="a_creator",
         desc="dummy",
     )
     the_dict = {
         "title": "a_title",
         "parent_id": "pid",
         "item_id": "iid",
         "creator": "a_creator",
         "restricted": True,
         "desc": "dummy",
     }
     assert data_structures.DidlObject.from_dict(the_dict) == didl_object
     # adding in an attibute not in _translation should make no difference
     the_dict["creator"] = "another_creator"
     assert data_structures.DidlObject.from_dict(the_dict) != didl_object
     # round trip
     assert data_structures.DidlObject.from_dict(the_dict).to_dict() == the_dict
Esempio n. 17
0
 def test_didl_resource_eq(self):
     res = data_structures.DidlResource('a%20uri', 'a:protocol:info:xx')
     assert res != data_structures.DidlObject(
         title='a_title', parent_id='pid', item_id='iid')
     assert res is not None
     assert res == res
Esempio n. 18
0
 def test_create_didl_object_with_no_params(self):
     with pytest.raises(TypeError):
         didl_object = data_structures.DidlObject()