12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- import csv
- from django.template import RequestContext
- from django.http import HttpResponseRedirect, HttpResponse
- from django.shortcuts import render
- from django.core.urlresolvers import reverse
- from .testmodels import *
- from datetime import datetime
- import logging
- logger = logging.getLogger(__name__)
- # loadtest views
- def index(request):
- tests = TestRun.objects().order_by('-created')
- return render(request, 'loadtests/index.html', {'tests': tests })
- def testsetup(request, volumeId, testName):
- test = TestRun()
- test.name = testName
- test.volumeId = volumeId
- test.created = datetime.now()
- test = test.save()
- response = HttpResponse('{ "testId": ' + str(test.id) + ' }', content_type='json')
- return response
- def deletetest(request, id):
- try:
- test = TestRun.objects(id=id).first()
- except (IndexError, ValidationError) as e:
- return handleException(request, id, e)
- test.delete()
- return HttpResponseRedirect(reverse('loadtests:home'))
- def createcsv(request, id):
- test = TestRun.objects(id=id).first()
- # Create the HttpResponse object with the appropriate CSV header.
- response = HttpResponse(content_type='text/csv')
- filename = '%s_%s.csv' % (test.name, test.volumeId)
- response['Content-Disposition'] = 'attachment; filename="%s"' % (filename)
- writer = csv.writer(response)
- for result in test.results:
- writer.writerow([result.durationInSec])
- return response
|