mirror of
				https://github.com/encode/django-rest-framework.git
				synced 2025-11-04 09:57:55 +03:00 
			
		
		
		
	Test implemented for #28 Pygments examples should be datetime sorted
models.py is needed if we want to put tests in tests.py (see first line of models.py)
This commit is contained in:
		
							parent
							
								
									32be058195
								
							
						
					
					
						commit
						f88d8193a8
					
				
							
								
								
									
										1
									
								
								examples/pygments_api/models.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								examples/pygments_api/models.py
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1 @@
 | 
				
			||||||
 | 
					#We need models.py otherwise the test framework complains (http://code.djangoproject.com/ticket/7198)
 | 
				
			||||||
							
								
								
									
										41
									
								
								examples/pygments_api/tests.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								examples/pygments_api/tests.py
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,41 @@
 | 
				
			||||||
 | 
					from django.test import TestCase
 | 
				
			||||||
 | 
					from djangorestframework.compat import RequestFactory
 | 
				
			||||||
 | 
					from pygments_api import views
 | 
				
			||||||
 | 
					import os, tempfile, shutil
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class TestPygmentsExample(TestCase):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def setUp(self):
 | 
				
			||||||
 | 
					        self.factory = RequestFactory()
 | 
				
			||||||
 | 
					        self.temp_dir = tempfile.mkdtemp()
 | 
				
			||||||
 | 
					        views.HIGHLIGHTED_CODE_DIR = self.temp_dir
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					    def tearDown(self):
 | 
				
			||||||
 | 
					        try:
 | 
				
			||||||
 | 
					            shutil.rmtree(self.temp_dir)
 | 
				
			||||||
 | 
					        except:
 | 
				
			||||||
 | 
					            pass
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					    def test_get_to_root(self):
 | 
				
			||||||
 | 
					        '''Just do a get on the base url'''
 | 
				
			||||||
 | 
					        request = self.factory.get('/pygments')
 | 
				
			||||||
 | 
					        view = views.PygmentsRoot.as_view()
 | 
				
			||||||
 | 
					        response = view(request)
 | 
				
			||||||
 | 
					        self.assertEqual(response.status_code, 200)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def test_snippets_datetime_sorted(self):
 | 
				
			||||||
 | 
					        '''Pygments examples should be datetime sorted'''
 | 
				
			||||||
 | 
					        locations = []
 | 
				
			||||||
 | 
					        for snippet in 'abcdefghijk':
 | 
				
			||||||
 | 
					            form_data = {'code': '%s' % snippet, 'style':'friendly', 'lexer':'python'}
 | 
				
			||||||
 | 
					            request = self.factory.post('/pygments', data=form_data)
 | 
				
			||||||
 | 
					            view = views.PygmentsRoot.as_view()
 | 
				
			||||||
 | 
					            response = view(request)
 | 
				
			||||||
 | 
					            locations.append(response.items()[2][1])
 | 
				
			||||||
 | 
					        request = self.factory.get('/pygments')
 | 
				
			||||||
 | 
					        view = views.PygmentsRoot.as_view()
 | 
				
			||||||
 | 
					        response = view(request)
 | 
				
			||||||
 | 
					        self.assertEquals(locations, response.content)
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user