Esempio n. 1
0
 def test_get_setting(self):
     setting_old = Setting(name='test_setting', value='test value example')
     self.session.add(setting_old)
     setting_new = Setting(name='test_setting', value='updated example')
     self.session.add(setting_new)
     self.session.commit()
     assert Setting.get_setting('test_setting').value == 'updated example'
Esempio n. 2
0
 def create_default_settings(self):
     about_page_setting = Setting(name='about_page_content',
                                  value='example content value')
     self.db.save(about_page_setting)
     welcome_page_setting = Setting(
         name='welcome_page_content',
         value='example welcome content <br>here')
     self.db.save(welcome_page_setting)
Esempio n. 3
0
    def setup(self):
        super(TestEngine, self).setup()
        round_time_sleep_obj = Setting.get_setting('round_time_sleep')
        round_time_sleep_obj.value = 0
        self.session.add(round_time_sleep_obj)
        worker_refresh_time_obj = Setting.get_setting('worker_refresh_time')
        worker_refresh_time_obj.value = 0
        self.session.add(worker_refresh_time_obj)

        self.session.commit()
Esempio n. 4
0
 def test_boolean_value_advanced(self):
     setting = Setting(name='test_setting', value=True)
     assert setting.name == 'test_setting'
     assert setting.value is True
     self.session.add(setting)
     self.session.commit()
     setting.value = 'somevalue'
     assert setting.value == 'somevalue'
     self.session.add(setting)
     self.session.commit()
Esempio n. 5
0
    def setup(self):
        super(TestEngine, self).setup()
        target_round_time_obj = Setting.get_setting("target_round_time")
        target_round_time_obj.value = 0
        self.session.add(target_round_time_obj)
        worker_refresh_time_obj = Setting.get_setting("worker_refresh_time")
        worker_refresh_time_obj.value = 0
        self.session.add(worker_refresh_time_obj)

        self.session.commit()
Esempio n. 6
0
def settings():
    if current_user.is_white_team:
        about_page_content = Setting.get_setting('about_page_content').value
        welcome_page_content = Setting.get_setting(
            'welcome_page_content').value
        blue_teams = Team.get_all_blue_teams()
        return render_template('admin/settings.html',
                               blue_teams=blue_teams,
                               about_page_content=about_page_content,
                               welcome_page_content=welcome_page_content)
    else:
        return redirect(url_for('auth.unauthorized'))
Esempio n. 7
0
def permissions():
    if current_user.is_white_team:
        blue_teams = Team.get_all_blue_teams()
        return render_template(
            'admin/permissions.html',
            blue_teams=blue_teams,
            blue_team_update_hostname=Setting.get_setting('blue_team_update_hostname').value,
            blue_team_update_port=Setting.get_setting('blue_team_update_port').value,
            blue_team_update_account_usernames=Setting.get_setting('blue_team_update_account_usernames').value,
            blue_team_update_account_passwords=Setting.get_setting('blue_team_update_account_passwords').value,
        )
    else:
        return redirect(url_for('auth.unauthorized'))
Esempio n. 8
0
 def create_default_settings(self):
     about_page_setting = Setting(name='about_page_content',
                                  value='example content value')
     self.session.add(about_page_setting)
     welcome_page_setting = Setting(
         name='welcome_page_content',
         value='example welcome content <br>here')
     self.session.add(welcome_page_setting)
     round_time_sleep_setting = Setting(name='round_time_sleep', value=60)
     self.session.add(round_time_sleep_setting)
     worker_refresh_time_setting = Setting(name='worker_refresh_time',
                                           value=30)
     self.session.add(worker_refresh_time_setting)
     self.session.commit()
Esempio n. 9
0
 def test_init_setting(self):
     setting = Setting(name='test_setting', value='test value example')
     assert setting.id is None
     assert setting.name == 'test_setting'
     assert setting.value == 'test value example'
     self.db.save(setting)
     assert setting.id is not None
Esempio n. 10
0
 def test_boolean_value_negative(self):
     setting = Setting(name='test_setting', value=False)
     assert setting.name == 'test_setting'
     assert setting.value is False
     self.session.add(setting)
     self.session.commit()
     assert setting.value is False
