mirror of
				https://github.com/searxng/searxng.git
				synced 2025-11-03 19:17:07 -05:00 
			
		
		
		
	Merge pull request #2300 from dalf/fix-webapp-index
[fix] fix of / and /search
This commit is contained in:
		
						commit
						ebed1461bc
					
				@ -547,10 +547,12 @@ def index():
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    # redirect to search if there's a query in the request
 | 
					    # redirect to search if there's a query in the request
 | 
				
			||||||
    if request.form.get('q'):
 | 
					    if request.form.get('q'):
 | 
				
			||||||
        return redirect(url_for('search'), 308)
 | 
					        query = ('?' + request.query_string.decode()) if request.query_string else ''
 | 
				
			||||||
 | 
					        return redirect(url_for('search') + query, 308)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return render(
 | 
					    return render(
 | 
				
			||||||
        'index.html',
 | 
					        'index.html',
 | 
				
			||||||
 | 
					        selected_categories=get_selected_categories(request.preferences, request.form),
 | 
				
			||||||
    )
 | 
					    )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -566,8 +568,8 @@ def search():
 | 
				
			|||||||
    if output_format not in ['html', 'csv', 'json', 'rss']:
 | 
					    if output_format not in ['html', 'csv', 'json', 'rss']:
 | 
				
			||||||
        output_format = 'html'
 | 
					        output_format = 'html'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # check if there is query
 | 
					    # check if there is query (not None and not an empty string)
 | 
				
			||||||
    if request.form.get('q') is None:
 | 
					    if not request.form.get('q'):
 | 
				
			||||||
        if output_format == 'html':
 | 
					        if output_format == 'html':
 | 
				
			||||||
            return render(
 | 
					            return render(
 | 
				
			||||||
                'index.html',
 | 
					                'index.html',
 | 
				
			||||||
 | 
				
			|||||||
@ -75,9 +75,32 @@ class ViewsTestCase(SearxTestCase):
 | 
				
			|||||||
        self.assertEqual(result.status_code, 200)
 | 
					        self.assertEqual(result.status_code, 200)
 | 
				
			||||||
        self.assertIn(b'<div class="title"><h1>searx</h1></div>', result.data)
 | 
					        self.assertIn(b'<div class="title"><h1>searx</h1></div>', result.data)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def test_index_html(self):
 | 
					    def test_index_html_post(self):
 | 
				
			||||||
        result = self.app.post('/', data={'q': 'test'})
 | 
					        result = self.app.post('/', data={'q': 'test'})
 | 
				
			||||||
        self.assertEqual(result.status_code, 308)
 | 
					        self.assertEqual(result.status_code, 308)
 | 
				
			||||||
 | 
					        self.assertEqual(result.location, 'http://localhost/search')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def test_index_html_get(self):
 | 
				
			||||||
 | 
					        result = self.app.post('/?q=test')
 | 
				
			||||||
 | 
					        self.assertEqual(result.status_code, 308)
 | 
				
			||||||
 | 
					        self.assertEqual(result.location, 'http://localhost/search?q=test')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def test_search_empty_html(self):
 | 
				
			||||||
 | 
					        result = self.app.post('/search', data={'q': ''})
 | 
				
			||||||
 | 
					        self.assertEqual(result.status_code, 200)
 | 
				
			||||||
 | 
					        self.assertIn(b'<div class="title"><h1>searx</h1></div>', result.data)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def test_search_empty_json(self):
 | 
				
			||||||
 | 
					        result = self.app.post('/search', data={'q': '', 'format': 'json'})
 | 
				
			||||||
 | 
					        self.assertEqual(result.status_code, 400)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def test_search_empty_csv(self):
 | 
				
			||||||
 | 
					        result = self.app.post('/search', data={'q': '', 'format': 'csv'})
 | 
				
			||||||
 | 
					        self.assertEqual(result.status_code, 400)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def test_search_empty_rss(self):
 | 
				
			||||||
 | 
					        result = self.app.post('/search', data={'q': '', 'format': 'rss'})
 | 
				
			||||||
 | 
					        self.assertEqual(result.status_code, 400)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def test_search_html(self):
 | 
					    def test_search_html(self):
 | 
				
			||||||
        result = self.app.post('/search', data={'q': 'test'})
 | 
					        result = self.app.post('/search', data={'q': 'test'})
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user