def test_filter_by_resource_and_node(self): self.assertEqual( status.filter_resources_failcounts( self.failures, resource="resourceA", node="nodeB" ), [self.fail_03, self.fail_05, self.fail_06], )
def test_filter_by_operation_and_interval_int(self): self.assertEqual( status.filter_resources_failcounts( self.failures, operation="monitor", interval=500 ), [self.fail_05], )
def test_filter_by_node_and_operation_and_interval(self): self.assertEqual( status.filter_resources_failcounts(self.failures, node="nodeB", operation="monitor", interval="1000"), [self.fail_03, self.fail_07])
def test_filter_by_operation(self): self.assertEqual( status.filter_resources_failcounts( self.failures, operation="monitor" ), [self.fail_02, self.fail_03, self.fail_05, self.fail_07], )
def test_filter_by_resource_and_node_and_operation(self): self.assertEqual( status.filter_resources_failcounts(self.failures, resource="resourceA", node="nodeB", operation="monitor"), [self.fail_03, self.fail_05])
def get_failcounts(env, resource=None, node=None, operation=None, interval=None): # pylint: disable=redefined-outer-name """ List resources failcounts, optionally filtered by a resource, node or op LibraryEnvironment env string resource -- show failcounts for the specified resource only string node -- show failcounts for the specified node only string operation -- show failcounts for the specified operation only string interval -- show failcounts for the specified operation interval only """ report_items = [] if interval is not None and operation is None: report_items.append( reports.prerequisite_option_is_missing("interval", "operation")) if interval is not None: report_items.extend( ValueTimeInterval("interval").validate({"interval": interval})) if report_items: raise LibraryError(*report_items) interval_ms = (None if interval is None else timeout_to_seconds(interval) * 1000) all_failcounts = cib_status.get_resources_failcounts( get_status(env.get_cib())) return cib_status.filter_resources_failcounts(all_failcounts, resource=resource, node=node, operation=operation, interval=interval_ms)
def test_filter_by_operation_and_interval_int(self): self.assertEqual( status.filter_resources_failcounts( self.failures, operation="monitor", interval=500 ), [self.fail_05] )
def test_filter_by_node_and_operation(self): self.assertEqual( status.filter_resources_failcounts( self.failures, node="nodeB", operation="monitor" ), [self.fail_03, self.fail_05, self.fail_07] )
def test_filter_by_resource_and_node(self): self.assertEqual( status.filter_resources_failcounts( self.failures, resource="resourceA", node="nodeB" ), [self.fail_03, self.fail_05, self.fail_06] )
def test_no_match(self): self.assertEqual( status.filter_resources_failcounts( self.failures, resource="resourceX" ), [] )
def test_filter_by_node(self): self.assertEqual( status.filter_resources_failcounts( self.failures, node="nodeA" ), [self.fail_01, self.fail_02] )
def test_no_match(self): self.assertEqual( status.filter_resources_failcounts( self.failures, resource="resourceX" ), [], )
def test_filter_by_resource_and_node_and_operation_and_interval(self): self.assertEqual( status.filter_resources_failcounts( self.failures, resource="resourceA", node="nodeB", operation="monitor", interval="1000" ), [self.fail_03] )
def get_failcounts( env, resource=None, node=None, operation=None, interval=None ): # pylint: disable=redefined-outer-name """ List resources failcounts, optionally filtered by a resource, node or op LibraryEnvironment env string resource -- show failcounts for the specified resource only string node -- show failcounts for the specified node only string operation -- show failcounts for the specified operation only string interval -- show failcounts for the specified operation interval only """ report_items = [] if interval is not None and operation is None: report_items.append( reports.prerequisite_option_is_missing("interval", "operation") ) if interval is not None: report_items.extend( value_time_interval("interval")({"interval": interval}) ) if report_items: raise LibraryError(*report_items) interval_ms = ( None if interval is None else timeout_to_seconds(interval) * 1000 ) all_failcounts = cib_status.get_resources_failcounts( get_status(env.get_cib()) ) return cib_status.filter_resources_failcounts( all_failcounts, resource=resource, node=node, operation=operation, interval=interval_ms )
def test_no_filter(self): self.assertEqual( status.filter_resources_failcounts(self.failures), self.failures )
def test_filter_by_node(self): self.assertEqual( status.filter_resources_failcounts(self.failures, node="nodeA"), [self.fail_01, self.fail_02])
def test_filter_by_resource(self): self.assertEqual( status.filter_resources_failcounts(self.failures, resource="resourceA"), [self.fail_01, self.fail_03, self.fail_05, self.fail_06])
def test_no_filter(self): self.assertEqual(status.filter_resources_failcounts(self.failures), self.failures)