Esempio n. 11
0
 def test_init_setting(self):
     setting = Setting(name='test_setting', value='test value example')
     assert setting.id is None
     assert setting.name == 'test_setting'
     assert setting.value == 'test value example'
     self.session.add(setting)
     self.session.commit()
     assert setting.id is not None
Esempio n. 12
0
def settings():
    if current_user.is_white_team:
        about_page_content = Setting.get_setting('about_page_content').value
        welcome_page_content = Setting.get_setting('welcome_page_content').value
        round_time_sleep = Setting.get_setting('round_time_sleep').value
        worker_refresh_time = Setting.get_setting('worker_refresh_time').value
        blue_teams = Team.get_all_blue_teams()
        return render_template(
            'admin/settings.html',
            blue_teams=blue_teams,
            round_time_sleep=round_time_sleep,
            worker_refresh_time=worker_refresh_time,
            about_page_content=about_page_content,
            welcome_page_content=welcome_page_content
        )
    else:
        return redirect(url_for('auth.unauthorized'))
Esempio n. 13
0
def settings():
    if current_user.is_white_team:
        about_page_content = Setting.get_setting("about_page_content").value
        welcome_page_content = Setting.get_setting(
            "welcome_page_content").value
        target_round_time = Setting.get_setting("target_round_time").value
        worker_refresh_time = Setting.get_setting("worker_refresh_time").value
        blue_teams = Team.get_all_blue_teams()
        return render_template(
            "admin/settings.html",
            blue_teams=blue_teams,
            target_round_time=target_round_time,
            worker_refresh_time=worker_refresh_time,
            about_page_content=about_page_content,
            welcome_page_content=welcome_page_content,
        )
    else:
        return redirect(url_for("auth.unauthorized"))
Esempio n. 14
0
def service(id):
    service = session.query(Service).get(id)
    if service is None or not current_user.team == service.team:
        return redirect(url_for('auth.unauthorized'))
    modify_hostname_setting = Setting.get_setting('blue_team_update_hostname').value
    modify_port_setting = Setting.get_setting('blue_team_update_port').value
    modify_account_usernames_setting = Setting.get_setting('blue_team_update_account_usernames').value
    modify_account_passwords_setting = Setting.get_setting('blue_team_update_account_passwords').value

    return render_template(
        'service.html',
        id=id,
        service=service,
        modify_hostname_setting=modify_hostname_setting,
        modify_port_setting=modify_port_setting,
        modify_account_passwords_setting=modify_account_passwords_setting,
        modify_account_usernames_setting=modify_account_usernames_setting
    )
Esempio n. 15
0
 def create_default_settings(self):
     self.session.add(
         Setting(name="about_page_content", value="example content value"))
     self.session.add(
         Setting(name="welcome_page_content",
                 value="example welcome content <br>here"))
     self.session.add(Setting(name="target_round_time", value=60))
     self.session.add(Setting(name="worker_refresh_time", value=30))
     self.session.add(Setting(name="blue_team_update_hostname", value=True))
     self.session.add(Setting(name="blue_team_update_port", value=True))
     self.session.add(
         Setting(name="blue_team_update_account_usernames", value=True))
     self.session.add(
         Setting(name="blue_team_update_account_passwords", value=True))
     self.session.add(
         Setting(name="blue_team_view_check_output", value=True))
     self.session.add(Setting(name="overview_show_round_info", value=True))
     self.session.commit()
Esempio n. 16
0
 def verify_settings(self):
     settings = [
         'round_time_sleep',
         'worker_refresh_time'
     ]
     for setting_name in settings:
         if not Setting.get_setting(setting_name):
             logger.error("Must have " + setting_name + " setting.")
             exit(1)
Esempio n. 17
0
def permissions():
    if current_user.is_white_team:
        blue_teams = Team.get_all_blue_teams()
        return render_template(
            "admin/permissions.html",
            blue_teams=blue_teams,
            blue_team_update_hostname=Setting.get_setting(
                "blue_team_update_hostname").value,
            blue_team_update_port=Setting.get_setting(
                "blue_team_update_port").value,
            blue_team_update_account_usernames=Setting.get_setting(
                "blue_team_update_account_usernames").value,
            blue_team_update_account_passwords=Setting.get_setting(
                "blue_team_update_account_passwords").value,
            blue_team_view_check_output=Setting.get_setting(
                "blue_team_view_check_output").value,
        )
    else:
        return redirect(url_for("auth.unauthorized"))
