Browse Source

[metadata] Support deleting a workload

Romain Rigaux 9 years ago
parent
commit
74ab528

+ 4 - 5
desktop/libs/metadata/src/metadata/optimizer_client.py

@@ -95,13 +95,13 @@ class OptimizerApi(object):
       raise PopupException(e, title=_('Error while accessing Optimizer'))
       raise PopupException(e, title=_('Error while accessing Optimizer'))
 
 
 
 
-  def delete_workload(self):
+  def delete_workload(self, token, email=None):
     try:
     try:
       data = {
       data = {
-          'email': email,
+          'email': email if email is not None else self._email,
           'token': token,
           'token': token,
       }
       }
-      return self._root.post('/api/deleteWorkload', data)
+      return self._root.post('/api/deleteWorkload', data=json.dumps(data), contenttype=_JSON_CONTENT_TYPE)
     except RestException, e:
     except RestException, e:
       raise PopupException(e, title=_('Error while accessing Optimizer'))
       raise PopupException(e, title=_('Error while accessing Optimizer'))
 
 
@@ -128,7 +128,7 @@ class OptimizerApi(object):
           'sourcePlatform': sourcePlatform,
           'sourcePlatform': sourcePlatform,
       }
       }
       return self._root.post('/api/upload', data=data, files = {'file': ('hue-report.csv', list(queries_csv)[0])})
       return self._root.post('/api/upload', data=data, files = {'file': ('hue-report.csv', list(queries_csv)[0])})
-      
+
     except RestException, e:
     except RestException, e:
       raise PopupException(e, title=_('Error while accessing Optimizer'))
       raise PopupException(e, title=_('Error while accessing Optimizer'))
 
 
@@ -138,4 +138,3 @@ def OptimizerDataAdapter(queries):
   rows = ([str(uuid.uuid4()), 1000, q] for q in queries)
   rows = ([str(uuid.uuid4()), 1000, q] for q in queries)
 
 
   yield headers, rows
   yield headers, rows
-    

+ 10 - 1
desktop/libs/metadata/src/metadata/optimizer_tests.py

@@ -79,7 +79,7 @@ class TestOptimizerApi(object):
   def test_api_get_status(self):
   def test_api_get_status(self):
     resp = self.api.authenticate()
     resp = self.api.authenticate()
     token = resp['token']
     token = resp['token']
-   
+
     resp = self.api.get_status(token=token)
     resp = self.api.get_status(token=token)
 
 
     assert_equal('success', resp['status'], resp)
     assert_equal('success', resp['status'], resp)
@@ -88,6 +88,15 @@ class TestOptimizerApi(object):
     assert_true('finished' in resp['details'], resp)
     assert_true('finished' in resp['details'], resp)
 
 
 
 
+  def test_api_delete_workload(self):
+    resp = self.api.authenticate()
+    token = resp['token']
+
+    resp = self.api.delete_workload(token=token)
+
+    assert_equal('success', resp['status'], resp)
+
+
   def test_api_upload(self):
   def test_api_upload(self):
     resp = self.api.authenticate()
     resp = self.api.authenticate()
     token = resp['token']
     token = resp['token']