30 lines
789 B
Python
30 lines
789 B
Python
import os
|
|
import sys
|
|
import tempfile
|
|
|
|
from django.core.management import call_command
|
|
|
|
from ..base import ArticleTestBase
|
|
|
|
|
|
class TestManagementCommands(ArticleTestBase):
|
|
"""
|
|
This clever test case can be inherited in other plugins
|
|
|
|
Some data is created with ArticleTestBase, use that.
|
|
"""
|
|
|
|
def test_dumpdata_loaddata(self):
|
|
sysout = sys.stdout
|
|
fixtures_file = tempfile.NamedTemporaryFile(
|
|
"w", delete=False, suffix=".json"
|
|
)
|
|
sys.stdout = fixtures_file
|
|
call_command("dumpdata", "wiki")
|
|
fixtures_file.file.flush()
|
|
fixtures_file.file.close()
|
|
sys.stdout = open(os.devnull, "w")
|
|
call_command("loaddata", fixtures_file.name)
|
|
sys.stdout = sysout
|
|
os.unlink(fixtures_file.name)
|