Example #1
0
def test_request_do_delete_control_functional(test_dao, test_configuration):
    """ request_do_delete() should return False on success when removing a Control from a functional FMEA. """
    DUT = dtcFMEA(test_dao, test_configuration, test=True)
    DUT.request_do_select_all(parent_id=1, functional=True)
    _node_id = '0.1.1.' + str(DUT._dtm_data_model.dtm_control.last_id) + 'c'

    assert not DUT.request_do_delete(_node_id)
Example #2
0
def test_request_do_insert_mechanism(test_dao, test_configuration):
    """ request_do_insert() should return a False on success when adding a new Mechanism to a Hardware FMEA. """
    DUT = dtcFMEA(test_dao, test_configuration, test=True)
    DUT.request_do_select_all(parent_id=1, functional=False)

    assert not DUT.request_do_insert(
        entity_id=4, parent_id='0.4', level='mechanism')
Example #3
0
    def request_do_open_program(self):
        """
        Request an RAMSTK Program database be opened for analyses.

        :return: False if successful or True if an error is encountered.
        :rtype: bool
        """
        _return = False

        _database = None

        if self.RAMSTK_CONFIGURATION.RAMSTK_BACKEND == 'sqlite':
            _database = self.RAMSTK_CONFIGURATION.RAMSTK_BACKEND + ':///' + \
                self.RAMSTK_CONFIGURATION.RAMSTK_PROG_INFO['database']

        # If the database was successfully opened, create an instance of each
        # of the slave data controllers.
        _error_code, _msg = self.ramstk_model.do_open_program(_database)
        if _error_code == 0:
            pub.sendMessage('requestOpen')
            self.dic_controllers['revision'] = dtcRevision(
                self.ramstk_model.program_dao,
                self.RAMSTK_CONFIGURATION,
                test=False)
            self.dic_controllers['function'] = dtcFunction(
                self.ramstk_model.program_dao,
                self.RAMSTK_CONFIGURATION,
                test=False)
            self.dic_controllers['requirement'] = dtcRequirement(
                self.ramstk_model.program_dao,
                self.RAMSTK_CONFIGURATION,
                test=False)
            self.dic_controllers['hardware'] = dtcHardwareBoM(
                self.ramstk_model.program_dao,
                self.RAMSTK_CONFIGURATION,
                test=False)
            self.dic_controllers['validation'] = dtcValidation(
                self.ramstk_model.program_dao,
                self.RAMSTK_CONFIGURATION,
                test=False)
            self.dic_controllers['profile'] = dtcUsageProfile(
                self.ramstk_model.program_dao,
                self.RAMSTK_CONFIGURATION,
                test=False)
            self.dic_controllers['definition'] = dtcFailureDefinition(
                self.ramstk_model.program_dao,
                self.RAMSTK_CONFIGURATION,
                test=False)
            self.dic_controllers['ffmea'] = dtcFMEA(
                self.ramstk_model.program_dao,
                self.RAMSTK_CONFIGURATION,
                test=False,
                functional=True)
            self.dic_controllers['stakeholder'] = dtcStakeholder(
                self.ramstk_model.program_dao,
                self.RAMSTK_CONFIGURATION,
                test=False)
            self.dic_controllers['allocation'] = dtcAllocation(
                self.ramstk_model.program_dao,
                self.RAMSTK_CONFIGURATION,
                test=False)
            self.dic_controllers['hazops'] = dtcHazardAnalysis(
                self.ramstk_model.program_dao,
                self.RAMSTK_CONFIGURATION,
                test=False)
            self.dic_controllers['similaritem'] = dtcSimilarItem(
                self.ramstk_model.program_dao,
                self.RAMSTK_CONFIGURATION,
                test=False)
            self.dic_controllers['dfmeca'] = dtcFMEA(
                self.ramstk_model.program_dao,
                self.RAMSTK_CONFIGURATION,
                test=False,
                functional=False)
            self.dic_controllers['pof'] = dtcPoF(self.ramstk_model.program_dao,
                                                 self.RAMSTK_CONFIGURATION,
                                                 test=False)

            # Find which modules are active for the program being opened.
            self.dic_controllers['options'].request_do_select_all(site=False,
                                                                  program=True)
            _program_info = self.dic_controllers[
                'options'].request_get_options(site=False, program=True)
            self.RAMSTK_CONFIGURATION.RAMSTK_MODULES['function'] = \
                _program_info['function_active']
            self.RAMSTK_CONFIGURATION.RAMSTK_MODULES['requirement'] = \
                _program_info['requirement_active']
            self.RAMSTK_CONFIGURATION.RAMSTK_MODULES['hardware'] = \
                _program_info['hardware_active']
            self.RAMSTK_CONFIGURATION.RAMSTK_MODULES['validation'] = \
                _program_info['vandv_active']

            _page = 1
            for _module in self._lst_modules:
                if self.RAMSTK_CONFIGURATION.RAMSTK_MODULES[_module] == 1:
                    self.RAMSTK_CONFIGURATION.RAMSTK_PAGE_NUMBER[
                        _page] = _module
                    _page += 1

            # TODO: Where to put this code for the status icon?
            _icon = self.RAMSTK_CONFIGURATION.RAMSTK_ICON_DIR + \
                '/32x32/db-connected.png'
            _icon = gtk.gdk.pixbuf_new_from_file_at_size(_icon, 22, 22)
            self.icoStatus.set_from_pixbuf(_icon)
            self.icoStatus.set_tooltip(
                _(u"RAMSTK is connected to program database "
                  u"{0:s}.".format(
                      self.RAMSTK_CONFIGURATION.RAMSTK_PROG_INFO['database'])))

            self.loaded = True

            self.RAMSTK_CONFIGURATION.RAMSTK_USER_LOG.info(_msg)
            if not self.__test:
                pub.sendMessage('openedProgram')

        else:
            self.RAMSTK_CONFIGURATION.RAMSTK_DEBUG_LOG.error(_msg)
            _return = True

        return _return
Example #4
0
def test_request_do_update_all(test_dao, test_configuration):
    """ request_do_update_all() should return False on success. """
    DUT = dtcFMEA(test_dao, test_configuration, test=True)
    DUT.request_do_select_all(parent_id=1, functional=True)

    assert not DUT.request_do_update_all()
Example #5
0
def test_request_do_insert_mode_hardware(test_dao, test_configuration):
    """ request_do_insert() should return False on success when addin a mode to a hardware FMEA. """
    DUT = dtcFMEA(test_dao, test_configuration, test=True)
    DUT.request_do_select_all(parent_id=1, functional=False)

    assert not DUT.request_do_insert(entity_id=1, parent_id=0, level='mode')
Example #6
0
def test_request_do_select_all_functional(test_dao, test_configuration):
    """ request_do_select_all() should return a treelib Tree() with the functional FMEA. """
    DUT = dtcFMEA(test_dao, test_configuration, test=True)

    assert isinstance(DUT.request_do_select_all(parent_id=1, functional=True),
                      Tree)
Example #7
0
def test_create_data_controller(test_dao, test_configuration):
    """ __init__() should return instance of FMEA data controller. """
    DUT = dtcFMEA(test_dao, test_configuration, test=True)

    assert isinstance(DUT, dtcFMEA)
    assert isinstance(DUT._dtm_data_model, dtmFMEA)