瀏覽代碼

[liboozie] Add tests to check for workflow action external id links

Romain Rigaux 10 年之前
父節點
當前提交
3ab5853

+ 2 - 2
apps/oozie/src/oozie/templates/dashboard/list_oozie_workflow_action.mako

@@ -44,8 +44,8 @@ ${ layout.menubar(section='workflows', dashboard=True) }
           <li class="white">${ action.name }</li>
 
           <li class="nav-header">${ _('External Id') }</li>
-          % if action.get_externalId_url():
-            <li><a href="${ action.get_externalId_url() }">${ action.externalId }</a></li>
+          % if action.get_external_id_url():
+            <li><a href="${ action.get_external_id_url() }">${ action.externalId }</a></li>
           % else:
             <li>${ action.externalId } </li>
           % endif

+ 1 - 1
apps/oozie/src/oozie/views/dashboard.py

@@ -790,7 +790,7 @@ def massaged_workflow_actions_for_json(workflow_actions, oozie_coordinator, oozi
       'name': action.name,
       'type': action.type,
       'status': action.status,
-      'externalIdUrl': action.get_externalId_url(),
+      'externalIdUrl': action.get_external_id_url(),
       'externalId': action.externalId,
       'startTime': format_time(action.startTime),
       'endTime': format_time(action.endTime),

+ 19 - 4
desktop/libs/liboozie/src/liboozie/tests.py

@@ -31,10 +31,25 @@ LOG = logging.getLogger(__name__)
 
 
 def test_valid_external_id():
-  assert_equal('job_201208072118_0044', WorkflowAction(MockOozieApi.JSON_WORKFLOW_LIST[0]).externalId)
-  assert_equal(None, WorkflowAction(MockOozieApi.JSON_WORKFLOW_LIST[1]).externalId)
-  assert_equal(None, WorkflowAction(MockOozieApi.JSON_WORKFLOW_LIST[2]).externalId)
-  assert_equal(None, WorkflowAction(MockOozieApi.JSON_WORKFLOW_LIST[3]).externalId)
+  action = WorkflowAction(MockOozieApi.JSON_WORKFLOW_LIST[0])
+  assert_equal('job_201208072118_0044', action.externalId)
+  assert_equal('/jobbrowser/jobs/job_201208072118_0044/single_logs', action.get_absolute_log_url())
+  assert_equal('/jobbrowser/jobs/job_201208072118_0044', action.get_external_id_url())
+
+  action = WorkflowAction(MockOozieApi.JSON_WORKFLOW_LIST[1])
+  assert_equal('-', action.externalId)
+  assert_equal(None, action.get_absolute_log_url())
+  assert_equal(None, action.get_external_id_url())
+
+  action = WorkflowAction(MockOozieApi.JSON_WORKFLOW_LIST[2])
+  assert_equal('', action.externalId)
+  assert_equal(None, action.get_absolute_log_url())
+  assert_equal(None, action.get_external_id_url())
+
+  action = WorkflowAction(MockOozieApi.JSON_WORKFLOW_LIST[3])
+  assert_equal(None, action.externalId)
+  assert_equal(None, action.get_absolute_log_url())
+  assert_equal(None, action.get_external_id_url())
 
 
 def aggregate_coordinator_instances():

+ 1 - 1
desktop/libs/liboozie/src/liboozie/types.py

@@ -173,7 +173,7 @@ class WorkflowAction(Action):
       url = self.externalId and reverse('jobbrowser.views.job_single_logs', kwargs={'job': self.externalId}) or ''
     return url
 
-  def get_externalId_url(self):
+  def get_external_id_url(self):
     url = None
     if self.externalId and self.externalId.endswith('W'):
       url = reverse('oozie:list_oozie_workflow', kwargs={'job_id': self.externalId}) or ''