Exemple #1
0
def test_create_hazard_analysis_data_model(test_dao):
    """ __init__ should return instance of HazardAnalysis data model. """
    DUT = dtmHazardAnalysis(test_dao)

    assert isinstance(DUT, dtmHazardAnalysis)
    assert isinstance(DUT.tree, Tree)
    assert isinstance(DUT.dao, DAO)
Exemple #2
0
def test_do_select_all(test_dao):
    """ do_select_all() should return a treelib Tree() on success when selecting HazardAnalysiss. """
    DUT = dtmHazardAnalysis(test_dao)
    _tree = DUT.do_select_all(revision_id=1)

    assert isinstance(_tree, Tree)
    assert isinstance(_tree.get_node('2.2').data, RAMSTKHazardAnalysis)
Exemple #3
0
def test_do_select_non_existent_id(test_dao):
    """ do_select() should return None when a non-existent HazardAnalysis ID is requested. """
    DUT = dtmHazardAnalysis(test_dao)
    DUT.do_select_all(revision_id=1)

    _hazard_analysis = DUT.do_select('100')

    assert _hazard_analysis is None
Exemple #4
0
def test_do_select_children(test_dao):
    """ do_select_children() should return the immediate subtree of the passed node ID. """
    DUT = dtmHazardAnalysis(test_dao)
    DUT.do_select_all(revision_id=1)

    _nodes = DUT.do_select_children(2)

    assert isinstance(_nodes, Tree)
    assert isinstance(_nodes['2.2'].data, RAMSTKHazardAnalysis)
    assert _nodes['2.2'].identifier == '2.2'
Exemple #5
0
def test_do_update_all(test_dao):
    """ do_update_all() should return a zero error code on success. """
    DUT = dtmHazardAnalysis(test_dao)
    DUT.do_select_all(revision_id=1)

    _error_code, _msg = DUT.do_update_all(hardware_id=3)

    assert _error_code == 0
    assert _msg == ("RAMSTK SUCCESS: Updating all records in the HazOps table "
                    "for Hardware ID 3.")
Exemple #6
0
def test_do_delete_non_existent_id(test_dao):
    """ do_delete() should return a non-zero error code when passed a Revision ID that doesn't exist. """
    DUT = dtmHazardAnalysis(test_dao)
    DUT.do_select_all(revision_id=1)

    _error_code, _msg = DUT.do_delete(300)

    assert _error_code == 2005
    assert _msg == ("  RAMSTK ERROR: Attempted to delete non-existent Hazard "
                    "Analysis ID 300.")
Exemple #7
0
def test_do_delete(test_dao):
    """ do_delete() should return a zero error code on success. """
    DUT = dtmHazardAnalysis(test_dao)
    DUT.do_select_all(revision_id=1)

    _error_code, _msg = DUT.do_delete('2.2')

    assert _error_code == 0
    assert _msg == ("RAMSTK SUCCESS: Deleting an item from the RAMSTK Program "
                    "database.")
    assert DUT.last_id == '8.8'
Exemple #8
0
def test_do_insert(test_dao):
    """ do_insert() should return a zero error code on success. """
    DUT = dtmHazardAnalysis(test_dao)
    DUT.do_select_all(revision_id=1)

    _error_code, _msg = DUT.do_insert(revision_id=1, hardware_id=2)

    assert _error_code == 0
    assert _msg == ("RAMSTK SUCCESS: Adding one or more items to the RAMSTK "
                    "Program database.")
    assert DUT.last_id == 9
Exemple #9
0
def test_do_select(test_dao):
    """ do_select() should return an instance of the RAMSTKHazardAnalysis data model on success. """
    DUT = dtmHazardAnalysis(test_dao)
    DUT.do_select_all(revision_id=1)

    _hazard_analysis = DUT.do_select('2.2')

    assert isinstance(_hazard_analysis, RAMSTKHazardAnalysis)
    assert _hazard_analysis.hardware_id == 2
    assert _hazard_analysis.hazard_id == 2
    assert _hazard_analysis.assembly_severity == 'Major'
Exemple #10
0
def test_do_update_non_existent_id(test_dao):
    """ do_update() should return a non-zero error code when passed an HazardAnalysis ID that doesn't exist. """
    DUT = dtmHazardAnalysis(test_dao)
    DUT.do_select_all(revision_id=1)

    _error_code, _msg = DUT.do_update(100)

    assert _error_code == 2207
    assert _msg == (
        "RAMSTK ERROR: Attempted to save non-existent Hazard Analysis "
        "ID 100.")
Exemple #11
0
def test_do_update(test_dao):
    """ do_update() should return a zero error code on success. """
    DUT = dtmHazardAnalysis(test_dao)
    DUT.do_select_all(revision_id=1)

    _hazard_analysis = DUT.do_select('3.3')
    _hazard_analysis.assembly_probability = 'Level D - Remote'

    _error_code, _msg = DUT.do_update('3.3')

    assert _error_code == 0
    assert _msg == ("RAMSTK SUCCESS: Updating the RAMSTK Program database.")
Exemple #12
0
def test_do_calculate_hri(test_dao):
    """ do_calculate() should return False on success. """
    DUT = dtmHazardAnalysis(test_dao)
    DUT.do_select_all(revision_id=1)

    _hazard_analysis = DUT.do_select('3.3')
    _hazard_analysis.assembly_severity = 'Medium'
    _hazard_analysis.assembly_probability = 'Level A - Frequent'
    _hazard_analysis.assembly_severity_f = 'Slight'
    _hazard_analysis.assembly_probability_f = 'Level C - Occasional'
    _hazard_analysis.system_severity = 'Medium'
    _hazard_analysis.system_probability = 'Level B - Reasonably Probable'
    _hazard_analysis.system_severity_f = 'Low'
    _hazard_analysis.system_probability_f = 'Level D - Remote'

    assert not DUT.do_calculate('3.3')
    assert _hazard_analysis.assembly_hri == 20
    assert _hazard_analysis.assembly_hri_f == 6
    assert _hazard_analysis.system_hri == 16
    assert _hazard_analysis.system_hri_f == 6