def time_job_flow_idle(self, jf): if (is_job_flow_bootstrapping(jf) or is_job_flow_running(jf) or is_job_flow_done(jf)): return timedelta(0) else: return self.now - time_last_active(jf)
def test_done(self): jf = self.mock_emr_job_flows['j-DONE'] self.assertEqual(is_job_flow_done(jf), True) self.assertEqual(is_job_flow_running(jf), False) self.assertEqual(is_job_flow_non_streaming(jf), False) self.assertEqual(time_job_flow_idle(jf, self.now), timedelta(0))
def test_hadoop_debugging_job_flow(self): jf = self.mock_emr_job_flows['j-HADOOP_DEBUGGING'] self.assertEqual(is_job_flow_done(jf), False) self.assertEqual(is_job_flow_running(jf), False) self.assertEqual(is_job_flow_non_streaming(jf), False) self.assertEqual(time_job_flow_idle(jf, self.now), timedelta(hours=2))
def test_idle_and_failed(self): jf = self.mock_emr_job_flows['j-IDLE_AND_FAILED'] assert_equal(is_job_flow_done(jf), False) assert_equal(is_job_flow_running(jf), False) assert_equal(is_job_flow_non_streaming(jf), False) assert_equal(time_job_flow_idle(jf, self.now), timedelta(hours=3))
def test_done(self): jf = self.mock_emr_job_flows['j-DONE'] assert_equal(is_job_flow_done(jf), True) assert_equal(is_job_flow_running(jf), False) assert_equal(is_job_flow_non_streaming(jf), False) assert_equal(time_job_flow_idle(jf, self.now), timedelta(0))
def test_done_and_idle(self): jf = self.mock_emr_job_flows['j-DONE_AND_IDLE'] self.assertEqual(is_job_flow_done(jf), False) self.assertEqual(is_job_flow_running(jf), False) self.assertEqual(is_job_flow_non_streaming(jf), False) self.assertEqual(time_job_flow_idle(jf, self.now), timedelta(hours=2))
def test_done_and_idle(self): jf = self.mock_emr_job_flows['j-DONE_AND_IDLE'] assert_equal(is_job_flow_done(jf), False) assert_equal(is_job_flow_running(jf), False) assert_equal(is_job_flow_non_streaming(jf), False) assert_equal(time_job_flow_idle(jf, self.now), timedelta(hours=2))
def test_hive_job_flow(self): jf = self.mock_emr_job_flows['j-HIVE'] self.assertEqual(is_job_flow_done(jf), False) self.assertEqual(is_job_flow_running(jf), False) self.assertEqual(is_job_flow_non_streaming(jf), True) self.assertEqual(time_job_flow_idle(jf, self.now), timedelta(hours=4))
def test_hive_job_flow(self): jf = self.mock_emr_job_flows['j-HIVE'] assert_equal(is_job_flow_done(jf), False) assert_equal(is_job_flow_running(jf), False) assert_equal(is_job_flow_non_streaming(jf), True) assert_equal(time_job_flow_idle(jf, self.now), timedelta(hours=4))
def test_empty(self): jf = self.mock_emr_job_flows['j-EMPTY'] self.assertEqual(is_job_flow_done(jf), False) self.assertEqual(is_job_flow_running(jf), False) self.assertEqual(is_job_flow_non_streaming(jf), False) self.assertEqual(time_job_flow_idle(jf, self.now), timedelta(hours=10))
def test_hadoop_debugging_job_flow(self): jf = self.mock_emr_job_flows['j-HADOOP_DEBUGGING'] assert_equal(is_job_flow_done(jf), False) assert_equal(is_job_flow_running(jf), False) assert_equal(is_job_flow_non_streaming(jf), False) assert_equal(time_job_flow_idle(jf, self.now), timedelta(hours=2))
def test_empty(self): jf = self.mock_emr_job_flows['j-EMPTY'] assert_equal(is_job_flow_done(jf), False) assert_equal(is_job_flow_running(jf), False) assert_equal(is_job_flow_non_streaming(jf), False) assert_equal(time_job_flow_idle(jf, self.now), timedelta(hours=10))
def test_idle_and_failed(self): jf = self.mock_emr_job_flows['j-IDLE_AND_FAILED'] self.assertEqual(is_job_flow_done(jf), False) self.assertEqual(is_job_flow_running(jf), False) self.assertEqual(is_job_flow_non_streaming(jf), False) self.assertEqual(time_job_flow_idle(jf, self.now), timedelta(hours=3))
def test_currently_running(self): jf = self.mock_emr_job_flows['j-CURRENTLY_RUNNING'] self.assertEqual(is_job_flow_done(jf), False) self.assertEqual(is_job_flow_running(jf), True) self.assertEqual(is_job_flow_non_streaming(jf), False) self.assertEqual(time_job_flow_idle(jf, self.now), timedelta(0)) self.assertEqual(time_to_end_of_hour_for_job_flow(jf, self.now), timedelta(minutes=45)) self.assertEqual(job_flow_pool_name(jf), None)
def test_currently_running(self): jf = self.mock_emr_job_flows['j-CURRENTLY_RUNNING'] self.assertEqual(is_job_flow_done(jf), False) self.assertEqual(is_job_flow_running(jf), True) self.assertEqual(is_job_flow_non_streaming(jf), False) self.assertEqual(time_job_flow_idle(jf, self.now), timedelta(0)) self.assertEqual(time_to_end_of_hour_for_job_flow(jf, self.now), timedelta(minutes=45)) self.assertEqual(job_flow_pool_name(jf), None)
def test_hive_job_flow(self): jf = self.mock_emr_job_flows['j-HIVE'] self.assertEqual(is_job_flow_done(jf), False) self.assertEqual(is_job_flow_running(jf), False) self.assertEqual(is_job_flow_non_streaming(jf), True) self.assertEqual(time_job_flow_idle(jf, self.now), timedelta(hours=4)) self.assertEqual(est_time_to_hour(jf, self.now), timedelta(hours=1)) self.assertEqual(pool_hash_and_name(jf), (None, None))
def test_idle_and_failed(self): jf = self.mock_emr_job_flows['j-IDLE_AND_FAILED'] self.assertEqual(is_job_flow_done(jf), False) self.assertEqual(is_job_flow_running(jf), False) self.assertEqual(is_job_flow_non_streaming(jf), False) self.assertEqual(time_job_flow_idle(jf, self.now), timedelta(hours=3)) self.assertEqual(time_to_end_of_hour_for_job_flow(jf, self.now), timedelta(hours=1)) self.assertEqual(job_flow_pool_name(jf), None)
def test_hive_job_flow(self): jf = self.mock_emr_job_flows['j-HIVE'] self.assertEqual(is_job_flow_done(jf), False) self.assertEqual(is_job_flow_running(jf), False) self.assertEqual(is_job_flow_non_streaming(jf), True) self.assertEqual(time_job_flow_idle(jf, self.now), timedelta(hours=4)) self.assertEqual(time_to_end_of_hour_for_job_flow(jf, self.now), timedelta(hours=1)) self.assertEqual(job_flow_pool_name(jf), None)
def test_hive_job_flow(self): jf = self.mock_emr_job_flows['j-HIVE'] self.assertEqual(is_job_flow_done(jf), False) self.assertEqual(is_job_flow_running(jf), False) self.assertEqual(is_job_flow_non_streaming(jf), True) self.assertEqual(time_job_flow_idle(jf, self.now), timedelta(hours=4)) self.assertEqual(time_to_end_of_hour_for_job_flow(jf, self.now), timedelta(hours=1)) self.assertEqual(job_flow_pool_name(jf), None)
def test_hadoop_debugging_job_flow(self): jf = self.mock_emr_job_flows['j-HADOOP_DEBUGGING'] self.assertEqual(is_job_flow_done(jf), False) self.assertEqual(is_job_flow_running(jf), False) self.assertEqual(is_job_flow_non_streaming(jf), False) self.assertEqual(time_job_flow_idle(jf, self.now), timedelta(hours=2)) self.assertEqual(time_to_end_of_hour_for_job_flow(jf, self.now), timedelta(hours=1)) self.assertEqual(job_flow_pool_name(jf), None)
def test_pooled(self): jf = self.mock_emr_job_flows['j-POOLED'] self.assertEqual(is_job_flow_done(jf), False) self.assertEqual(is_job_flow_running(jf), False) self.assertEqual(is_job_flow_non_streaming(jf), False) self.assertEqual(time_job_flow_idle(jf, self.now), timedelta(minutes=55)) self.assertEqual(time_to_end_of_hour_for_job_flow(jf, self.now), timedelta(minutes=5)) self.assertEqual(job_flow_pool_name(jf), 'reflecting')
def test_pooled(self): jf = self.mock_emr_job_flows['j-POOLED'] self.assertEqual(is_job_flow_done(jf), False) self.assertEqual(is_job_flow_running(jf), False) self.assertEqual(is_job_flow_non_streaming(jf), False) self.assertEqual(time_job_flow_idle(jf, self.now), timedelta(minutes=55)) self.assertEqual(time_to_end_of_hour_for_job_flow(jf, self.now), timedelta(minutes=5)) self.assertEqual(job_flow_pool_name(jf), 'reflecting')
def test_pooled(self): jf = self.mock_emr_job_flows['j-POOLED'] self.assertEqual(is_job_flow_done(jf), False) self.assertEqual(is_job_flow_running(jf), False) self.assertEqual(is_job_flow_non_streaming(jf), False) self.assertEqual(time_job_flow_idle(jf, self.now), timedelta(minutes=55)) self.assertEqual(est_time_to_hour(jf, self.now), timedelta(minutes=5)) self.assertEqual(pool_hash_and_name(jf), ('0123456789abcdef0123456789abcdef', 'reflecting'))
def assertJobFlowIs( self, jf, bootstrapping=False, done=False, from_end_of_hour=timedelta(hours=1), has_pending_steps=False, idle_for=timedelta(0), pool_hash=None, pool_name=None, running=False, streaming=True, ): self.assertEqual(bootstrapping, is_job_flow_bootstrapping(jf)) self.assertEqual(done, is_job_flow_done(jf)) self.assertEqual(from_end_of_hour, est_time_to_hour(jf, self.now)) self.assertEqual(has_pending_steps, job_flow_has_pending_steps(jf)) self.assertEqual(idle_for, self.time_job_flow_idle(jf)) self.assertEqual((pool_hash, pool_name), pool_hash_and_name(jf)) self.assertEqual(running, is_job_flow_running(jf)) self.assertEqual(streaming, is_job_flow_streaming(jf))
def test_currently_running(self): jf = self.mock_emr_job_flows['j-CURRENTLY_RUNNING'] self.assertEqual(is_job_flow_done(jf), False) self.assertEqual(is_job_flow_running(jf), True) self.assertEqual(is_job_flow_non_streaming(jf), False) self.assertEqual(time_job_flow_idle(jf, self.now), timedelta(0))
def test_currently_running(self): jf = self.mock_emr_job_flows['j-CURRENTLY_RUNNING'] assert_equal(is_job_flow_done(jf), False) assert_equal(is_job_flow_running(jf), True) assert_equal(is_job_flow_non_streaming(jf), False) assert_equal(time_job_flow_idle(jf, self.now), timedelta(0))