troggle-unchained/core/TESTS/test_imports.py

92 lines
3.9 KiB
Python
Raw Normal View History

2021-04-07 16:04:27 +01:00
"""
We are using unittest for troggle.
Note that the database has not been parsed from the source files when these tests are run,
so any path that relies on data being in the database will fail.
The simple redirections to files which exist, e.g. in
/expoweb/
/expofiles/
/expofiles/documents/
etc. will test fine.
But paths like this:
/survey_scans/
/caves/
which rely on database resolution will fail unless a fixture has been set up for
them.
https://docs.djangoproject.com/en/3.0/topics/testing/tools/
"""
import unittest
import re
from django.test import TestCase, SimpleTestCase, Client
class SimpleTest(SimpleTestCase):
def test_test_setting(self):
from django.conf import settings
self.assertEqual(settings.EMAIL_BACKEND, 'django.core.mail.backends.locmem.EmailBackend')
def test_import_TroggleModel(self):
2021-04-13 00:43:57 +01:00
from troggle.core.models.troggle import TroggleModel
2021-04-07 16:04:27 +01:00
def test_import_Cave(self):
2021-04-13 00:47:17 +01:00
from troggle.core.models.caves import Cave
2021-04-07 16:04:27 +01:00
def test_import_parsers_surveys(self):
from PIL import Image
2021-04-13 00:11:08 +01:00
from troggle.core.utils import save_carefully
2021-04-07 16:04:27 +01:00
from functools import reduce
def test_import_parsers_survex(self):
import troggle.settings as settings
2021-04-13 00:43:57 +01:00
import troggle.core.models.troggle as models
2021-04-13 00:47:17 +01:00
import troggle.core.models.caves as models_caves
2021-04-13 00:50:12 +01:00
import troggle.core.models.survex as models_survex
2021-04-07 16:04:27 +01:00
from troggle.parsers.people import GetPersonExpeditionNameLookup
from troggle.core.views.caves import MapLocations
def test_import_parsers_QMs(self):
2021-04-13 00:47:17 +01:00
from troggle.core.models.caves import QM, Cave, LogbookEntry
2021-04-07 16:04:27 +01:00
def test_import_parsers_people(self):
from html.parser import HTMLParser
from unidecode import unidecode
def test_import_parsers_logbooks(self):
from django.template.defaultfilters import slugify
from django.utils.timezone import get_current_timezone, make_aware
2021-04-13 00:43:57 +01:00
from troggle.core.models.troggle import DataIssue, Expedition
2021-04-13 00:47:17 +01:00
from troggle.core.models.caves import Cave, LogbookEntry, PersonTrip
2021-04-07 16:04:27 +01:00
from parsers.people import GetPersonExpeditionNameLookup
def test_import_core_views_caves(self):
from django.http import HttpResponse, HttpResponseRedirect
from django.shortcuts import get_object_or_404, render
import troggle.core.views.expo
2021-04-13 00:43:57 +01:00
from troggle.core.models.troggle import Expedition
2021-04-13 00:47:17 +01:00
from troggle.core.models.caves import CaveSlug, Cave, CaveAndEntrance, QM, EntranceSlug, Entrance, Area, SurvexStation
2021-04-07 16:04:27 +01:00
from troggle.core.forms import CaveForm, CaveAndEntranceFormSet, VersionControlCommentForm, EntranceForm, EntranceLetterForm
from troggle.core.views.login import login_required_if_public
from django.contrib.auth.decorators import login_required
from django.conf import settings
def test_import_parsers_mix(self):
from troggle.parsers.logbooks import GetCaveLookup
import troggle.settings
import troggle.logbooksdump
import troggle.parsers.caves
import troggle.parsers.people
import troggle.parsers.surveys
import troggle.parsers.logbooks
import troggle.parsers.QMs
import troggle.parsers.survex
def test_import_imports(self):
from django.core import management
from django.db import connection, close_old_connections, connections
from django.contrib.auth.models import User
from django.http import HttpResponse
from django.urls import reverse
def test_import_urls(self):
from django.conf import settings
from django.conf.urls import url, include
from django.views.generic.base import RedirectView
from django.views.generic.edit import UpdateView
from django.views.generic.list import ListView
from django.contrib import admin
from django.urls import reverse, resolve