mirror of
https://github.com/ansible/awx.git
synced 2026-02-22 21:46:00 -03:30
fixes fact jsonbfield for unit tests
This commit is contained in:
@@ -4,6 +4,7 @@ import pytest
|
||||
import mock
|
||||
import json
|
||||
import os
|
||||
import six
|
||||
from datetime import timedelta
|
||||
|
||||
# Django
|
||||
@@ -12,6 +13,8 @@ from django.utils.six.moves.urllib.parse import urlparse
|
||||
from django.utils import timezone
|
||||
from django.contrib.auth.models import User
|
||||
from django.conf import settings
|
||||
from django.core.serializers.json import DjangoJSONEncoder
|
||||
from jsonbfield.fields import JSONField
|
||||
|
||||
# AWX
|
||||
from awx.main.models.projects import Project
|
||||
@@ -476,3 +479,24 @@ def job_template_labels(organization, job_template):
|
||||
|
||||
return job_template
|
||||
|
||||
|
||||
def dumps(value):
|
||||
return DjangoJSONEncoder().encode(value)
|
||||
|
||||
|
||||
# Taken from https://github.com/django-extensions/django-extensions/blob/54fe88df801d289882a79824be92d823ab7be33e/django_extensions/db/fields/json.py
|
||||
def get_db_prep_save(self, value, connection, **kwargs):
|
||||
"""Convert our JSON object to a string before we save"""
|
||||
if value is None and self.null:
|
||||
return None
|
||||
# default values come in as strings; only non-strings should be
|
||||
# run through `dumps`
|
||||
if not isinstance(value, six.string_types):
|
||||
value = dumps(value)
|
||||
|
||||
return value
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def monkeypatch_jsonbfield_get_db_prep_save(mocker):
|
||||
JSONField.get_db_prep_save = get_db_prep_save
|
||||
|
||||
Reference in New Issue
Block a user