コード例 #1
0
def test_parse_reference():
    """Test parse_reference by asserting that the output is correct and
    matches the input data.
    """
    ffile = f.definition_elems('flatFile', 'filename1', reference='def1')
    fdef = f.definition_elems('flatFileDefinition', 'def1', reference='type1')
    assert a.parse_reference(ffile) == 'def1'
    assert a.parse_reference(fdef) == 'type1'
コード例 #2
0
def test_sections_count():
    """Test sections_count by asserting that the number of sections
    counted matches the testdata input.
    """
    file1 = f.definition_elems('flatFile', 'file1', reference='def1')
    file2 = f.definition_elems('flatFile', 'file2', reference='def2')
    file3 = f.definition_elems('flatFile', 'file3', reference='def3')
    xml = a.addml(child_elements=[file1, file2, file3])
    assert a.sections_count(xml, 'flatFile') == 3
コード例 #3
0
def test_find_section_by_name_fail():
    """Test that the find_section_by_name function returns None
    if no section matches the name.
    """
    file1 = f.definition_elems('flatFile', 'file1', reference='def1')
    file2 = f.definition_elems('flatFile', 'file2', reference='def2')
    file3 = f.definition_elems('flatFile', 'file3', reference='def3')
    xml = a.addml(child_elements=[file1, file2, file3])

    ffile = a.find_section_by_name(xml, 'flatFile', 'filer4')
    assert ffile is None
コード例 #4
0
def test_flatfiledefinition_count():
    """Test flatfiledefinition_count by asserting that the number of
    counted sections matches the testdata.
    """
    file1 = f.definition_elems('flatFile', 'file1', reference='def1')
    file2 = f.definition_elems('flatFile', 'file2', reference='def2')
    file3 = f.definition_elems('flatFile', 'file3', reference='def3')
    def1 = f.definition_elems('flatFileDefinition', 'def1', reference='type1')
    def2 = f.definition_elems('flatFileDefinition', 'def2', reference='type2')
    xml = a.addml(child_elements=[file1, file2, file3, def1, def2])
    assert f.flatfiledefinition_count(xml) == 2
コード例 #5
0
def test_find_section_by_name():
    """Test find_section_by_name by asserting that the correct
    section and correct attribute value is returned from the testdata.
    """
    file1 = f.definition_elems('flatFile', 'file1', reference='def1')
    file2 = f.definition_elems('flatFile', 'file2', reference='def2')
    file3 = f.definition_elems('flatFile', 'file3', reference='def3')
    xml = a.addml(child_elements=[file1, file2, file3])

    ffile = a.find_section_by_name(xml, 'flatFile', 'file2')
    assert ffile.tag == '{http://www.arkivverket.no/standarder/addml}flatFile'
    assert ffile.get('definitionReference') == 'def2'
コード例 #6
0
def test_iter_sections():
    """Test iter_sections by asserting that all relevant sections
    are iterated through.
    """
    file1 = f.definition_elems('flatFile', 'file1', reference='def1')
    file2 = f.definition_elems('flatFile', 'file2', reference='def2')
    file3 = f.definition_elems('flatFile', 'file3', reference='def3')
    xml = a.addml(child_elements=[file1, file2, file3])
    i = 0
    for iter_elem in a.iter_sections(xml, 'flatFile'):
        i = i + 1
        assert iter_elem.get('name') == 'file' + str(i)
    assert i == 3
コード例 #7
0
def test_definition_elems_flatfile():
    """Tests the definition_elems function by comparing test data output
    with a predefined string.
    """
    xml = """<addml:flatFile
    xmlns:addml="http://www.arkivverket.no/standarder/addml"
    name="file1" definitionReference="def1"><addml:properties><addml:property
    name="prop1"></addml:property></addml:properties></addml:flatFile>"""
    fprop = f.definition_elems('property', 'prop1')
    fprops = f.wrapper_elems('properties', child_elements=[fprop])
    ffile = f.definition_elems('flatFile', 'file1',
                               reference='def1',
                               child_elements=[fprops])

    assert h.compare_trees(ET.fromstring(xml), ffile) is True
コード例 #8
0
def test_iter_flatfiledefinitions():
    """Test iter_flatfiledefinitions by asserting that only the
    relevant sections are iterated through from the testdata.
    """
    file1 = f.definition_elems('flatFile', 'file1', reference='def1')
    file2 = f.definition_elems('flatFile', 'file2', reference='def2')
    file3 = f.definition_elems('flatFile', 'file3', reference='def3')
    def1 = f.definition_elems('flatFileDefinition', 'def1', reference='type1')
    def2 = f.definition_elems('flatFileDefinition', 'def2', reference='type2')
    xml = a.addml(child_elements=[file1, file2, file3, def1, def2])
    i = 0
    for iter_elem in f.iter_flatfiledefinitions(xml):
        i = i + 1
        assert iter_elem.get('name') == 'def' + six.text_type(i)
    assert i == 2
コード例 #9
0
def test_definition_elems_removeref():
    """Tests that the definition_elems function doesn't write an
    typeReference if it is forbidden in the element.
    """
    fftype = f.definition_elems('flatFileType', 'type1', reference='test')

    assert list(fftype.attrib.keys()) == ['name']
コード例 #10
0
def test_wrapper_elems_fail():
    """Tests that the wrapper_elems function doesn't write
    data if the supplied tag is unsupported.
    """
    file1 = f.definition_elems('flatFile', 'file1', reference='def1')
    wrapper_elem = f.wrapper_elems('flatFyles', child_elements=[file1])
    assert wrapper_elem is None
コード例 #11
0
def test_wrapper_elems_ok():
    """Tests the wrapper_elems function by comparing test data output
    with a predefined string.
    """
    xml = """<addml:flatFiles
    xmlns:addml="http://www.arkivverket.no/standarder/addml"><addml:flatFile
    name="file1" definitionReference="def1"></addml:flatFile><addml:flatFile
    name="file2" definitionReference="def2"></addml:flatFile><addml:flatFile
    name="file3"
    definitionReference="def3"></addml:flatFile></addml:flatFiles>"""
    file1 = f.definition_elems('flatFile', 'file1', reference='def1')
    file2 = f.definition_elems('flatFile', 'file2', reference='def2')
    file3 = f.definition_elems('flatFile', 'file3', reference='def3')
    wrapper_elem = f.wrapper_elems('flatFiles', child_elements=[file1, file2,
                                                                file3])
    assert h.compare_trees(ET.fromstring(xml), wrapper_elem) is True
コード例 #12
0
def test_definition_elems_noname():
    """Tests that the definition_elems function writes the
    definitionReference or typeReference attribute to an element if it
    isn't supplied but is mandatory.
    """
    fidef = f.definition_elems('fieldDefinition', 'fidef1')

    assert list(fidef.attrib.keys()) == ['name', 'typeReference']
    assert fidef.get('typeReference')
コード例 #13
0
def test_definition_elems_fail():
    """Tests that the definition_elems function doesn't write
    data if the supplied tag is unsupported.
    """
    file1 = f.definition_elems('flatFyle', 'file1', reference='def1')
    assert file1 is None