Example #1
0
def test_appraisal_tab_node_formatter_old_transfer_format():
    """
    Test the _es_results_to_appraisal_tab_format helper works with the
    pre bag transfer layout (no data directory).
    """
    record = {
        "relative_path": "transfer-directory/objects/MARBLES.TGA",
        "fileuuid": "ea7a98d4-dcb5-46b3-a9dd-82262bd983aa",
        "size": 4.0,
        "tags": ["tag1", "tag2"],
        "bulk_extractor_reports": [],
        "modification_date": None,
        "format": None,
    }
    mapping = {}
    # this parameter is modified in place and will contain
    # formatted nodes for each transfer
    nodes = []
    _es_results_to_appraisal_tab_format(record, mapping, nodes)
    # extract the only transfer node at the moment
    transfer_node = nodes[0]
    assert transfer_node["type"] == "transfer"
    # there are child nodes for each directory in the path
    objects_dir_node = transfer_node["children"][0]
    assert objects_dir_node["type"] == "directory"
    # and finally a node for the file
    file_node = objects_dir_node["children"][0]
    # check that the file node properties match the record properties
    _assert_file_node_properties_match_record(file_node, record)
Example #2
0
def test_appraisal_tab_node_draggability_bagit_manifest_files():
    """Test that the file nodes in the top level of the bag cannot be dragged"""
    record = {
        "relative_path": "transfer-directory/bag-info.txt",
        "fileuuid": "2bff65bc-46c8-4c38-87c3-c4bbba304c40",
        "size": 2.0,
        "tags": [],
        "bulk_extractor_reports": [],
        "modification_date": None,
        "format": None,
    }
    mapping = {}
    nodes = []
    _es_results_to_appraisal_tab_format(record, mapping, nodes)
    transfer_node = nodes[0]
    file_node = transfer_node["children"][0]
    assert file_node["not_draggable"]
Example #3
0
def test_appraisal_tab_node_draggability_readme():
    """Test that the file node representing the transfer README cannot be dragged"""
    record = {
        "relative_path": "transfer-directory/data/README.html",
        "fileuuid": "bb318011-fb1f-4c41-8641-b35be5873b03",
        "size": 3.0,
        "tags": [],
        "bulk_extractor_reports": [],
        "modification_date": None,
        "format": None,
    }
    mapping = {}
    nodes = []
    _es_results_to_appraisal_tab_format(record, mapping, nodes)
    transfer_node = nodes[0]
    data_dir_node = transfer_node["children"][0]
    file_node = data_dir_node["children"][0]
    assert file_node["not_draggable"]
Example #4
0
def test_appraisal_tab_node_draggability_metadata():
    """Test that the file nodes in the metadata directory cannot be dragged"""
    record = {
        "relative_path": "transfer-directory/data/metadata/directory_tree.txt",
        "fileuuid": "c58db760-3767-4284-a3a3-40b9cad61095",
        "size": 1.0,
        "tags": [],
        "bulk_extractor_reports": [],
        "modification_date": None,
        "format": None,
    }
    mapping = {}
    nodes = []
    _es_results_to_appraisal_tab_format(record, mapping, nodes)
    transfer_node = nodes[0]
    data_dir_node = transfer_node["children"][0]
    # hidden directories can't be dragged either
    metadata_dir_node = data_dir_node["children"][0]
    assert metadata_dir_node["not_draggable"]
    file_node = metadata_dir_node["children"][0]
    assert file_node["not_draggable"]
Example #5
0
def test_appraisal_tab_node_draggability_explicit():
    """Test that a file node can be marked as not draggable explicitly"""
    record = {
        "relative_path": "transfer-directory/data/objects/picture.jpg",
        "fileuuid": "ea7a98d4-dcb5-46b3-a9dd-82262bd983aa",
        "size": 4.0,
        "tags": [],
        "bulk_extractor_reports": [],
        "modification_date": None,
        "format": None,
    }
    mapping = {}
    nodes = []
    _es_results_to_appraisal_tab_format(record,
                                        mapping,
                                        nodes,
                                        not_draggable=True)
    transfer_node = nodes[0]
    data_dir_node = transfer_node["children"][0]
    objects_dir_node = data_dir_node["children"][0]
    file_node = objects_dir_node["children"][0]
    assert file_node["not_draggable"]