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'
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)
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()
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()
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()
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'))
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'))
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()
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
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
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
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'))
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"))
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 )
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()
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)
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"))
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()
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
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
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
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
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
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
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'})
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"})
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
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
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
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'})