Skip to content

Instantly share code, notes, and snippets.

View luiscberrocal's full-sized avatar
👽
Happy since I left the circus...

Luis Carlos Berrocal luiscberrocal

👽
Happy since I left the circus...
View GitHub Profile
@luiscberrocal
luiscberrocal / Dockerfile
Created March 3, 2019 13:34 — forked from riderx/Dockerfile
Docker: Ubuntu 16.04 with Node 6.10.2, Selenium Standalone, Chrome Headless
FROM ubuntu:16.04
RUN apt-get update && apt-get install -y --no-install-recommends \
ca-certificates \
apt-transport-https \
openjdk-8-jre-headless \
curl \
xz-utils \
unzip \
bzip2 \
class Test$MODEL$Serializer(TestCase):
def test_expected_fields(self):
$MODEL_LOWER$ = $MODEL$Factory.create()
serializer = $MODEL$Serializer(instance=$MODEL_LOWER$)
$MODEL_LOWER$_data = serializer.data
$MODEL_LOWER$_data_keys = ['id'] #Fixme Poner el resto de los campos del modelo
self.assertEqual(set($MODEL_LOWER$_data.keys()), set($MODEL_LOWER$_data_keys))
def test_creation(self):
@luiscberrocal
luiscberrocal / test_api.py
Created January 23, 2019 16:38
Test CRUD API Views
class Test$MODEL$ListAPIView(JWTTestMixin, TestCase):
def test_get(self):
$MODEL$Factory.create_batch(10)
url = reverse('$URL_NAMESPACE$:list-$MODEL_LOWER$')
user = UserFactory.create()
response = self.get_with_token(url, user)
self.response_200(response)
const state = {
$STATE$: [],
}
const getters = {
$STATE$: state => {
return state.$STATE$;
},
}
class JWTTestMixin(object):
def get_access_token(self, user):
token_url = reverse('token_obtain_pair')
pay_load = {'username': user.username, 'password': 'password'}
token_response = self.post(token_url, data=pay_load)
access_token = token_response.data['access']
return access_token
def get_with_token(self, url, access_token):
urlpatterns = [
url(r'^$', $MODEL$ListAPIView.as_view(), name='list-$MODEL_LOWER$'),
url(r'^$MODEL_LOWER$/create/$', $MODEL$CreateAPIView.as_view(), name='create-$MODEL_LOWER$'),
url(r'^$MODEL_LOWER$/update/(?P<pk>\d+)/$', $MODEL$DetailAPIView.as_view(), name='update-$MODEL_LOWER$'),
url(r'^$MODEL_LOWER$/delete/(?P<pk>\d+)/$', $MODEL$DetailAPIView.as_view(), name='delete-$MODEL_LOWER$'),
url(r'^$MODEL_LOWER$/(?P<pk>\d+)/$', $MODEL$DetailAPIView.as_view(), name='detail-$MODEL_LOWER$'),
]
from rest_framework.generics import ListAPIView, RetrieveUpdateDestroyAPIView, CreateAPIView
from ..models import $MODEL_NAME$
class $MODEL_NAME$ListAPIView(ListAPIView):
serializer_class = $MODEL_NAME$Serializer
def get_queryset(self):
return $MODEL_NAME$.objects.all()
@luiscberrocal
luiscberrocal / model_form
Created October 25, 2018 12:06
Django Model Form Template
class $MODEL$Form(forms.ModelForm):
class Meta:
model = $MODEL$
fields = ('id',)
@luiscberrocal
luiscberrocal / crudurls
Last active October 25, 2018 21:53
CRUD Urls for Django 1.11
urlpatterns = [
url(r'^$', $MODEL$ListView.as_view(), name='list'),
url(r'^create/$', $MODEL$CreateView.as_view(), name='create'),
url(r'^update/(?P<pk>\d+)/$', $MODEL$UpdateView.as_view(), name='update'),
url(r'^delete/(?P<pk>\d+)/$', $MODEL$DeleteView.as_view(), name='delete'),
url(r'^(?P<pk>\d+)/$', $MODEL$DetailView.as_view(), name='detail'),
]
@luiscberrocal
luiscberrocal / Openpyxl write file
Created October 14, 2018 12:43
Simple example on how to write to excel
wb = Workbook()
sheet = wb.create_sheet()
row = 1
col = 1
for header in headers:
sheet.cell(row=row, column=col, value=header)
col += 1
row += 1
git_lines = self.report(git_format)
for line in git_lines: