mirror of
https://github.com/django/django.git
synced 2025-10-24 14:16:09 +00:00
Fixed #21551 -- Reenabled loading fixtures from subdirectory
This was a regression in Django 1.6 that was only partially
restored in 839940f27f.
Thanks Jonas Haag for the report.
This commit is contained in:
9
tests/fixtures_regress/fixtures_1/inner/absolute.json
Normal file
9
tests/fixtures_regress/fixtures_1/inner/absolute.json
Normal file
@@ -0,0 +1,9 @@
|
||||
[
|
||||
{
|
||||
"pk": "1",
|
||||
"model": "fixtures_regress.absolute",
|
||||
"fields": {
|
||||
"name": "Load Absolute Path Test"
|
||||
}
|
||||
}
|
||||
]
|
||||
@@ -2,6 +2,7 @@
|
||||
# Unittests for fixtures.
|
||||
from __future__ import unicode_literals
|
||||
|
||||
import json
|
||||
import os
|
||||
import re
|
||||
import warnings
|
||||
@@ -19,12 +20,13 @@ from django.utils.encoding import force_text
|
||||
from django.utils._os import upath
|
||||
from django.utils import six
|
||||
from django.utils.six import PY3, StringIO
|
||||
import json
|
||||
|
||||
from .models import (Animal, Stuff, Absolute, Parent, Child, Article, Widget,
|
||||
Store, Person, Book, NKChild, RefToNKChild, Circle1, Circle2, Circle3,
|
||||
ExternalDependency, Thingy)
|
||||
|
||||
_cur_dir = os.path.dirname(os.path.abspath(upath(__file__)))
|
||||
|
||||
|
||||
class TestFixtures(TestCase):
|
||||
|
||||
@@ -150,12 +152,11 @@ class TestFixtures(TestCase):
|
||||
)
|
||||
self.assertEqual(Absolute.objects.count(), 1)
|
||||
|
||||
def test_relative_path(self):
|
||||
directory = os.path.dirname(upath(__file__))
|
||||
relative_path = os.path.join('fixtures', 'absolute.json')
|
||||
def test_relative_path(self, path=['fixtures', 'absolute.json']):
|
||||
relative_path = os.path.join(*path)
|
||||
cwd = os.getcwd()
|
||||
try:
|
||||
os.chdir(directory)
|
||||
os.chdir(_cur_dir)
|
||||
management.call_command(
|
||||
'loaddata',
|
||||
relative_path,
|
||||
@@ -165,6 +166,10 @@ class TestFixtures(TestCase):
|
||||
os.chdir(cwd)
|
||||
self.assertEqual(Absolute.objects.count(), 1)
|
||||
|
||||
@override_settings(FIXTURE_DIRS=[os.path.join(_cur_dir, 'fixtures_1')])
|
||||
def test_relative_path_in_fixture_dirs(self):
|
||||
self.test_relative_path(path=['inner', 'absolute.json'])
|
||||
|
||||
def test_path_containing_dots(self):
|
||||
management.call_command(
|
||||
'loaddata',
|
||||
@@ -424,8 +429,6 @@ class TestFixtures(TestCase):
|
||||
verbosity=0,
|
||||
)
|
||||
|
||||
_cur_dir = os.path.dirname(os.path.abspath(upath(__file__)))
|
||||
|
||||
@override_settings(FIXTURE_DIRS=[os.path.join(_cur_dir, 'fixtures_1'),
|
||||
os.path.join(_cur_dir, 'fixtures_2')])
|
||||
def test_loaddata_forward_refs_split_fixtures(self):
|
||||
|
||||
Reference in New Issue
Block a user