Skip to content

Commit

Permalink
enabling upload on json also
Browse files Browse the repository at this point in the history
  • Loading branch information
rizalfr committed May 23, 2018
1 parent ae38d35 commit cf5edfb
Show file tree
Hide file tree
Showing 4 changed files with 37 additions and 61 deletions.
17 changes: 13 additions & 4 deletions locust/static/locust.js
Original file line number Diff line number Diff line change
Expand Up @@ -174,14 +174,23 @@ $("#directories .select2").select2({
placeholder: "Select a state"
});

$('#upload_btn_submit').click(function(event){
var whichform = $('.upload_file_form')[0];

$('#upload_py_submit').click(function(event){
event.preventDefault();
whichform = $('.upload_file_form')[0];
$('.upload_file_form').submit();
});

$('#upload_json_submit').click(function(event){
event.preventDefault();
$('#upload_file_form').submit();
whichform = $('.upload_file_form')[1];
$('.upload_file_form').submit();
});

$('#upload_file_form').submit(function(event) {
$('.upload_file_form').submit(function(event) {
event.preventDefault();
var form = $('#upload_file_form')[0];
var form = whichform;
var form_data = new FormData(form);
$.ajax({
type: 'POST',
Expand Down
22 changes: 11 additions & 11 deletions locust/static/style.css
Original file line number Diff line number Diff line change
Expand Up @@ -308,7 +308,7 @@ label[for="json_option"]+div{

.start button,
.edit button, .edit_config button[type=submit], .multiple_column button,
#new-test-confirmation .btn-newtest, #upload_btn_submit {
#new-test-confirmation .btn-newtest, #upload_json_submit, #upload_py_submit {
margin: 20px 0px 20px 0px;
float: right;
font-size: 14px;
Expand Down Expand Up @@ -566,7 +566,7 @@ ul.tabs li a.current:after {
}


#add-new-file-modal, #upload_json_modal, #new-test-confirmation {
#add-new-file-modal, #upload-json-modal, #new-test-confirmation {
width: 398px;
position: absolute;
left: 50%;
Expand All @@ -581,7 +581,7 @@ ul.tabs li a.current:after {
box-shadow: 0 0 120px rgba(0,0,0,0.3);
}

#add-new-file-modal, #upload_json_modal {
#add-new-file-modal, #upload-json-modal {
padding-left : 1%;
padding-right: 1%;
height: 275px;
Expand All @@ -591,25 +591,25 @@ ul.tabs li a.current:after {
width: 450px;
}

#add-new-file-modal .modal-dialog, #new-test-confirmation .modal-dialog, #upload_json_modal .modal-dialog{
#add-new-file-modal .modal-dialog, #new-test-confirmation .modal-dialog, #upload-json-modal .modal-dialog{
display: flex;
flex-direction: column;
vertical-align: middle;
margin-top: 0px;
margin-bottom: -50px;
}
#add-new-file-modal .modal-header, #new-test-confirmation .modal-header, #upload_json_modal .modal-header {
#add-new-file-modal .modal-header, #new-test-confirmation .modal-header, #upload-json-modal .modal-header {
border-bottom-color: transparent;
}
#add-new-file-modal .close, #new-test-confirmation .close, #upload_json_modal .close {
#add-new-file-modal .close, #new-test-confirmation .close, #upload-json-modal .close {
color: #addf82;
}
#new-test-confirmation .modal-header .close, #add-new-file-modal .close, #upload_json_modal .modal-header .close{
#new-test-confirmation .modal-header .close, #add-new-file-modal .close, #upload-json-modal .modal-header .close{
margin-right: -25px;
padding: 3px;
}

#new-test-confirmation .modal-body, #add-new-file-modal .modal-body, #upload_json_modal .modal-body {
#new-test-confirmation .modal-body, #add-new-file-modal .modal-body, #upload-json-modal .modal-body {
padding-top: 25px;
padding-bottom: 0px;
color: white;
Expand All @@ -625,14 +625,14 @@ ul.tabs li a.current:after {
#new-test-confirmation .modal-header .close {
margin-right: -10px;
}
#add-new-file-modal .modal-content, #new-test-confirmation .modal-content, #upload_json_modal .modal-content {
#add-new-file-modal .modal-content, #new-test-confirmation .modal-content, #upload-json-modal .modal-content {
background-color: #132b21;
border-color: transparent;
}
#add-new-file-modal .modal-title, #new-test-confirmation .modal-title, #upload_json_modal .modal-title {
#add-new-file-modal .modal-title, #new-test-confirmation .modal-title, #upload-json-modal .modal-title {
color:#addf82;
}
#upload_file_form, #new-test-confirmation {
.upload_file_form, #new-test-confirmation {
color: white;
}
.about {
Expand Down
55 changes: 10 additions & 45 deletions locust/templates/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@ <h4 class="modal-title">Are you sure?</h4>
<h4 class="modal-title">Upload Test File</h4>
</div>
<div class="modal-body">
<form method="POST" id="upload_file_form" enctype="multipart/form-data" action="/upload_file">
<form method="POST" class="upload_file_form" enctype="multipart/form-data" action="/upload_file">
<label>Path :</label>
<select name="upload_directory" id="directories" class="select2">
{% for value in test_file_directories %}
Expand All @@ -143,9 +143,9 @@ <h4 class="modal-title">Upload Test File</h4>
<br/>
<label>File to upload :</label>
<br/>
<input type="file" accept=".py" name="uploaded_file" id="uploaded_file" />
<input type="file" accept=".py" name="uploaded_file" class="uploaded_file" />
<br/>
<input type="submit" value="Upload" id="upload_btn_submit" />
<input type="submit" value="Upload" id="upload_py_submit" />
</form>
</div>
</div>
Expand Down Expand Up @@ -239,42 +239,7 @@ <h2>Ramping</h2>
</ul>
</div>
</div>
<div class=" container ">
<ul class="nav nav-tabs">
<li class="active">
<a data-toggle="tab" href="#home">Home</a>
</li>
<li>
<a data-toggle="tab" href="#menu1">Menu 1</a>
</li>
<li>
<a data-toggle="tab" href="#menu2">Menu 2</a>
</li>
<li>
<a data-toggle="tab" href="#menu3">Menu 3</a>
</li>
</ul>

<div class="tab-content">
<div id="home" class="tab-pane fade in active">
<h3>HOME</h3>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
aliqua.</p>
</div>
<div id="menu1" class="tab-pane fade">
<h3>Menu 1</h3>
<p>Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
</div>
<div id="menu2" class="tab-pane fade">
<h3>Menu 2</h3>
<p>Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam.</p>
</div>
<div id="menu3" class="tab-pane fade">
<h3>Menu 3</h3>
<p>Eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.</p>
</div>
</div>
</div>

<div class="custom_padder container body_section">
<label>Import CSV</label>
<form method="POST" enctype="multipart/form-data" id="import_csv_form">
Expand Down Expand Up @@ -310,11 +275,11 @@ <h5 class="modal-title" id="myModalLabel">Unsaved Configuration</h5>
</div>
<div class="custom_padder container body_section">
<label>Upload JSON</label>
<button type="button" data-toggle="modal" data-target="#upload_json_modal" >Upload JSON</button>
<button type="button" data-toggle="modal" data-target="#upload-json-modal" >Upload JSON</button>
</div>
</div>

<div id="upload_json_modal" class="modal fade" role="dialog">
<div id="upload-json-modal" class="modal fade" role="dialog">
<div class="modal-dialog">

<!-- Modal content-->
Expand All @@ -324,20 +289,20 @@ <h5 class="modal-title" id="myModalLabel">Unsaved Configuration</h5>
<h4 class="modal-title">Upload JSON</h4>
</div>
<div class="modal-body">
<form method="POST" id="upload_file_form" enctype="multipart/form-data" action="/upload_file">
<form method="POST" class="upload_file_form" enctype="multipart/form-data" action="/upload_file">
<label>Path :</label>
<select name="upload_directory" id="directories" class="select2">
{% for value in test_file_directories %}
{% for value in all_test_file_directories %}
<option value="{{value}}">{{value}}</option>
{% endfor %}
</select>
<br/>
<br/>
<label>File to upload :</label>
<br/>
<input type="file" accept=".json" name="uploaded_file" id="uploaded_file" />
<input type="file" accept=".json" name="uploaded_file" class="uploaded_file" />
<br/>
<input type="submit" value="Upload" id="upload_btn_submit" />
<input type="submit" value="Upload" id="upload_json_submit" />
</form>
</div>
</div>
Expand Down
4 changes: 3 additions & 1 deletion locust/web.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ def index():
modules = tests_loader.populate_directories(fileio.os_path(),'tests/modules/')
modules.update(pages)
directories = modules
all_directories = tests_loader.populate_directories(fileio.os_path(),'tests/')

return render_template("index.html",
state=runners.locust_runner.state,
Expand All @@ -74,6 +75,7 @@ def index():
user_count=runners.locust_runner.user_count,
available_locustfiles = sorted(runners.locust_runner.available_locustfiles.keys()),
test_file_directories = sorted(directories),
all_test_file_directories = sorted(all_directories),
version=version,
ramp = _ramp,
host=host
Expand Down Expand Up @@ -375,7 +377,7 @@ def upload_file():
uploaded_file = request.files['uploaded_file']
uploaded_file_path = upload_directory + uploaded_file.filename
uploaded_file_extension = os.path.splitext(uploaded_file.filename)[1]
uploaded_file_content = uploaded_file.read()
uploaded_file_content = uploaded_file.read()
if not uploaded_file :
return expected_response({'success':False, 'message':'Please choose .json or .py file to upload'})
if uploaded_file_extension != ".py" and uploaded_file_extension != ".json":
Expand Down

0 comments on commit cf5edfb

Please sign in to comment.