65 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			65 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| # -*- coding: utf-8; -*-
 | |
| 
 | |
| from unittest import TestCase
 | |
| 
 | |
| from pyramid import testing
 | |
| from beaker.session import Session as BeakerSession
 | |
| 
 | |
| from wuttjamaican.testing import ConfigTestCase
 | |
| 
 | |
| from wuttaweb import progress as mod
 | |
| 
 | |
| 
 | |
| class TestGetBasicSession(TestCase):
 | |
| 
 | |
|     def setUp(self):
 | |
|         self.request = testing.DummyRequest()
 | |
| 
 | |
|     def test_basic(self):
 | |
|         session = mod.get_basic_session(self.request)
 | |
|         self.assertIsInstance(session, BeakerSession)
 | |
|         self.assertFalse(session.use_cookies)
 | |
| 
 | |
| 
 | |
| class TestGetProgressSession(TestCase):
 | |
| 
 | |
|     def setUp(self):
 | |
|         self.request = testing.DummyRequest()
 | |
| 
 | |
|     def test_basic(self):
 | |
|         self.request.session.id = "mockid"
 | |
|         session = mod.get_progress_session(self.request, "foo")
 | |
|         self.assertIsInstance(session, BeakerSession)
 | |
|         self.assertEqual(session.id, "mockid.progress.foo")
 | |
| 
 | |
| 
 | |
| class TestSessionProgress(ConfigTestCase):
 | |
| 
 | |
|     def setUp(self):
 | |
|         self.setup_config()
 | |
|         self.request = testing.DummyRequest(wutta_config=self.config)
 | |
|         self.request.session.id = "mockid"
 | |
| 
 | |
|     def test_error_url(self):
 | |
|         factory = mod.SessionProgress(self.request, "foo", success_url="/blart")
 | |
|         self.assertEqual(factory.error_url, "/blart")
 | |
| 
 | |
|     def test_basic(self):
 | |
| 
 | |
|         # sanity / coverage check
 | |
|         factory = mod.SessionProgress(self.request, "foo")
 | |
|         prog = factory("doing things", 2)
 | |
|         prog.update(1)
 | |
|         prog.update(2)
 | |
|         prog.handle_success()
 | |
| 
 | |
|     def test_error(self):
 | |
| 
 | |
|         # sanity / coverage check
 | |
|         factory = mod.SessionProgress(self.request, "foo")
 | |
|         prog = factory("doing things", 2)
 | |
|         prog.update(1)
 | |
|         try:
 | |
|             raise RuntimeError("omg")
 | |
|         except Exception as error:
 | |
|             prog.handle_error(error)
 |