def test_deregister_program(self):
        # Ensure that results and registrants are empty
        results = database_engine.get_current_results()
        registrants = database_engine.all_registrants()
        self.assertTrue(len(results) == 0)
        self.assertTrue(len(list(registrants)) == 0)

        # Register a program
        passing = testing_framework_test.TestTestingFramework.pass_test
        database_engine.register_program(passing[0], passing[1], passing[2],
                                         passing[3])

        # Ensure program is registered
        registrants = database_engine.all_registrants()
        self.assertTrue(len(list(registrants)) == 1)
        results = database_engine.get_current_results()
        if len(results) == 0:
            self.fail('Results should contain something')

        # Deregister
        database_engine.deregister_program(1)

        # Check that results and registrants empty
        results = database_engine.get_current_results()
        registrants = database_engine.all_registrants()
        self.assertTrue(len(results) == 0)
        self.assertTrue(len(list(registrants)) == 0)
Пример #2
0
def execute_tests():
    """Execute all tests from DB."""
    logger.info("Executing all tests")
    # The logger is not getting enabled which is causing execute tests to not run
    # if logger.disabled:
    #     raise RuntimeError('logger is disabled but shouldn\'t be')
    execution_id = database_engine.record_execution(get_current_os_version())
    # iterate over all tests
    for registrant in database_engine.all_registrants():
        execute_registrant(registrant, execution_id)
Пример #3
0
def index():
    """The index page of the web app displays several tables detailing registrants and their results"""
    # instantiate the form object with request data
    form = forms.RegistrantForm(request.form)
    if request.method == "POST": # handle new registration
        if form.validate():
            database_engine.register_program(
                form.name.data,
                form.path.data,
                form.command.data,
                form.author.data,
            )
            return redirect(url_for('index'))
    return flask.render_template(
        'index.html',
        context=dict(
            current_version=testing_framework.get_current_os_version(),
            registrants=database_engine.all_registrants(),
            test_results=database_engine.get_current_results(),
            form=form))
Пример #4
0
 def tearDown(self):
     # Delete all the registrants after each testss
     for registrant in database_engine.all_registrants():
         database_engine.deregister_program(registrant.id)
Пример #5
0
 def setUpClass(self):
     # Delete all the programs in the database
     for registrant in database_engine.all_registrants():
         database_engine.deregister_program(registrant.id)