summaryrefslogtreecommitdiffstats
path: root/core/TESTS
diff options
context:
space:
mode:
Diffstat (limited to 'core/TESTS')
-rw-r--r--core/TESTS/test_imports.py8
-rw-r--r--core/TESTS/tests_logins.py47
2 files changed, 43 insertions, 12 deletions
diff --git a/core/TESTS/test_imports.py b/core/TESTS/test_imports.py
index 9edd5c5..7445d25 100644
--- a/core/TESTS/test_imports.py
+++ b/core/TESTS/test_imports.py
@@ -40,9 +40,11 @@ class SimpleTest(SimpleTestCase):
import troggle.core.models.survex as models_survex
import troggle.core.models.caves as models_caves
from troggle.parsers.people import GetPersonExpeditionNameLookup
- from troggle.core.views.other import troggle404, frontpage
+ 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
+ from troggle.core.views import scans, drawings, other, caves, statistics, survex, uploads
+ 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):
@@ -97,7 +99,7 @@ class SimpleTest(SimpleTestCase):
from troggle.core.views.logbooks import expedition, personexpedition, Expeditions_tsvListView, Expeditions_jsonListView
from troggle.core.views.logbooks import get_logbook_entries, logbookentry, logbookSearch
from troggle.core.views.logbooks import notablepersons, person, get_people
- from troggle.core.views.other import troggle404, frontpage
+ 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
diff --git a/core/TESTS/tests_logins.py b/core/TESTS/tests_logins.py
index 9148207..4c021aa 100644
--- a/core/TESTS/tests_logins.py
+++ b/core/TESTS/tests_logins.py
@@ -86,20 +86,49 @@ class PostTests(TestCase):
self.assertTrue(u.is_active, 'User \'' + u.username + '\' is INACTIVE')
logged_in = c.login(username=u.username, password='secretword')
- with open('README.txt','r') as testf:
- response = self.client.post('/scanupload/2021:00', data={'title': '2021#00', 'name': 'README.txt', 'scanfiles': testf })
+ with open('core/fixtures/test_upload_file.txt','r') as testf:
+ response = self.client.post('/scanupload/2020:00', data={'name': 'test_upload_file.txt', 'uploadfiles': testf })
content = response.content.decode()
self.assertEqual(response.status_code, 200)
self.assertEqual(response.status_code, HTTPStatus.OK)
- # with open('test_up.html', 'w') as f:
+ # with open('testresponse.html', 'w') as f:
# f.write(content)
- t = re.search('<em>README', content)
- self.assertIsNotNone(t, 'Logged in but failed to see "<em>\'README"' )
- t = re.search(' saved as', content)
- self.assertIsNotNone(t, 'Logged in but failed to see "File(s) saved as"' )
- t = re.search('/expofiles/surveyscans/2021/2021%2300/README', content)
- self.assertIsNotNone(t, 'Logged in but failed to see "/expofiles/..."' )
+ for ph in [ r'test_upload_',
+ r'&larr; 2020#00 &rarr;',
+ r'Upload more?']:
+ phmatch = re.search(ph, content)
+ self.assertIsNotNone(phmatch, "Failed to find expected text: '" + ph +"'")
+ def test_dwg_upload(self):
+ '''Test file upload. Need to login first.
+ First upload is refused as it is a TXT file
+ Second upload is an image and suceeds.
+ '''
+ c = self.client
+ from django.contrib.auth.models import User
+ u = User.objects.get(username='expotest')
+
+ self.assertTrue(u.is_active, 'User \'' + u.username + '\' is INACTIVE')
+ logged_in = c.login(username=u.username, password='secretword')
+
+ with open('core/fixtures/test_upload_file.txt','r') as testf:
+ response = self.client.post('/dwgupload/uploads', data={'name': 'test_upload_file.txt', 'uploadfiles': testf })
+ content = response.content.decode()
+ self.assertEqual(response.status_code, 200)
+ t = re.search('Files refused:', content)
+ self.assertIsNotNone(t, 'Logged in but failed to see "Files refused:"' )
+
+ with open('core/fixtures/test_upload_nosuffix','r') as testf:
+ response = self.client.post('/dwgupload/uploads', data={'name': 'test_upload_nosuffix', 'uploadfiles': testf })
+ content = response.content.decode()
+ with open('testresponse.html', 'w') as f:
+ f.write(content)
+ self.assertEqual(response.status_code, 200)
+ for ph in [ r'Upload more',
+ r' saved as ',
+ r'Clicking on a filename only']:
+ phmatch = re.search(ph, content)
+ self.assertIsNotNone(phmatch, "Failed to find expected text: '" + ph +"'")
class ComplexLoginTests(TestCase):