Browse Source

HUE-8758 [api] Remove duplicated document types in get_config

Romain 5 years ago
parent
commit
d3146ed861
2 changed files with 7 additions and 1 deletions
  1. 1 1
      desktop/core/src/desktop/api2.py
  2. 6 0
      desktop/core/src/desktop/api2_tests.py

+ 1 - 1
desktop/core/src/desktop/api2.py

@@ -85,7 +85,7 @@ def get_config(request):
   config = get_cluster_config(request.user)
   config = get_cluster_config(request.user)
   config['clusters'] = list(get_clusters(request.user).values())
   config['clusters'] = list(get_clusters(request.user).values())
   config['documents'] = {
   config['documents'] = {
-    'types': list(Document2.objects.documents(user=request.user).distinct().values_list('type', flat=True))
+    'types': list(Document2.objects.documents(user=request.user).order_by().values_list('type', flat=True).distinct())
   }
   }
   config['status'] = 0
   config['status'] = 0
 
 

+ 6 - 0
desktop/core/src/desktop/api2_tests.py

@@ -129,6 +129,11 @@ class TestApi2(object):
         type='query-TestApi2.test_get_config',
         type='query-TestApi2.test_get_config',
         owner=self.user
         owner=self.user
     )
     )
+    doc2 = Document2.objects.create(
+        name='Query xxx 2',
+        type='query-TestApi2.test_get_config',
+        owner=self.user
+    )
 
 
     try:
     try:
       response = self.client.get('/desktop/api2/get_config')
       response = self.client.get('/desktop/api2/get_config')
@@ -137,6 +142,7 @@ class TestApi2(object):
       config = json.loads(response.content)
       config = json.loads(response.content)
 
 
       assert_true('query-TestApi2.test_get_config' in config['documents']['types'], config)
       assert_true('query-TestApi2.test_get_config' in config['documents']['types'], config)
+      assert_equal(1, len([t for t in config['documents']['types'] if t == 'query-TestApi2.test_get_config']))
     finally:
     finally:
       doc.delete()
       doc.delete()