Skip to content

Commit cc593d0

Browse files
committed
Merge pull request tobami#149 from rchikhi/django-1.5.1-port
Django 1.5.1 port
2 parents 6055599 + edade1e commit cc593d0

12 files changed

Lines changed: 186 additions & 133 deletions

File tree

codespeed/api.py

Lines changed: 23 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@
3939
from django.http import Http404
4040
from django.shortcuts import get_object_or_404
4141
from tastypie.bundle import Bundle
42-
from tastypie.bundle import Bundle
4342
from tastypie.exceptions import ImmediateHttpResponse
4443
from tastypie.http import HttpBadRequest, HttpCreated, HttpNotImplemented
4544
from tastypie.resources import ModelResource, Resource
@@ -136,9 +135,8 @@ class Meta:
136135
queryset = Environment.objects.all()
137136
resource_name = 'environment'
138137
authorization = DjangoAuthorization()
139-
authentication = ApiKeyAuthentication()
140-
#authentication = MultiAuthentication(Authentication(),
141-
#ApiKeyAuthentication())
138+
authentication = MultiAuthentication(ApiKeyAuthentication(),
139+
Authentication())
142140

143141

144142
class ResultResource(ModelResource):
@@ -201,8 +199,9 @@ class ResultBundle(Bundle):
201199
'date',
202200
)
203201

204-
def __init__(self, obj=None, **kwargs):
202+
def __init__(self, obj=None, request=None, **kwargs):
205203
self.data = kwargs
204+
self.request = request
206205

207206
if isinstance(obj, Result):
208207
self.obj = obj
@@ -215,7 +214,8 @@ def __init__(self, obj=None, **kwargs):
215214
if self.data:
216215
self._check_data()
217216
self.__data_validated = False # not used for now
218-
super(ResultBundle, self).__init__(data=self.data, obj=self.obj)
217+
super(ResultBundle, self).__init__(data=self.data, obj=self.obj,
218+
request=self.request)
219219

220220
def _populate_obj_by_data(self):
221221
"""Database lookup
@@ -224,17 +224,23 @@ def _populate_obj_by_data(self):
224224
"""
225225
def populate(key):
226226
return {'project': lambda: ProjectResource().get_via_uri(
227-
self.data['project']),
227+
self.data['project'], request=self.request),
228+
228229
'executable': lambda: ExecutableResource().get_via_uri(
229-
self.data['executable']),
230+
self.data['executable'], request=self.request),
231+
230232
'benchmark': lambda: BenchmarkResource().get_via_uri(
231-
self.data['benchmark']),
233+
self.data['benchmark'], request=self.request),
234+
232235
'environment': lambda: EnvironmentResource().get_via_uri(
233-
self.data['environment']),
236+
self.data['environment'], request=self.request),
237+
234238
'branch': lambda: BranchResource().get_via_uri(
235-
self.data['branch']),
239+
self.data['branch'], request=self.request),
240+
236241
'revision': lambda: RevisionResource().get_via_uri(
237-
self.data['commitid'])}.get(key, None)()
242+
self.data['commitid'],
243+
request=self.request)}.get(key, None)()
238244

239245
try:
240246
self.obj.value = float(self.data['result_value'])
@@ -299,7 +305,7 @@ def _check_data(self):
299305
# Check that the Environment exists
300306
try:
301307
self.obj.environment = EnvironmentResource().get_via_uri(
302-
self.data['environment'])
308+
self.data['environment'], request=self.request)
303309
except Environment.DoesNotExist:
304310
error_text = 'Environment: {0} not found in database.'.format(
305311
self.data['environment'])
@@ -400,7 +406,7 @@ def get_resource_uri(self, bundle_or_obj):
400406
def get_object_list(self, request):
401407
results = Result.objects.all()
402408

403-
return [ResultBundle(obj=r).obj for r in results]
409+
return [ResultBundle(obj=r, request=request).obj for r in results]
404410

