浏览代码

HUE-1631 Fix oozie and pig tests

HUE-1631 broke a few tests. This commit rectifies them.
Abraham Elmahrek 12 年之前
父节点
当前提交
04a21a4

+ 5 - 4
apps/pig/src/pig/api.py

@@ -34,8 +34,8 @@ from oozie.views.editor import _submit_workflow
 LOG = logging.getLogger(__name__)
 
 
-def get(fs, user):
-  return OozieApi(fs, user)
+def get(fs, jt, user):
+  return OozieApi(fs, jt, user)
 
 
 class OozieApi:
@@ -48,8 +48,9 @@ class OozieApi:
   RE_LOG_START_FINISHED = re.compile('(>>> Invoking Pig command line now >>>)', re.M | re.DOTALL)
   MAX_DASHBOARD_JOBS = 100
 
-  def __init__(self, fs, user):
+  def __init__(self, fs, jt, user):
     self.fs = fs
+    self.jt = jt
     self.user = user
 
   def submit(self, pig_script, params):
@@ -61,7 +62,7 @@ class OozieApi:
 
     try:
       workflow = self._create_workflow(pig_script, params)
-      oozie_wf = _submit_workflow(self.user, self.fs, workflow, mapping)
+      oozie_wf = _submit_workflow(self.user, self.fs, self.jt, workflow, mapping)
     finally:
       if workflow:
         workflow.delete()

+ 4 - 4
apps/pig/src/pig/tests.py

@@ -144,7 +144,7 @@ class TestMock(TestPigBase):
     self.c.post(reverse('pig:save'), data=attrs, follow=True)
 
   def parse_oozie_logs(self):
-    api = get(None, self.user)
+    api = get(None, None, self.user)
 
     assert_equal(
 '''Run pig script using PigRunner.run() for Pig version 0.8+
@@ -178,7 +178,7 @@ class TestWithHadoop(OozieBase):
 
   def test_create_workflow(self):
     cluster = pseudo_hdfs4.shared_cluster()
-    api = OozieApi(cluster.fs, self.user)
+    api = OozieApi(cluster.fs, cluster.jt, self.user)
 
     xattrs = {
       'parameters': [
@@ -246,7 +246,7 @@ class TestWithHadoop(OozieBase):
     return pig_script_id
 
   def test_submit(self):
-    script = PigScript.objects.get(id=1)
+    script = PigScript.objects.get(id=1100713)
     script_dict = script.dict
 
     post_data = {
@@ -266,7 +266,7 @@ class TestWithHadoop(OozieBase):
     self.wait_until_completion(job_id)
 
   def test_stop(self):
-    script = PigScript.objects.get(id=1)
+    script = PigScript.objects.get(id=1100713)
     script_dict = script.dict
 
     post_data = {

+ 4 - 4
apps/pig/src/pig/views.py

@@ -56,7 +56,7 @@ def scripts(request):
 
 @show_oozie_error
 def dashboard(request):
-  pig_api = api.get(request.fs, request.user)
+  pig_api = api.get(request.fs, request.jt, request.user)
 
   jobs = pig_api.get_jobs()
   hue_jobs = Document.objects.available(PigScript, request.user)
@@ -101,7 +101,7 @@ def stop(request):
   check_job_edition_permission(job, request.user)
 
   try:
-    api.get(request, request.user).stop(job_id)
+    api.get(request.fs, request.jt, request.user).stop(job_id)
   except RestException, e:
     raise PopupException(_("Error stopping Pig script.") % e.message)
 
@@ -127,7 +127,7 @@ def run(request):
   pig_script = create_or_update_script(**attrs)
 
   params = request.POST.get('submissionVariables')
-  oozie_id = api.get(request.fs, request.user).submit(pig_script, params)
+  oozie_id = api.get(request.fs, request.jt, request.user).submit(pig_script, params)
 
   pig_script.update_from_dict({'job_id': oozie_id})
   pig_script.save()
@@ -206,7 +206,7 @@ def delete(request):
 @show_oozie_error
 def watch(request, job_id):
   oozie_workflow = check_job_access_permission(request, job_id)
-  logs, workflow_actions = api.get(request, job_id).get_log(request, oozie_workflow)
+  logs, workflow_actions = api.get(request.jt, request.jt, request.user).get_log(request, oozie_workflow)
   output = get_workflow_output(oozie_workflow, request.fs)
 
   workflow = {

+ 1 - 1
desktop/libs/hadoop/src/hadoop/pseudo_hdfs4.py

@@ -134,7 +134,7 @@ class PseudoHdfs4(object):
   @property
   def jt(self):
     if self._jt is None:
-      self._jt = LiveJobTracker(self._fqdn, self.jt_thrift_port)
+      self._jt = LiveJobTracker(self._fqdn, 0)
     return self._jt
 
   def stop(self):

+ 1 - 0
desktop/libs/liboozie/src/liboozie/tests.py

@@ -105,5 +105,6 @@ def test_update_properties():
     submission._update_properties('jtaddress', 'deployment-directory')
     assert_equal(final_properties, submission.properties)
   finally:
+    cluster.clear_caches()
     for reset in finish:
       reset()