class ViewSet: if get_env('ENABLE_AUTH'): authentication_classes = (TokenAuthentication, ) permission_classes = (IsAuthenticated, ) def destroy(self, request, pk=None): model = get_object_or_404(self.queryset, pk=pk) model.delete() return Response({'id': int(pk)}, status=status.HTTP_200_OK) def update(self, request, pk=None): obj = self.get_object() serializer = self.get_serializer(obj, data=request.data, partial=True) serializer.is_valid(raise_exception=True) serializer.save() return Response(serializer.data)
class ViewSet(WithDynamicViewSetMixin, viewsets.ModelViewSet): # if get_env('ENABLE_AUTH'): authentication_classes = (TokenAuthentication, ) permission_classes = (IsAuthenticated, ) def get_serializer(self, *args, **kwargs): kwargs['envelope'] = False return super(ViewSet, self).get_serializer(*args, **kwargs) def destroy(self, request, pk=None): model = get_object_or_404(self.queryset, pk=pk) model.delete() return Response({'id': int(pk)}, status=status.HTTP_200_OK) def update(self, request, pk=None): obj = self.get_object() serializer = self.get_serializer(obj, data=request.data, partial=True) serializer.is_valid(raise_exception=True) serializer.save() return Response(serializer.data)
def graphene_view(): if get_env('ENABLE_AUTH'): return csrf_exempt(AuthGraphQLView.as_view(graphiql=True)) return csrf_exempt(GraphQLView.as_view(graphiql=True))
def filter_permissions(queryset, filters): if get_env('ENABLE_AUTH'): return filter_perms(queryset, filters) return queryset
def test_get_env_with_env(monkeypatch): monkeypatch.setenv("DB_SERVER", "test_server") assert get_env("DB_SERVER", "localhost") == "test_server"
def test_get_env_no_env(monkeypatch): monkeypatch.delenv("DB_SERVER", raising=False) assert get_env("DB_SERVER", "localhost") == "localhost"