Exemplo n.º 1
0
def test_UNTLElement_add_child_exception():
    """Test random children are not allowed."""
    child_element = us.UNTLElement()
    child_element.tag = 'child1'
    element = us.UNTLElement()
    with pytest.raises(us.UNTLStructureException):
        element.add_child(child_element)
Exemplo n.º 2
0
def test_UNTLElement_add_child():
    """Test children in contained_children are allowed for adding."""
    child_element = us.UNTLElement()
    child_tag = 'child1'
    child_element.tag = child_tag
    element = us.UNTLElement()
    element.contained_children.append(child_tag)
    element.add_child(child_element)
    assert child_element in element.children
Exemplo n.º 3
0
def test_create_untl_xml_subelement_children():
    """Test children are added as subelements to initial subelement."""
    parent = Element('metadata')
    contributor = us.UNTLElement(qualifier='cmp')
    contributor.tag = 'contributor'
    contributor.contained_children = ['name']
    name = us.UNTLElement(content='Bob, A.')
    name.tag = 'name'
    contributor.add_child(name)
    subelement = us.create_untl_xml_subelement(parent, contributor)
    assert subelement.attrib['qualifier'] == contributor.qualifier
    # Check that the first child's text is the name.
    assert subelement[0].text == name.content
Exemplo n.º 4
0
def test_Metadata_sort_untl():
    """Test that elements are sorted correctly."""
    metadata = us.Metadata()
    child1 = us.UNTLElement()
    child1.tag = 'ziggy'
    child2 = us.UNTLElement()
    child2.tag = 'apple'
    child3 = us.UNTLElement()
    child3.tag = 'dash'
    metadata.children = [child1, child2, child3]
    # Sort by the tags in this order.
    metadata.sort_untl(['dash', 'ziggy', 'apple'])
    assert metadata.children == [child3, child1, child2]
Exemplo n.º 5
0
def test_UNTLElement_record_content_length():
    """Check the record_length with meta field excluded."""
    # Create an element with collection and meta fields.
    root = us.UNTLElement()
    root.tag = 'metadata'
    root.contained_children = ['collection', 'meta']
    collection = us.UNTLElement(content=u'Colección')
    collection.tag = 'collection'
    root.add_child(collection)
    meta = us.UNTLElement(content='fake',
                          qualifier='ark')
    meta.tag = 'meta'
    root.add_child(meta)
    assert root.record_content_length == 42
Exemplo n.º 6
0
def test_UNTLElement_add_form_content_only_no_parent_tag():
    """Test form is created with content but no qualifier nor parent tag."""
    element = us.UNTLElement()
    element.tag = 'primarySource'
    element.add_form(content='test_content')
    assert isinstance(element.form, FormElement)
    assert element.form.untl_object == element
Exemplo n.º 7
0
def test_UNTLElement_add_form_qualifier_only():
    """Test form is created with qualifier but not content passed."""
    element = us.UNTLElement()
    element.tag = 'creator'
    element.add_form(qualifier='test_qualifier')
    assert isinstance(element.form, FormElement)
    assert element.form.untl_object == element
Exemplo n.º 8
0
def test_UNTLElement_add_form_no_qualifier_no_content_no_parent_tag():
    """Test form is created with no parent tag, no content, no qualifier."""
    element = us.UNTLElement()
    element.tag = 'publisher'
    element.add_form()
    assert isinstance(element.form, FormElement)
    assert element.form.untl_object == element
Exemplo n.º 9
0
def test_UNTLElement_add_form_no_qualifier_no_content_no_parent_tag_mocked(mock_pub):
    """Verify FormElement subclass call with no parent tag, no content, no qualifier."""
    element = us.UNTLElement()
    element.tag = 'publisher'
    element.add_form()
    mock_pub.assert_called_once_with(vocabularies=None,
                                     untl_object=element,
                                     superuser=False)
Exemplo n.º 10
0
def test_create_untl_xml_subelement_no_children():
    """Test subelement is added to tree with content and qualifier."""
    parent = Element('metadata')
    title = us.UNTLElement(content='A title',
                           qualifier='officialtitle')
    title.tag = 'title'
    subelement = us.create_untl_xml_subelement(parent, title, prefix='')
    assert subelement.text == title.content
    assert subelement.attrib['qualifier'] == title.qualifier
Exemplo n.º 11
0
def test_UNTLElement_add_form_qualifier_only_mocked(mock_creator):
    """Verify FormElement subclass call with qualifier but not content passed."""
    element = us.UNTLElement()
    element.tag = 'creator'
    qualifier = 'test_qualifier'
    element.add_form(qualifier=qualifier)
    mock_creator.assert_called_once_with(vocabularies=None,
                                         qualifier_value=qualifier,
                                         untl_object=element,
                                         superuser=False)
Exemplo n.º 12
0
def test_UNTLElement_add_form_content_only_no_parent_tag_mocked(mock_ps):
    """Verify FormElement subclass call with content but no qualifier nor parent tag."""
    element = us.UNTLElement()
    element.tag = 'primarySource'
    content = 'test_content'
    element.add_form(content=content)
    mock_ps.assert_called_once_with(vocabularies=None,
                                    input_value=content,
                                    untl_object=element,
                                    superuser=False)