405411
def obj_get_list(self, request=None, **kwargs):
406412
"""Return all benchmark results ever"""
@@ -440,8 +446,9 @@ def post_list(self, request, **kwargs):
440446
format=request.META.get('CONTENT_TYPE', 'application/json')
441447
)
442448
deserialized = self.alter_deserialized_list_data(request, deserialized)
443-
bundle = ResultBundle(**dict_strip_unicode_keys(deserialized))
444-
self.is_valid(bundle, request)
449+
bundle = ResultBundle(request=request,
450+
**dict_strip_unicode_keys(deserialized))
451+
self.is_valid(bundle)
445452
updated_bundle = self.obj_create(bundle, request=request)
446453
return HttpCreated(location=self.get_resource_uri(updated_bundle))
447454

codespeed/templates/codespeed/changes.html

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
{% extends "base.html" %}
2+
{% load url from future %}
23
{% block title %}{{ block.super }}: Changes{% endblock %}
34

45
{% block navigation %}
56
{{ block.super }}
67
{% endblock %}
7-
{% block nav-changes %}class="current"><a href="{% url changes %}">Changes</a>{% endblock %}
8+
{% block nav-changes %}class="current"><a href="{% url "changes" %}">Changes</a>{% endblock %}
89

910
{% block body %}
1011
<div id="sidebar">
@@ -66,7 +67,7 @@
6667
<script type="text/javascript" src="{{ STATIC_URL }}js/jquery.tablesorter.min.js"></script>
6768
<script type="text/javascript" src="{{ STATIC_URL }}js/changes.js"></script>
6869
<script type="text/javascript">
69-
var TIMELINE_URL = "{% url timeline %}";
70+
var TIMELINE_URL = "{% url "timeline" %}";
7071

7172
$(function() {
7273
Changes.config({

codespeed/templates/codespeed/comparison.html

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
{% extends "base.html" %}
2+
{% load url from future %}
23
{% block title %}{{ block.super }}: Comparison{% endblock %}
34

45
{% block extra_head %}
@@ -9,7 +10,7 @@
910
{% block navigation %}
1011
{{ block.super }}
1112
{% endblock %}
12-
{% block nav-comparison %}class="current"><a href="{% url comparison %}">Comparison</a>{% endblock %}
13+
{% block nav-comparison %}class="current"><a href="{% url "comparison" %}">Comparison</a>{% endblock %}
1314

1415
{% block body %}
1516
<div id="sidebar">

codespeed/templates/codespeed/timeline.html

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
{% extends "base.html" %}
2+
{% load url from future %}
23
{% block title %}{{ block.super }}: Timeline{% endblock %}
34

45
{% block extra_head %}
@@ -8,7 +9,7 @@
89
{% block navigation %}
910
{{ block.super }}
1011
{% endblock %}
11-
{% block nav-timeline %}class="current"><a href="{% url timeline %}">Timeline</a>{% endblock %}
12+
{% block nav-timeline %}class="current"><a href="{% url "timeline" %}">Timeline</a>{% endblock %}
1213

1314
{% block body %}
1415
<div id="sidebar">
@@ -102,7 +103,7 @@
102103
<script type="text/javascript" src="{{ STATIC_URL }}js/jqplot/jqplot.canvasTextRenderer.min.js"></script>
103104
<script type="text/javascript" src="{{ STATIC_URL }}js/jqplot/jqplot.canvasAxisLabelRenderer.min.js"></script>
104105
<script type="text/javascript">
105-
var CHANGES_URL = "{% url changes %}";
106+
var CHANGES_URL = "{% url "changes" %}";
106107
</script>
107108
<script type="text/javascript" src="{{ STATIC_URL }}js/timeline.js"></script>
108109
<script type="text/javascript">

codespeed/tests/tests.py

Lines changed: 40 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -26,23 +26,23 @@ def setUp(self):
2626
self.cdate = datetime(
2727
temp.year, temp.month, temp.day, temp.hour, temp.minute, temp.second)
2828
self.data = {
29-
'commitid': '23',
30-
'branch': 'default',
31-
'project': 'MyProject',
32-
'executable': 'myexe O3 64bits',
33-
'benchmark': 'float',
34-
'environment': 'Dual Core',
35-
'result_value': 456,
29+
'commitid': '23',
30+
'branch': 'default',
31+
'project': 'MyProject',
32+
'executable': 'myexe O3 64bits',
33+
'benchmark': 'float',
34+
'environment': 'Dual Core',
35+
'result_value': 456,
3636
}
3737

3838
def test_add_correct_result(self):
3939
"""Add correct result data"""
4040
response = self.client.post(self.path, self.data)
41-
41+
4242
# Check that we get a success response
4343
self.assertEquals(response.status_code, 202)
4444
self.assertEquals(response.content, "Result data saved successfully")
45-
45+
4646
# Check that the data was correctly saved
4747
e = Environment.objects.get(name='Dual Core')
4848
b = Benchmark.objects.get(name='float')
@@ -171,36 +171,36 @@ def setUp(self):
171171
temp = datetime.today()
172172
self.cdate = datetime(
173173
temp.year, temp.month, temp.day, temp.hour, temp.minute, temp.second)
174-
174+
175175
self.data = [
176176
{'commitid': '123',
177-
'project': 'pypy',
178-
'branch': 'default',
179-
'executable': 'pypy-c',
180-
'benchmark': 'Richards',
181-
'environment': 'bigdog',
182-
'result_value': 456},
177+
'project': 'pypy',
178+
'branch': 'default',
179+
'executable': 'pypy-c',
180+
'benchmark': 'Richards',
181+
'environment': 'bigdog',
182+
'result_value': 456},
183183
{'commitid': '456',
184-
'project': 'pypy',
185-
'branch': 'default',
186-
'executable': 'pypy-c',
187-
'benchmark': 'Richards',
188-
'environment': 'bigdog',
189-
'result_value': 457},
184+
'project': 'pypy',
185+
'branch': 'default',
186+
'executable': 'pypy-c',
187+
'benchmark': 'Richards',
188+
'environment': 'bigdog',
189+
'result_value': 457},
190190
{'commitid': '456',
191-
'project': 'pypy',
192-
'branch': 'default',
193-
'executable': 'pypy-c',
194-
'benchmark': 'Richards2',
195-
'environment': 'bigdog',
196-
'result_value': 34},
191+
'project': 'pypy',
192+
'branch': 'default',
193+
'executable': 'pypy-c',
194+
'benchmark': 'Richards2',
195+
'environment': 'bigdog',
196+
'result_value': 34},
197197
{'commitid': '789',
198-
'project': 'pypy',
199-
'branch': 'default',
200-
'executable': 'pypy-c',
201-
'benchmark': 'Richards',
202-
'environment': 'bigdog',
203-
'result_value': 458},
198+
'project': 'pypy',
199+
'branch': 'default',
200+
'executable': 'pypy-c',
201+
'benchmark': 'Richards',
202+
'environment': 'bigdog',
203+
'result_value': 458},
204204
]
205205