Esempio n. 18
0
 def create_default_settings(self):
     self.session.add(
         Setting(name='about_page_content', value='example content value'))
     self.session.add(
         Setting(name='welcome_page_content',
                 value='example welcome content <br>here'))
     self.session.add(Setting(name='round_time_sleep', value=60))
     self.session.add(Setting(name='worker_refresh_time', value=30))
     self.session.add(Setting(name='blue_team_update_hostname', value=True))
     self.session.add(Setting(name='blue_team_update_port', value=True))
     self.session.add(
         Setting(name='blue_team_update_account_usernames', value=True))
     self.session.add(
         Setting(name='blue_team_update_account_passwords', value=True))
     self.session.add(Setting(name='overview_show_round_info', value=True))
     self.session.commit()
Esempio n. 19
0
def admin_update_blueteam_edit_account_usernames():
    if current_user.is_white_team:
        setting = Setting.get_setting('blue_team_update_account_usernames')
        if setting.value is True:
            setting.value = False
        else:
            setting.value = True
        session.add(setting)
        session.commit()
        return redirect(url_for('admin.permissions'))
    return {'status': 'Unauthorized'}, 403
Esempio n. 20
0
def admin_update_welcome_page_content():
    if current_user.is_white_team:
        if 'welcome_page_content' in request.form:
            setting = Setting.get_setting('welcome_page_content')
            setting.value = request.form['welcome_page_content']
            db.save(setting)
            flash('Welcome Page Content Successfully Updated.', 'success')
            return redirect(url_for('admin.settings'))
        flash('Error: welcome_page_content not specified.', 'danger')
        return redirect(url_for('admin.manage'))
    return {'status': 'Unauthorized'}, 403
Esempio n. 21
0
def admin_update_blueteam_edit_account_passwords():
    if current_user.is_white_team:
        setting = Setting.get_setting("blue_team_update_account_passwords")
        if setting.value is True:
            setting.value = False
        else:
            setting.value = True
        session.add(setting)
        session.commit()
        return redirect(url_for("admin.permissions"))
    return {"status": "Unauthorized"}, 403
Esempio n. 22
0
def admin_update_welcome_page_content():
    if current_user.is_white_team:
        if "welcome_page_content" in request.form:
            setting = Setting.get_setting("welcome_page_content")
            setting.value = request.form["welcome_page_content"]
            session.add(setting)
            session.commit()
            flash("Welcome Page Content Successfully Updated.", "success")
            return redirect(url_for("admin.settings"))
        flash("Error: welcome_page_content not specified.", "danger")
        return redirect(url_for("admin.manage"))
    return {"status": "Unauthorized"}, 403
Esempio n. 23
0
def admin_update_about_page_content():
    if current_user.is_white_team:
        if 'about_page_content' in request.form:
            setting = Setting.get_setting('about_page_content')
            setting.value = request.form['about_page_content']
            session.add(setting)
            session.commit()
            flash('About Page Content Successfully Updated.', 'success')
            return redirect(url_for('admin.settings'))
        flash('Error: about_page_content not specified.', 'danger')
        return redirect(url_for('admin.manage'))
    return {'status': 'Unauthorized'}, 403
Esempio n. 24
0
def admin_update_blueteam_view_check_output():
    if current_user.is_white_team:
        setting = Setting.get_setting("blue_team_view_check_output")
        print(setting.__dict__)
        if setting.value is True:
            setting.value = False
        else:
            setting.value = True
        session.add(setting)
        session.commit()
        return redirect(url_for("admin.permissions"))
    return {"status": "Unauthorized"}, 403
Esempio n. 25
0
def update_service_account_info():
    if current_user.is_white_team or current_user.is_blue_team:
        if 'name' in request.form and 'value' in request.form and 'pk' in request.form:
            account = session.query(Account).get(int(request.form['pk']))
            if current_user.team == account.service.team or current_user.is_white_team:
                if account:
                    if request.form['name'] == 'username':
                        modify_usernames_setting = Setting.get_setting(
                            'blue_team_update_account_usernames')
                        if modify_usernames_setting.value is True:
                            account.username = html.escape(
                                request.form['value'])
                    elif request.form['name'] == 'password':
                        modify_password_setting = Setting.get_setting(
                            'blue_team_update_account_passwords')
                        if modify_password_setting.value is True:
                            account.password = html.escape(
                                request.form['value'])
                    session.add(account)
                    session.commit()
                    return jsonify({'status': 'Updated Account Information'})
                return jsonify({'error': 'Incorrect permissions'})
            return jsonify({'error': 'Incorrect permissions'})
    return jsonify({'error': 'Incorrect permissions'})
