diff options
author | Philip Sargent <philip.sargent@gmail.com> | 2023-01-19 18:35:56 +0000 |
---|---|---|
committer | Philip Sargent <philip.sargent@gmail.com> | 2023-01-19 18:35:56 +0000 |
commit | be9fcc522a0e8dd95167236b30deb936ca6a4721 (patch) | |
tree | e1f6c7a78e49b8ee28315b188148f35a02053996 /core/TESTS | |
parent | 939d3970aad3d1e5cf0de4e7ed09bed78e0404bb (diff) | |
download | troggle-be9fcc522a0e8dd95167236b30deb936ca6a4721.tar.gz troggle-be9fcc522a0e8dd95167236b30deb936ca6a4721.tar.bz2 troggle-be9fcc522a0e8dd95167236b30deb936ca6a4721.zip |
sort imports using isort. tested.
Diffstat (limited to 'core/TESTS')
-rw-r--r-- | core/TESTS/test_imports.py | 96 | ||||
-rw-r--r-- | core/TESTS/tests-cuyc-ignored.py | 39 | ||||
-rw-r--r-- | core/TESTS/tests.py | 5 | ||||
-rw-r--r-- | core/TESTS/tests_caves.py | 9 | ||||
-rw-r--r-- | core/TESTS/tests_logins.py | 9 |
5 files changed, 92 insertions, 66 deletions
diff --git a/core/TESTS/test_imports.py b/core/TESTS/test_imports.py index 943b5d9..40d0a5f 100644 --- a/core/TESTS/test_imports.py +++ b/core/TESTS/test_imports.py @@ -18,11 +18,12 @@ them. https://docs.djangoproject.com/en/3.0/topics/testing/tools/ """ -import unittest import re import subprocess +import unittest + +from django.test import Client, SimpleTestCase, TestCase -from django.test import TestCase, SimpleTestCase, Client class SimpleTest(SimpleTestCase): def test_test_setting(self): @@ -35,78 +36,93 @@ class SimpleTest(SimpleTestCase): from troggle.core.models.caves import Cave def test_import_parsers_surveys(self): #from PIL import Image - from troggle.core.utils import save_carefully from functools import reduce + + from troggle.core.utils import save_carefully def test_import_parsers_survex(self): - import troggle.settings as settings - import troggle.core.models.troggle as models - import troggle.core.models.survex as models_survex import troggle.core.models.caves as models_caves - from troggle.parsers.people import GetPersonExpeditionNameLookup + import troggle.core.models.survex as models_survex + import troggle.core.models.troggle as models + import troggle.settings as settings + from troggle.core.views import (caves, drawings, other, scans, + statistics, survex, uploads) + from troggle.core.views.caves import cavepage, ent from troggle.core.views.other import frontpage - from troggle.core.views.caves import ent, cavepage - from troggle.core.views import scans, drawings, other, caves, statistics, survex, uploads + from troggle.parsers.people import GetPersonExpeditionNameLookup def test_import_views_uploads(self): from troggle.core.views.uploads import dwgupload, scanupload def test_import_parsers_QMs(self): from troggle.core.models.caves import QM, Cave, LogbookEntry def test_import_parsers_people(self): from html import unescape + 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 - from troggle.core.models.troggle import DataIssue, Expedition - from troggle.core.models.caves import Cave, LogbookEntry, PersonTrip + from parsers.people import GetPersonExpeditionNameLookup + from troggle.core.models.caves import Cave, LogbookEntry, PersonTrip + from troggle.core.models.troggle import DataIssue, Expedition def test_import_core_views_caves(self): + from django.conf import settings + from django.contrib.auth.decorators import login_required from django.http import HttpResponse, HttpResponseRedirect from django.shortcuts import get_object_or_404, render - import troggle.core.views.expo + + import troggle.core.views.expo + from troggle.core.forms import (CaveAndEntranceFormSet, CaveForm, + EntranceForm, EntranceLetterForm) + from troggle.core.models.caves import (QM, Area, Cave, CaveAndEntrance, + CaveSlug, Entrance, + EntranceSlug, SurvexStation) from troggle.core.models.troggle import Expedition - from troggle.core.models.caves import CaveSlug, Cave, CaveAndEntrance, QM, EntranceSlug, Entrance, Area, SurvexStation - from troggle.core.forms import CaveForm, CaveAndEntranceFormSet, EntranceForm, EntranceLetterForm from troggle.core.views.auth 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.parsers.caves - import troggle.parsers.people import troggle.parsers.drawings - import troggle.parsers.scans import troggle.parsers.logbooks + import troggle.parsers.people import troggle.parsers.QMs - import troggle.parsers.survex + import troggle.parsers.scans + import troggle.parsers.survex + import troggle.settings + from troggle.parsers.logbooks import GetCaveLookup 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.core import management + from django.db import close_old_connections, connection, connections 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.contrib import admin - from django.contrib import auth - from django.urls import reverse, resolve - from django.views.generic.base import RedirectView + from django.conf.urls import include, url + from django.contrib import admin, auth + from django.urls import resolve, reverse + from django.views.generic.base import RedirectView from django.views.generic.edit import UpdateView from django.views.generic.list import ListView - from troggle.core.views import other, caves, statistics, survex + + from troggle.core.views import caves, other, statistics, survex from troggle.core.views.auth import expologin, expologout - from troggle.core.views.caves import ent, cavepage - from troggle.core.views.expo import expofiles_redirect, expofilessingle, expopage, editexpopage, mediapage, map, mapfile - from troggle.core.views.logbooks import expedition, personexpedition, Expeditions_tsvListView, Expeditions_jsonListView - from troggle.core.views.logbooks import get_logbook_entries, logbookentry - from troggle.core.views.logbooks import notablepersons, person, get_people + from troggle.core.views.caves import cavepage, ent + from troggle.core.views.expo import (editexpopage, expofiles_redirect, + expofilessingle, expopage, map, + mapfile, mediapage) + from troggle.core.views.logbooks import (Expeditions_jsonListView, + Expeditions_tsvListView, + expedition, + get_logbook_entries, + get_people, logbookentry, + notablepersons, person, + personexpedition) from troggle.core.views.other import controlpanel - from troggle.core.views.prospect import prospecting - from troggle.core.views.prospect import prospecting_image - from troggle.core.views.statistics import pathsreport, stats, dataissues - from troggle.core.views.survex import survexcaveslist, survexcavesingle, svx + from troggle.core.views.prospect import prospecting, prospecting_image + from troggle.core.views.statistics import (dataissues, pathsreport, + stats) + from troggle.core.views.survex import (survexcavesingle, + survexcaveslist, svx) class SubprocessTest(TestCase): @@ -123,8 +139,8 @@ class SubprocessTest(TestCase): def test_utf8(self): '''Expects that utf8 is the default encoding when opening files ''' - import sys import locale + import sys self.assertTrue( sys.getdefaultencoding() == "utf-8", f'{sys.getdefaultencoding()} - UTF8 error in getdefaultencoding') self.assertTrue( sys.getfilesystemencoding() == "utf-8", f'{sys.getfilesystemencoding()} - UTF8 error in getfilesystemencoding') self.assertTrue( locale.getdefaultlocale()[1] == "UTF-8", f'{locale.getdefaultlocale()} - UTF8 error in locale.getdefaultlocale') @@ -148,6 +164,7 @@ class SubprocessTest(TestCase): ''' Expects clean git repos with no added files and no merge failures ''' from pathlib import Path + import troggle.settings as settings TROGGLE_PATH = Path(settings.REPOS_ROOT_PATH) / "troggle" for cwd in [settings.SURVEX_DATA, settings.EXPOWEB, settings.DRAWINGS_DATA, TROGGLE_PATH]: @@ -179,6 +196,7 @@ class SubprocessTest(TestCase): ''' Expects no failures of survex files ''' from pathlib import Path + import troggle.settings as settings cwd = settings.SURVEX_DATA for survey in ["1623.svx", "1626.svx"]: diff --git a/core/TESTS/tests-cuyc-ignored.py b/core/TESTS/tests-cuyc-ignored.py index 3e98f94..ac4e5b3 100644 --- a/core/TESTS/tests-cuyc-ignored.py +++ b/core/TESTS/tests-cuyc-ignored.py @@ -18,28 +18,30 @@ $ python manage.py test cuy.club --parallel Runs the tests in this file only """ -import unittest import re -from django.test import TestCase, SimpleTestCase, TransactionTestCase, Client +import unittest + +from django.test import Client, SimpleTestCase, TestCase, TransactionTestCase + class ImportTest(TestCase): def test_import_imports(self): - # Need to go through all modules and copy all imports here + ed to go through all modules and copy all imports here + from io import StringIO + + from cuy.club.models import (Article, Event, Member, Webpage, + WebpageCategory) + from cuy.website.views.generic import PUBLIC_LOGIN from django.conf import settings from django.contrib.auth.decorators import login_required from django.contrib.auth.models import User from django.core import management from django.db import connection, connections - from django.http import HttpResponse + from django.db.utils import IntegrityError from django.http import HttpResponse, HttpResponseRedirect from django.shortcuts import get_object_or_404, render from django.template.defaultfilters import slugify from django.utils.timezone import get_current_timezone, make_aware - from io import StringIO - from cuy.club.models import Member, Article, Event, WebpageCategory, Webpage - from cuy.website.views.generic import PUBLIC_LOGIN - from cuy.club.models import Member - from django.db.utils import IntegrityError class SimpleTest(SimpleTestCase): @@ -110,9 +112,9 @@ class DataTests(TestCase ): self.assertIsNotNone(None, "Failed to enforce 'UNIQUE constraint' on saving two Member objects with same user_id") def test_article_invalid_date(self): - from cuy.club.models import Member, Article - from django.db.utils import IntegrityError + from cuy.club.models import Article, Member from django.core.exceptions import ValidationError + from django.db.utils import IntegrityError a = Article() m = self.member @@ -126,9 +128,9 @@ class DataTests(TestCase ): self.assertIsNotNone(t, "Exception is not the expected 'invalid format'") def test_article_and_author_not_null(self): - from cuy.club.models import Member, Article - from django.db.utils import IntegrityError + from cuy.club.models import Article, Member from django.core.exceptions import ValidationError + from django.db.utils import IntegrityError a2 = Article() a2.publish ="2021-02-17 17:25" @@ -143,9 +145,9 @@ class DataTests(TestCase ): self.assertIsNotNone(None, "Exception is not the expected 'NOT NULL constraint failed' IntegrityError") def test_article_and_author_ok(self): - from cuy.club.models import Member, Article - from django.db.utils import IntegrityError + from cuy.club.models import Article, Member from django.core.exceptions import ValidationError + from django.db.utils import IntegrityError m = self.member a3 = Article() @@ -201,8 +203,8 @@ class FixturePageTests(TestCase): def test_fix_admin_login_fail(self): c = self.client - from django.contrib.auth.models import User from cuy.club.models import Member + from django.contrib.auth.models import User m = Member.objects.get(pk=9002) u = User.objects.get(username='bingo') @@ -223,7 +225,7 @@ class ComplexLoginTests(TestCase): '''These test the login and capabilities of logged-in users''' def setUp(self): '''setUp runs once for each test in this class''' - from cuy.club.models import Member, MEMBER_TYPES, AFFILIATION + from cuy.club.models import AFFILIATION, MEMBER_TYPES, Member from django.contrib.auth.models import User m = Member() m.pk=8000 @@ -344,6 +346,7 @@ class ComplexLoginTests(TestCase): def test_committee_login(self): from django.contrib.auth.models import User + # User must be associated with a Member for whom is_committee() is True c = self.client # inherited from TestCase u = self.user @@ -407,7 +410,7 @@ class DynamicPageTests(TestCase): def test_full_yachts(self): '''Creating a WebpageCategory and an index webpage creates a valid url ''' - from cuy.club.models import WebpageCategory, Webpage + from cuy.club.models import Webpage, WebpageCategory wc = WebpageCategory() wc.pk = 8000 wc.id = 8000 diff --git a/core/TESTS/tests.py b/core/TESTS/tests.py index e74a11b..cc10c14 100644 --- a/core/TESTS/tests.py +++ b/core/TESTS/tests.py @@ -25,10 +25,11 @@ todo = '''ADD TESTS when we are redirecting /expofiles/ to a remote file-deliver - Add test for running cavern to produce a .3d file ''' -import unittest import re +import unittest from http import HTTPStatus -from django.test import TestCase, SimpleTestCase, Client + +from django.test import Client, SimpleTestCase, TestCase #class SimplePageTest(unittest.TestCase): diff --git a/core/TESTS/tests_caves.py b/core/TESTS/tests_caves.py index dd8f1df..732ebe8 100644 --- a/core/TESTS/tests_caves.py +++ b/core/TESTS/tests_caves.py @@ -2,11 +2,14 @@ Modified for Expo April 2021. """ -import unittest import re -from django.test import TestCase, SimpleTestCase, Client +import unittest + +from django.test import Client, SimpleTestCase, TestCase + +from troggle.core.models.caves import Area, Cave from troggle.core.models.troggle import Expedition, Person, PersonExpedition -from troggle.core.models.caves import Cave, Area + class FixtureTests(TestCase): '''These just hit the database. diff --git a/core/TESTS/tests_logins.py b/core/TESTS/tests_logins.py index 364f16a..02eceb6 100644 --- a/core/TESTS/tests_logins.py +++ b/core/TESTS/tests_logins.py @@ -5,17 +5,18 @@ Philip Sargent (Feb.2021) Modified for Expo April 2021. """ -import unittest -import re import pathlib +import re import subprocess +import unittest from http import HTTPStatus -from django.test import TestCase, SimpleTestCase, TransactionTestCase, Client +from django.test import Client, SimpleTestCase, TestCase, TransactionTestCase + +import troggle.settings as settings from troggle.core.models.survex import Wallet from troggle.core.models.troggle import Expedition -import troggle.settings as settings class DataTests(TestCase ): '''These check that the NULL and NON-UNIQUE constraints are working in the database ''' |