Exemplo n.º 13
0
def test_UNTLElement_add_form_no_qualifier_no_content_parent_tag():
    """Test form is created with parent tag, no content nor qualifier."""
    element = us.UNTLElement()
    element.tag = 'type'
    qualifiers = ['test']
    element.add_form(vocabularies={'agent-type': qualifiers},
                     parent_tag='test_parent')
    assert isinstance(element.form, FormElement)
    assert element.form.untl_object == element
    assert element.form.qualifier_dd == qualifiers
Exemplo n.º 14
0
def test_UNTLElement_init():
    """Check initialized UNTLElement."""
    element = us.UNTLElement(content='test_content',
                             qualifier='test_qualifier')
    assert element.tag is None
    assert element.contained_children == []
    assert element.allows_content
    assert element.allows_qualifier
    assert element.qualifier == 'test_qualifier'
    assert element.children == []
    assert element.content == 'test_content'
Exemplo n.º 15
0
def test_UNTLElement_add_form_qualifier_and_content():
    """Test form is created with qualifier and content passed."""
    element = us.UNTLElement()
    element.tag = 'title'
    qualifiers = ['test']
    element.add_form(vocabularies={'title-qualifiers': qualifiers},
                     qualifier='test_qualifier',
                     content='test_content')
    assert isinstance(element.form, FormElement)
    assert element.form.untl_object == element
    assert element.form.qualifier_dd == qualifiers
Exemplo n.º 16
0
def test_UNTLElement_add_form_no_qualifier_no_content_parent_tag_mocked(mock_type):
    """Verify FormElement subclass call with parent tag, no content nor qualifier."""
    element = us.UNTLElement()
    element.tag = 'type'
    vocabularies = {'agent-type': ['test']}
    parent_tag = 'test_parent'
    element.add_form(vocabularies=vocabularies,
                     parent_tag=parent_tag)
    mock_type.assert_called_once_with(vocabularies=vocabularies,
                                      untl_object=element,
                                      parent_tag=parent_tag,
                                      superuser=False)
Exemplo n.º 17
0
def test_UNTLElement_add_form_content_and_parent_tag():
    """Test form is created with content and parent tag passed."""
    element = us.UNTLElement()
    element.tag = 'type'
    qualifiers = ['test']
    element.add_form(vocabularies={'agent-type': qualifiers},
                     content='test_content',
                     parent_tag='test_parent')
    assert isinstance(element.form, FormElement)
    assert element.form.untl_object == element
    assert element.form.qualifier_dd == qualifiers
    assert 'designate if a test_parent' in element.form.help_text
Exemplo n.º 18
0
def test_add_missing_children():
    """Test adding expected children that don't exist for a form."""
    required = ['title', 'format', 'publisher']
    parent = us.UNTLElement()
    parent.contained_children = required
    title_child = us.Title(content='A title',
                           qualifier='officialtitle')
    children = [title_child]
    parent.children = children
    padded_children = us.add_missing_children(required, children)
    # Now there are Format and Publisher elements after Title.
    assert len(padded_children) == 3
    assert isinstance(padded_children[1], us.Format)
    assert isinstance(padded_children[2], us.Publisher)
Exemplo n.º 19
0
def test_UNTLElement_add_form_qualifier_and_content_mocked(mock_title):
    """Verify FormElement subclass call with qualifier and content passed."""
    element = us.UNTLElement()
    element.tag = 'title'
    vocabularies = {'title-qualifiers': ['test']}
    qualifier = 'test_qualifier'
    content = 'test_content'
    element.add_form(vocabularies=vocabularies,
                     qualifier=qualifier,
                     content=content)
    mock_title.assert_called_once_with(vocabularies=vocabularies,
                                       qualifier_value=qualifier,
                                       input_value=content,
                                       untl_object=element,
                                       superuser=False)
Exemplo n.º 20
0
def test_UNTLElement_add_form_content_and_parent_tag_mocked(mock_type):
    """Verify FormElement subclass call with content and parent tag passed."""
    element = us.UNTLElement()
    element.tag = 'type'
    vocabularies = {'agent-type': ['test']}
    content = 'test_content'
    parent_tag = 'test_parent'
    element.add_form(vocabularies=vocabularies,
                     content=content,
                     parent_tag=parent_tag)
    mock_type.assert_called_once_with(vocabularies=vocabularies,
                                      input_value=content,
                                      untl_object=element,
                                      parent_tag='test_parent',
                                      superuser=False)
Exemplo n.º 21
0
def test_UNTLElement_set_content_exception():
    """Test content must be allowed to set it."""
    element = us.UNTLElement()
    element.allows_content = False
    with pytest.raises(us.UNTLStructureException):
        element.set_content('test_content')
Exemplo n.º 22
0
def test_UNTLElement_set_qualifier_exception():
    """Test a qualifier must be allowed to set one."""
    element = us.UNTLElement()
    element.allows_qualifier = False
    with pytest.raises(us.UNTLStructureException):
        element.set_qualifier('test_qualifier')
Exemplo n.º 23
0
def test_UNTLElement_set_qualifier():
    """Test setting and stripping of qualifier value."""
    element = us.UNTLElement()
    element.set_qualifier('  test_qualifier ')
    assert element.qualifier == 'test_qualifier'
Exemplo n.º 24
0
def test_UNTLElement_completeness():
    """Test there is a completeness score."""
    element = us.UNTLElement()
    assert isinstance(element.completeness, float)
Exemplo n.º 25
0
def test_UNTLElement_set_content():
    """Test setting and stripping of content value."""
    element = us.UNTLElement()
    element.set_content(u'  содержани ')
    assert element.content == u'содержани'