| 
									
										
										
										
											2024-08-24 19:28:13 -05:00
										 |  |  | # -*- coding: utf-8; -*- | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | from unittest import TestCase | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | from pyramid import testing | 
					
						
							|  |  |  | from beaker.session import Session as BeakerSession | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-12-28 20:34:15 -06:00
										 |  |  | from wuttjamaican.testing import ConfigTestCase | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-08-24 19:28:13 -05:00
										 |  |  | 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): | 
					
						
							| 
									
										
										
										
											2025-08-31 12:26:43 -05:00
										 |  |  |         self.request.session.id = "mockid" | 
					
						
							|  |  |  |         session = mod.get_progress_session(self.request, "foo") | 
					
						
							| 
									
										
										
										
											2024-08-24 19:28:13 -05:00
										 |  |  |         self.assertIsInstance(session, BeakerSession) | 
					
						
							| 
									
										
										
										
											2025-08-31 12:26:43 -05:00
										 |  |  |         self.assertEqual(session.id, "mockid.progress.foo") | 
					
						
							| 
									
										
										
										
											2024-08-24 19:28:13 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-12-28 20:34:15 -06:00
										 |  |  | class TestSessionProgress(ConfigTestCase): | 
					
						
							| 
									
										
										
										
											2024-08-24 19:28:13 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  |     def setUp(self): | 
					
						
							| 
									
										
										
										
											2024-12-28 20:34:15 -06:00
										 |  |  |         self.setup_config() | 
					
						
							|  |  |  |         self.request = testing.DummyRequest(wutta_config=self.config) | 
					
						
							| 
									
										
										
										
											2025-08-31 12:26:43 -05:00
										 |  |  |         self.request.session.id = "mockid" | 
					
						
							| 
									
										
										
										
											2024-08-24 19:28:13 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  |     def test_error_url(self): | 
					
						
							| 
									
										
										
										
											2025-08-31 12:26:43 -05:00
										 |  |  |         factory = mod.SessionProgress(self.request, "foo", success_url="/blart") | 
					
						
							|  |  |  |         self.assertEqual(factory.error_url, "/blart") | 
					
						
							| 
									
										
										
										
											2024-08-24 19:28:13 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  |     def test_basic(self): | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         # sanity / coverage check | 
					
						
							| 
									
										
										
										
											2025-08-31 12:26:43 -05:00
										 |  |  |         factory = mod.SessionProgress(self.request, "foo") | 
					
						
							| 
									
										
										
										
											2024-08-24 19:28:13 -05:00
										 |  |  |         prog = factory("doing things", 2) | 
					
						
							|  |  |  |         prog.update(1) | 
					
						
							|  |  |  |         prog.update(2) | 
					
						
							|  |  |  |         prog.handle_success() | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     def test_error(self): | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         # sanity / coverage check | 
					
						
							| 
									
										
										
										
											2025-08-31 12:26:43 -05:00
										 |  |  |         factory = mod.SessionProgress(self.request, "foo") | 
					
						
							| 
									
										
										
										
											2024-08-24 19:28:13 -05:00
										 |  |  |         prog = factory("doing things", 2) | 
					
						
							|  |  |  |         prog.update(1) | 
					
						
							|  |  |  |         try: | 
					
						
							| 
									
										
										
										
											2025-08-31 12:26:43 -05:00
										 |  |  |             raise RuntimeError("omg") | 
					
						
							| 
									
										
										
										
											2024-08-24 19:28:13 -05:00
										 |  |  |         except Exception as error: | 
					
						
							|  |  |  |             prog.handle_error(error) |