Esempio n. 26
0
def update_service_account_info():
    if current_user.is_white_team or current_user.is_blue_team:
        if "name" in request.form and "value" in request.form and "pk" in request.form:
            account = session.query(Account).get(int(request.form["pk"]))
            if current_user.team == account.service.team or current_user.is_white_team:
                if account:
                    if request.form["name"] == "username":
                        modify_usernames_setting = Setting.get_setting(
                            "blue_team_update_account_usernames")
                        if modify_usernames_setting.value is True:
                            account.username = html.escape(
                                request.form["value"])
                    elif request.form["name"] == "password":
                        modify_password_setting = Setting.get_setting(
                            "blue_team_update_account_passwords")
                        if modify_password_setting.value is True:
                            account.password = html.escape(
                                request.form["value"])
                    session.add(account)
                    session.commit()
                    return jsonify({"status": "Updated Account Information"})
                return jsonify({"error": "Incorrect permissions"})
            return jsonify({"error": "Incorrect permissions"})
    return jsonify({"error": "Incorrect permissions"})
Esempio n. 27
0
def admin_update_target_round_time():
    if current_user.is_white_team:
        if "target_round_time" in request.form:
            setting = Setting.get_setting("target_round_time")
            input_time = request.form["target_round_time"]
            if not input_time.isdigit():
                flash("Error: Target Round Time must be an integer.", "danger")
                return redirect(url_for("admin.settings"))
            setting.value = input_time
            session.add(setting)
            session.commit()
            flash("Target Round Time Successfully Updated.", "success")
            return redirect(url_for("admin.settings"))
        flash("Error: target_round_time not specified.", "danger")
        return redirect(url_for("admin.settings"))
    return {"status": "Unauthorized"}, 403
Esempio n. 28
0
def admin_update_round_time_sleep():
    if current_user.is_white_team:
        if 'round_time_sleep' in request.form:
            setting = Setting.get_setting('round_time_sleep')
            input_time = request.form['round_time_sleep']
            if not input_time.isdigit():
                flash('Error: Round Sleep Time must be an integer.', 'danger')
                return redirect(url_for('admin.settings'))
            setting.value = input_time
            session.add(setting)
            session.commit()
            flash('Round Sleep Time Successfully Updated.', 'success')
            return redirect(url_for('admin.settings'))
        flash('Error: round_time_sleep not specified.', 'danger')
        return redirect(url_for('admin.settings'))
    return {'status': 'Unauthorized'}, 403
Esempio n. 29
0
def admin_update_worker_refresh_time():
    if current_user.is_white_team:
        if 'worker_refresh_time' in request.form:
            setting = Setting.get_setting('worker_refresh_time')
            input_time = request.form['worker_refresh_time']
            if not input_time.isdigit():
                flash('Error: Worker Refresh Time must be an integer.',
                      'danger')
                return redirect(url_for('admin.settings'))
            setting.value = input_time
            session.add(setting)
            session.commit()
            flash('Worker Refresh Time Successfully Updated.', 'success')
            return redirect(url_for('admin.settings'))
        flash('Error: worker_refresh_time not specified.', 'danger')
        return redirect(url_for('admin.settings'))
    return {'status': 'Unauthorized'}, 403
Esempio n. 30
0
def update_port():
    if current_user.is_blue_team:
        if 'name' in request.form and 'value' in request.form and 'pk' in request.form:
            service = session.query(Service).get(int(request.form['pk']))
            if service:
                if service.team == current_user.team and request.form[
                        'name'] == 'port':
                    modify_port_setting = Setting.get_setting(
                        'blue_team_update_port').value
                    if modify_port_setting is not True:
                        return jsonify({'error': 'Incorrect permissions'})
                    service.port = int(html.escape(request.form['value']))
                    session.add(service)
                    session.commit()
                    update_overview_data()
                    update_services_data(service.team.id)
                    update_service_data(service.id)
                    return jsonify({'status': 'Updated Service Information'})
    return jsonify({'error': 'Incorrect permissions'})