Пример #1
0
def test_replacing_media_links(db, cls, linked_attr, link_attr, media_attr, generator):
    """
    Media links with the same name get replaced by default.
    """
    linked = generator(db)
    item1 = media_item(db, '1200x6566.png')
    item2 = media_item(db, '1x70.gif')
    cls.make_or_replace_link(getattr(linked, linked_attr), 'test', item1)
    cls.make_or_replace_link(getattr(linked, linked_attr), 'test', item2)
    [link] = cls.query.all()
    assert link.link_type == 'test'
    assert getattr(link, link_attr) == getattr(linked, linked_attr)
    assert getattr(link, media_attr) == item2.mediaid
Пример #2
0
def test_replacing_media_links(db, cls, linked_attr, link_attr, media_attr,
                               generator):
    """
    Media links with the same name get replaced by default.
    """
    linked = generator(db)
    item1 = media_item(db, '1200x6566.png')
    item2 = media_item(db, '1x70.gif')
    cls.make_or_replace_link(getattr(linked, linked_attr), 'test', item1)
    cls.make_or_replace_link(getattr(linked, linked_attr), 'test', item2)
    [link] = cls.query.all()
    assert link.link_type == 'test'
    assert getattr(link, link_attr) == getattr(linked, linked_attr)
    assert getattr(link, media_attr) == item2.mediaid
Пример #3
0
def test_multiple_media_links(db, cls, linked_attr, link_attr, media_attr, generator):
    """
    Multiple media links from a single object are possible as long as each link
    has a different name.
    """
    linked = generator(db)
    item1 = media_item(db, '1200x6566.png')
    item2 = media_item(db, '1x70.gif')
    cls.make_or_replace_link(getattr(linked, linked_attr), 'test1', item1)
    cls.make_or_replace_link(getattr(linked, linked_attr), 'test2', item2)
    [link1, link2] = cls.query.order_by(getattr(cls, media_attr).asc()).all()
    assert link1.link_type == 'test1'
    assert getattr(link1, link_attr) == getattr(linked, linked_attr)
    assert getattr(link1, media_attr) == item1.mediaid
    assert link2.link_type == 'test2'
    assert getattr(link2, link_attr) == getattr(linked, linked_attr)
    assert getattr(link2, media_attr) == item2.mediaid
Пример #4
0
def test_multiple_media_links(db, cls, linked_attr, link_attr, media_attr,
                              generator):
    """
    Multiple media links from a single object are possible as long as each link
    has a different name.
    """
    linked = generator(db)
    item1 = media_item(db, '1200x6566.png')
    item2 = media_item(db, '1x70.gif')
    cls.make_or_replace_link(getattr(linked, linked_attr), 'test1', item1)
    cls.make_or_replace_link(getattr(linked, linked_attr), 'test2', item2)
    [link1, link2] = cls.query.order_by(getattr(cls, media_attr).asc()).all()
    assert link1.link_type == 'test1'
    assert getattr(link1, link_attr) == getattr(linked, linked_attr)
    assert getattr(link1, media_attr) == item1.mediaid
    assert link2.link_type == 'test2'
    assert getattr(link2, link_attr) == getattr(linked, linked_attr)
    assert getattr(link2, media_attr) == item2.mediaid
Пример #5
0
def test_clearing_media_links(db, cls, linked_attr, link_attr, media_attr, generator):
    """
    A media link can also be cleared.
    """
    linked = generator(db)
    item = media_item(db, '1200x6566.png')
    cls.make_or_replace_link(getattr(linked, linked_attr), 'test', item)
    cls.clear_link(getattr(linked, linked_attr), 'test')
    assert cls.query.count() == 0
Пример #6
0
def test_clearing_media_links(db, cls, linked_attr, link_attr, media_attr,
                              generator):
    """
    A media link can also be cleared.
    """
    linked = generator(db)
    item = media_item(db, '1200x6566.png')
    cls.make_or_replace_link(getattr(linked, linked_attr), 'test', item)
    cls.clear_link(getattr(linked, linked_attr), 'test')
    assert cls.query.count() == 0
Пример #7
0
def test_self_media_links(db):
    """
    Media items can be linked to themselves.
    """
    item = media_item(db, '1200x6566.png')
    media.MediaMediaLink.make_or_replace_link(item.mediaid, 'test', item)
    [link] = media.MediaMediaLink.query.all()
    assert link.link_type == 'test'
    assert link.described_with_id == item.mediaid
    assert link.describee_id == item.mediaid
    assert link.media_item is link.describee
Пример #8
0
def test_self_media_links(db):
    """
    Media items can be linked to themselves.
    """
    item = media_item(db, '1200x6566.png')
    media.MediaMediaLink.make_or_replace_link(item.mediaid, 'test', item)
    [link] = media.MediaMediaLink.query.all()
    assert link.link_type == 'test'
    assert link.described_with_id == item.mediaid
    assert link.describee_id == item.mediaid
    assert link.media_item is link.describee
Пример #9
0
def test_creating_media_links(db, cls, linked_attr, link_attr, media_attr, generator):
    """
    Media links can be created from different types of objects to media items.
    """
    linked = generator(db)
    item = media_item(db, '1200x6566.png')
    cls.make_or_replace_link(getattr(linked, linked_attr), 'test', item)
    [link] = cls.query.all()
    assert link.link_type == 'test'
    assert getattr(link, link_attr) == getattr(linked, linked_attr)
    assert getattr(link, media_attr) == item.mediaid
Пример #10
0
def test_creating_media_links(db, cls, linked_attr, link_attr, media_attr,
                              generator):
    """
    Media links can be created from different types of objects to media items.
    """
    linked = generator(db)
    item = media_item(db, '1200x6566.png')
    cls.make_or_replace_link(getattr(linked, linked_attr), 'test', item)
    [link] = cls.query.all()
    assert link.link_type == 'test'
    assert getattr(link, link_attr) == getattr(linked, linked_attr)
    assert getattr(link, media_attr) == item.mediaid