def test_build_args_with_csv_status(self): # --status pending,waiting_on_dependencies parsed_args = FakeParsedArgs( status=['pending', 'waiting_on_dependencies'] ) current_time = '2014-02-21T00:00:00' start_time = '2014-02-17T00:00:00' builder = QueryArgBuilder(current_time=parse(current_time)) query = builder.build_query(parsed_args) self.assertEqual(query, { 'selectors': [{ 'fieldName': '@actualStartTime', 'operator': { 'type': 'BETWEEN', 'values': [start_time, current_time] } }, { 'fieldName': '@status', 'operator': { 'type': 'EQ', 'values': ['PENDING', 'WAITING_ON_DEPENDENCIES'] } }, ] })
def test_build_args_with_single_status(self): # --status pending parsed_args = FakeParsedArgs(status=['pending']) current_time = '2014-02-21T00:00:00' start_time = '2014-02-17T00:00:00' builder = QueryArgBuilder(current_time=parse(current_time)) query = builder.build_query(parsed_args) self.assertEqual( query, { 'selectors': [ { 'fieldName': '@actualStartTime', 'operator': { 'type': 'BETWEEN', 'values': [start_time, current_time] } }, { 'fieldName': '@status', 'operator': { 'type': 'EQ', 'values': ['pending'] } }, ] })
def test_build_args_with_all_values_set(self): # --status pending,waiting_on_dependencies # --start-interval pending,waiting_on_dependencies # --schedule-schedule pending,waiting_on_dependencies parsed_args = FakeParsedArgs( start_interval=["2014-02-01T00:00:00", "2014-02-04T00:00:00"], schedule_interval=["2014-02-05T00:00:00", "2014-02-09T00:00:00"], status=["pending", "waiting_on_dependencies"], ) builder = QueryArgBuilder() query = builder.build_query(parsed_args) self.assertEqual( query, { "selectors": [ { "fieldName": "@actualStartTime", "operator": {"type": "BETWEEN", "values": ["2014-02-01T00:00:00", "2014-02-04T00:00:00"]}, }, { "fieldName": "@scheduledStartTime", "operator": {"type": "BETWEEN", "values": ["2014-02-05T00:00:00", "2014-02-09T00:00:00"]}, }, { "fieldName": "@status", "operator": {"type": "EQ", "values": ["PENDING", "WAITING_ON_DEPENDENCIES"]}, }, ] }, )
def test_build_args_with_single_status(self): # --status pending parsed_args = FakeParsedArgs( status=['pending'] ) current_time = '2014-02-21T00:00:00' start_time = '2014-02-17T00:00:00' builder = QueryArgBuilder(current_time=parse(current_time)) query = builder.build_query(parsed_args) self.assertEqual(query, { 'selectors': [{ 'fieldName': '@actualStartTime', 'operator': { 'type': 'BETWEEN', 'values': [start_time, current_time] } }, { 'fieldName': '@status', 'operator': { 'type': 'EQ', 'values': ['pending'] } }, ] })
def test_build_args_with_all_values_set(self): # --status pending,waiting_on_dependencies # --start-interval pending,waiting_on_dependencies # --schedule-schedule pending,waiting_on_dependencies parsed_args = FakeParsedArgs( start_interval=[ '2014-02-01T00:00:00', '2014-02-04T00:00:00', ], schedule_interval=[ '2014-02-05T00:00:00', '2014-02-09T00:00:00', ], status=['pending', 'waiting_on_dependencies'], ) builder = QueryArgBuilder() query = builder.build_query(parsed_args) self.assertEqual( query, { 'selectors': [ { 'fieldName': '@actualStartTime', 'operator': { 'type': 'BETWEEN', 'values': [ '2014-02-01T00:00:00', '2014-02-04T00:00:00', ], } }, { 'fieldName': '@scheduleStartTime', 'operator': { 'type': 'BETWEEN', 'values': ['2014-02-05T00:00:00', '2014-02-09T00:00:00'] } }, { 'fieldName': '@status', 'operator': { 'type': 'EQ', 'values': ['pending', 'waiting_on_dependencies'] } }, ] })
def test_build_query_args_default(self): parsed_args = FakeParsedArgs() current_time = '2014-02-21T00:00:00' start_time = '2014-02-17T00:00:00' builder = QueryArgBuilder(current_time=parse(current_time)) query = builder.build_query(parsed_args) self.assertEqual(query, { 'selectors': [{ 'fieldName': '@actualStartTime', 'operator': { 'type': 'BETWEEN', 'values': [start_time, current_time] } }] })
def test_build_args_with_end_interval(self): parsed_args = FakeParsedArgs(schedule_interval=["2014-02-01T00:00:00", "2014-02-04T00:00:00"]) builder = QueryArgBuilder() query = builder.build_query(parsed_args) self.assertEqual( query, { "selectors": [ { "fieldName": "@scheduledStartTime", "operator": {"type": "BETWEEN", "values": ["2014-02-01T00:00:00", "2014-02-04T00:00:00"]}, } ] }, )
def test_build_args_with_end_interval(self): parsed_args = FakeParsedArgs( schedule_interval=['2014-02-01T00:00:00', '2014-02-04T00:00:00',] ) builder = QueryArgBuilder() query = builder.build_query(parsed_args) self.assertEqual(query, { 'selectors': [{ 'fieldName': '@scheduleStartTime', 'operator': { 'type': 'BETWEEN', 'values': ['2014-02-01T00:00:00', '2014-02-04T00:00:00'] } }] })
def test_build_query_args_default(self): parsed_args = FakeParsedArgs() current_time = "2014-02-21T00:00:00" start_time = "2014-02-17T00:00:00" builder = QueryArgBuilder(current_time=parse(current_time)) query = builder.build_query(parsed_args) self.assertEqual( query, { "selectors": [ { "fieldName": "@actualStartTime", "operator": {"type": "BETWEEN", "values": [start_time, current_time]}, } ] }, )
def test_build_args_with_single_status(self): # --status pending parsed_args = FakeParsedArgs(status=["pending"]) current_time = "2014-02-21T00:00:00" start_time = "2014-02-17T00:00:00" builder = QueryArgBuilder(current_time=parse(current_time)) query = builder.build_query(parsed_args) self.assertEqual( query, { "selectors": [ { "fieldName": "@actualStartTime", "operator": {"type": "BETWEEN", "values": [start_time, current_time]}, }, {"fieldName": "@status", "operator": {"type": "EQ", "values": ["PENDING"]}}, ] }, )
def test_build_args_with_all_values_set(self): # --status pending,waiting_on_dependencies # --start-interval pending,waiting_on_dependencies # --schedule-schedule pending,waiting_on_dependencies parsed_args = FakeParsedArgs( start_interval=['2014-02-01T00:00:00', '2014-02-04T00:00:00',], schedule_interval=['2014-02-05T00:00:00', '2014-02-09T00:00:00',], status=['pending', 'waiting_on_dependencies'], ) builder = QueryArgBuilder() query = builder.build_query(parsed_args) self.assertEqual(query, { 'selectors': [{ 'fieldName': '@actualStartTime', 'operator': { 'type': 'BETWEEN', 'values': ['2014-02-01T00:00:00', '2014-02-04T00:00:00',], } }, { 'fieldName': '@scheduleStartTime', 'operator': { 'type': 'BETWEEN', 'values': ['2014-02-05T00:00:00', '2014-02-09T00:00:00'] } }, { 'fieldName': '@status', 'operator': { 'type': 'EQ', 'values': ['PENDING', 'WAITING_ON_DEPENDENCIES'] } },] })