flake8 integration

This commit is contained in:
Fred Pauchet 2016-08-08 08:42:22 +02:00
parent 37f389d593
commit 028e95ab5e
6 changed files with 38 additions and 19 deletions

View File

@ -5,5 +5,6 @@ test:python-3.4:
stage: test stage: test
image: python:3.4-slim image: python:3.4-slim
script: script:
- flake8 src/
- coverage run src/manage.py test sherlock - coverage run src/manage.py test sherlock
- coverage report -m - coverage report -m

View File

@ -1,3 +1,4 @@
-r base.txt -r base.txt
coverage coverage
django_coverage_plugin django_coverage_plugin
flake8

View File

@ -1,7 +1,9 @@
from django.contrib import admin from django.contrib import admin
from .models import Category, Gauge, Mesure from .models import Category, Gauge, Mesure
class MesureAdmin(admin.ModelAdmin): class MesureAdmin(admin.ModelAdmin):
model = Mesure model = Mesure

View File

@ -1,11 +1,13 @@
from django.db import models from django.db import models
class Category(models.Model): class Category(models.Model):
name = models.CharField(max_length=255, unique=True) name = models.CharField(max_length=255, unique=True)
def __str__(self): def __str__(self):
return self.name return self.name
class Gauge(models.Model): class Gauge(models.Model):
serial_number = models.CharField(max_length=40) serial_number = models.CharField(max_length=40)
category = models.ForeignKey(Category) category = models.ForeignKey(Category)
@ -16,19 +18,22 @@ class Gauge(models.Model):
class Meta: class Meta:
ordering = ['category'] ordering = ['category']
class Diff(object): class Diff(object):
def __init__(self, mesure_1, mesure_2): def __init__(self, mesure_1, mesure_2):
self.increase = abs(mesure_1.diff(mesure_2)) self.increase = abs(mesure_1.diff(mesure_2))
self.timedelta = abs(mesure_1.moment - mesure_2.moment) self.timedelta = abs(mesure_1.moment - mesure_2.moment)
class MesureManager(models.Manager): class MesureManager(models.Manager):
def create(self, moment, value, gauge_sn, category_label): def create(self, moment, value, gauge_sn, category_label):
category, cat_created = Category.objects.get_or_create(name=category_label) cat, cat_created = Category.objects.get_or_create(name=category_label)
gauge, gauge_created = Gauge.objects.get_or_create(serial_number=gauge_sn, category=category) gauge, gauge_created = Gauge.objects.get_or_create(serial_number=gauge_sn, category=cat)
mesure = Mesure.objects.create(moment=moment, value=value, gauge=gauge) mesure = Mesure.objects.create(moment=moment, value=value, gauge=gauge)
return mesure return mesure
class Mesure(models.Model): class Mesure(models.Model):
moment = models.DateTimeField() moment = models.DateTimeField()
value = models.DecimalField(max_digits=10, decimal_places=4) value = models.DecimalField(max_digits=10, decimal_places=4)

View File

@ -1,10 +1,13 @@
from datetime import datetime from datetime import datetime
from django.test import TestCase from django.test import TestCase
from django.utils import timezone from django.utils import timezone
from .models import Category, Gauge, Mesure from .models import Category, Gauge, Mesure
class TestCategoryModel(TestCase): class TestCategoryModel(TestCase):
def test_str(self): def test_str(self):
@ -12,6 +15,7 @@ class TestCategoryModel(TestCase):
self.assertEqual('test', str(cat)) self.assertEqual('test', str(cat))
class TestGaugeModel(TestCase): class TestGaugeModel(TestCase):
def test_str(self): def test_str(self):
@ -37,16 +41,20 @@ class TestGaugeModel(TestCase):
self.assertEqual(gauge_3, gauges_list[3]) self.assertEqual(gauge_3, gauges_list[3])
def test_mesures_related_name(self): def test_mesures_related_name(self):
now = timezone.make_aware(datetime.now())
cat_water = Category.objects.create(name='eau') cat_water = Category.objects.create(name='eau')
gauge_1 = Gauge.objects.create(serial_number='undefined', category=cat_water) gauge_1 = Gauge.objects.create(serial_number='undefined', category=cat_water)
self.mesure_1 = Mesure.objects.create(moment=timezone.make_aware(datetime.now()), value=0.001, gauge=gauge_1) self.mesure_1 = Mesure.objects.create(moment=now, value=0.001, gauge=gauge_1)
self.assertEqual(1, len(gauge_1.mesures.all())) self.assertEqual(1, len(gauge_1.mesures.all()))
class TestMesureManager(TestCase): class TestMesureManager(TestCase):
def test_create(self): def test_create(self):
raise Exception('not implemented yet') raise Exception('not implemented yet')
class TestMesureModel(TestCase): class TestMesureModel(TestCase):
def setUp(self): def setUp(self):
@ -74,7 +82,7 @@ class TestMesureModel(TestCase):
def test_diff_raises_exception(self): def test_diff_raises_exception(self):
with self.assertRaises(Exception): with self.assertRaises(Exception):
mesure_1.diff(mesure_2) self.mesure_1.diff(self.mesure_2)
def test_previous(self): def test_previous(self):
self.assertEqual(self.mesure_1, self.mesure_3.previous) self.assertEqual(self.mesure_1, self.mesure_3.previous)
@ -83,4 +91,3 @@ class TestMesureModel(TestCase):
def test_next(self): def test_next(self):
self.assertEqual(self.mesure_3, self.mesure_1.next) self.assertEqual(self.mesure_3, self.mesure_1.next)
self.assertIsNone(self.mesure_3.next) self.assertIsNone(self.mesure_3.next)

3
tox.ini Normal file
View File

@ -0,0 +1,3 @@
[flake8]
max-line-length = 100
exclude = migrations, manage.py