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)
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)
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
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'
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.")
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.")
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'
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
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'
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.")
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.")
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