206206
def test_add_correct_results(self):
@@ -390,7 +390,8 @@ class TestViewHelpers(TestCase):
390390

391391
def setUp(self):
392392
self.project = Project.objects.create(name='Test')
393-
self.executable = Executable.objects.create(name='TestExecutable', project=self.project)
393+
self.executable = Executable.objects.create(
394+
name='TestExecutable', project=self.project)
394395
self.branch = Branch.objects.create(name='master', project=self.project)
395396

396397
def test_get_baseline_executables(self):
@@ -421,7 +422,8 @@ class ProjectTest(TestCase):
421422
"""Test project model"""
422423

423424
def setUp(self):
424-
self.github_project = Project(repo_type='H', repo_path='https://github.com/tobami/codespeed.git')
425+
self.github_project = Project(repo_type='H',
426+
repo_path='https://github.com/tobami/codespeed.git')
425427
self.git_project = Project(repo_type='G', repo_path='/home/foo/codespeed')
426428

427429
def test_repo_name(self):
@@ -435,7 +437,8 @@ def test_working_copy(self):
435437
"""Test that only projects with local repositories have a working_copy attribute
436438
"""
437439
self.assertEqual(self.git_project.working_copy,
438-
os.path.join(settings.REPOSITORY_BASE_PATH, self.git_project.repo_name))
440+
os.path.join(settings.REPOSITORY_BASE_PATH,
441+
self.git_project.repo_name))
439442

440443
self.assertRaises(
441444
AttributeError, getattr, self.github_project, 'working_copy')

0 commit comments

Comments
 (0)