add branch validation to queue
This commit is contained in:
@@ -252,6 +252,29 @@ def submit_step1():
|
||||
'output': f'Exception: {str(e)}'
|
||||
})
|
||||
|
||||
@jobs_bp.route('/submit/step2', methods=['POST'])
|
||||
@login_required
|
||||
def submit_step2():
|
||||
branch_name = request.form.get('branch_name')
|
||||
scenario_map_json = request.form.get('scenario_map')
|
||||
selected_scenarios_json = request.form.get('selected_scenarios')
|
||||
|
||||
try:
|
||||
scenario_map = json.loads(scenario_map_json) if scenario_map_json else {}
|
||||
selected_scenarios = json.loads(selected_scenarios_json) if selected_scenarios_json else []
|
||||
except json.JSONDecodeError:
|
||||
flash('Invalid scenario data', 'error')
|
||||
return redirect(url_for('jobs.submit'))
|
||||
|
||||
if not selected_scenarios:
|
||||
flash('Please select at least one scenario', 'error')
|
||||
return redirect(url_for('jobs.submit'))
|
||||
|
||||
return render_template('jobs/submit_step3.html',
|
||||
branch_name=branch_name,
|
||||
scenarios=selected_scenarios,
|
||||
scenario_map=scenario_map)
|
||||
|
||||
@jobs_bp.route('/submit/step2-validated', methods=['POST'])
|
||||
@login_required
|
||||
def submit_step2_validated():
|
||||
@@ -312,28 +335,45 @@ def submit_step2():
|
||||
@login_required
|
||||
def submit_step3():
|
||||
branch_name = request.form.get('branch_name')
|
||||
scenarios = request.form.get('scenarios')
|
||||
scenarios_json = request.form.get('scenarios')
|
||||
scenario_map_json = request.form.get('scenario_map')
|
||||
environment = request.form.get('environment')
|
||||
|
||||
try:
|
||||
scenarios = json.loads(scenarios_json) if scenarios_json else []
|
||||
scenario_map = json.loads(scenario_map_json) if scenario_map_json else {}
|
||||
except json.JSONDecodeError:
|
||||
flash('Invalid scenario data', 'error')
|
||||
return redirect(url_for('jobs.submit'))
|
||||
|
||||
return render_template('jobs/submit_step4.html',
|
||||
branch_name=branch_name,
|
||||
scenarios=scenarios,
|
||||
scenario_map=scenario_map,
|
||||
environment=environment)
|
||||
|
||||
@jobs_bp.route('/submit/final', methods=['POST'])
|
||||
@login_required
|
||||
def submit_final():
|
||||
branch_name = request.form.get('branch_name')
|
||||
scenarios = request.form.get('scenarios')
|
||||
scenarios_json = request.form.get('scenarios')
|
||||
scenario_map_json = request.form.get('scenario_map')
|
||||
environment = request.form.get('environment')
|
||||
test_mode = request.form.get('test_mode')
|
||||
keep_devbenches = request.form.get('keep_devbenches') == 'on'
|
||||
reuse_results = request.form.get('reuse_results') == 'on'
|
||||
|
||||
try:
|
||||
scenarios = json.loads(scenarios_json) if scenarios_json else []
|
||||
scenario_map = json.loads(scenario_map_json) if scenario_map_json else {}
|
||||
except json.JSONDecodeError:
|
||||
flash('Invalid scenario data', 'error')
|
||||
return redirect(url_for('jobs.submit'))
|
||||
|
||||
job = Job(
|
||||
user_id=current_user.id,
|
||||
branch_name=branch_name,
|
||||
scenarios=scenarios,
|
||||
scenarios=json.dumps(scenarios), # Store as JSON string
|
||||
environment=environment,
|
||||
test_mode=test_mode,
|
||||
keep_devbenches=keep_devbenches,
|
||||
@@ -344,7 +384,7 @@ def submit_final():
|
||||
db.session.add(job)
|
||||
db.session.commit()
|
||||
|
||||
# TODO: Start test execution in background
|
||||
# TODO: Start test execution in background using scenario_map
|
||||
|
||||
flash('Test job submitted successfully', 'success')
|
||||
return redirect(url_for('dashboard.index'))
|
||||
|
||||
Reference in New Issue
Block a user