Workbackup

This commit is contained in:
2020-05-24 18:21:14 +02:00
parent 6e3cccd4c9
commit fbb46f48ed
7 changed files with 31 additions and 24 deletions

View File

@@ -57,7 +57,10 @@ REST_FRAMEWORK = {
# Use Django's standard `django.contrib.auth` permissions,
# or allow read-only access for unauthenticated users.
'DEFAULT_PERMISSION_CLASSES': [],
'TEST_REQUEST_DEFAULT_FORMAT': 'json'
'TEST_REQUEST_DEFAULT_FORMAT': 'json',
#Needed vor REST-Swagger after 3.10
'DEFAULT_SCHEMA_CLASS': 'rest_framework.schemas.coreapi.AutoSchema'
}
ROOT_URLCONF = 'lactorapi.urls'
@@ -118,9 +121,9 @@ AUTH_PASSWORD_VALIDATORS = [
# Internationalization
# https://docs.djangoproject.com/en/2.1/topics/i18n/
LANGUAGE_CODE = 'en-us'
LANGUAGE_CODE = 'de-de'
TIME_ZONE = 'UTC'
TIME_ZONE = 'Europe/Berlin'
USE_I18N = True

View File

@@ -1,4 +1,4 @@
from django.apps import AppConfig
class ParameterConfig(AppConfig):
class ParameterConfig (AppConfig):
name = 'parameter'

View File

@@ -25,7 +25,7 @@ class GetAllParmetersTest (TestCase):
response = client.get (reverse ('get_post_parameter'))
# get data from db
parameter = Parameter.objects.all ()
serializer = ParameterSerializer (parameter, many=True)
serializer = ParameterSerializer (parameter, many = True)
self.assertEqual (response.data, serializer.data)
self.assertEqual (response.status_code, status.HTTP_200_OK)
@@ -33,7 +33,7 @@ class GetAllParmetersTest (TestCase):
class GetSingleParameterTest (TestCase):
""" Test module for GET single ParameterTest API """
def setUp(self):
def setUp (self):
self.parameter1 = Parameter.objects.create ( key = 'TestParameter1',
value = 123)
@@ -56,15 +56,15 @@ class GetSingleParameterTest (TestCase):
reverse ('get_delete_update_parameter', kwargs = {'key': 'BadParam'}))
self.assertEqual (response.status_code, status.HTTP_404_NOT_FOUND)
class CreateNewParameterTest (TestCase):
""" Test module for inserting a new parameter """
def setUp (self):
self.valid_payload = { 'key' : 'Parameter1',
'value' : 123}
#FixMe
self.invalid_payload = { 'key' : 'Parameter2',
'value' : 0}
'value' : ''}
def test_create_valid_parameter (self):

View File

@@ -6,13 +6,13 @@ from .models import Parameter
from .serializers import ParameterSerializer
#@api_view(['GET', 'DELETE', 'PUT'])
@api_view(['GET', 'PUT'])
#@api_view (['GET', 'DELETE', 'PUT'])
@api_view (['GET', 'PUT'])
def get_delete_update_parameter (request, key):
try:
parameter = Parameter.objects.get (key = key)
except Parameter.DoesNotExist:
return Response (status=status.HTTP_404_NOT_FOUND)
return Response (status = status.HTTP_404_NOT_FOUND)
# get value of a single Parameter
if request.method == 'GET':
@@ -26,24 +26,27 @@ def get_delete_update_parameter (request, key):
serializer = ParameterSerializer (parameter, data = request.data)
if serializer.is_valid ():
serializer.save ()
return Response(serializer.data, status=status.HTTP_204_NO_CONTENT)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
return Response(serializer.data, status = status.HTTP_204_NO_CONTENT)
return Response(serializer.errors, status = status.HTTP_400_BAD_REQUEST)
@api_view(['GET', 'POST'])
@api_view (['GET', 'POST'])
def get_post_parameter (request):
# get all Parameter
if request.method == 'GET':
parameter = Parameter.objects.all ()
serializer = ParameterSerializer (parameter, many=True)
serializer = ParameterSerializer (parameter, many = True)
return Response (serializer.data)
# insert a new record for a Parameter
elif request.method == 'POST':
data = { 'key': request.data.get ('key'),
'value': int (request.data.get ('value'))
}
try:
data = { 'key': request.data.get ('key'),
'value': int (request.data.get ('value'))
}
except:
return Response ('Invalid Value', status = status.HTTP_400_BAD_REQUEST)
serializer = ParameterSerializer (data = data)
if serializer.is_valid () and data ['key'] > '' :
serializer.save ()
return Response (serializer.data, status=status.HTTP_201_CREATED)
return Response( serializer.errors, status=status.HTTP_400_BAD_REQUEST)
return Response (serializer.data, status = status.HTTP_201_CREATED)
return Response( serializer.errors, status = status.HTTP_400_BAD_REQUEST)

View File

@@ -7,9 +7,10 @@ class Status (models.Model):
"""
key = models.CharField (primary_key = True, max_length = 20)
value = models.IntegerField (null = False)
ts = models.DateTimeField (auto_now_add = True)
def get_value (self):
return self.value
return self.value, self.ts
def __repr__(self):
return self.key + ' is added.'

View File

@@ -5,4 +5,4 @@ from .models import Status
class StatusSerializer (serializers.ModelSerializer):
class Meta:
model = Status
fields = ('key', 'value')
fields = ('key', 'value', 'ts')

View File

@@ -13,8 +13,8 @@ class StatusTest (TestCase):
def test_parameter (self):
state1 = Status.objects.get (key = 'TestStatus1')
state2 = Status.objects.get (key = 'TestStatus2')
state1, ts1 = Status.objects.get (key = 'TestStatus1')
state2, ts2 = Status.objects.get (key = 'TestStatus2')
self.assertEqual (
state1.get_value (), 123)
self.assertEqual (