def get_topic_names_and_types(*, node, include_hidden_topics=False): topic_names_and_types = node.get_topic_names_and_types() if not include_hidden_topics: topic_names_and_types = [ (n, t) for (n, t) in topic_names_and_types if not topic_or_service_is_hidden(n)] return topic_names_and_types
def test_topic_or_service_is_hidden(self): tests = [ ('/chatter', False), ('chatter', False), ('/_chatter', True), ('_chatter', True), ('/more/complex/chatter', False), ('/_more/complex/chatter', True), ('/more/_complex/chatter', True), ('/more/complex/_chatter', True), ('/more/complex_/chatter', False), ('/more/complex/_/chatter', True), ('_/chatter', True), ('/chatter_', False), ('/more_/complex/chatter', False), ('/more/complex_/chatter', False), ('/more/complex/chatter_', False), ('/_more/_complex/_chatter', True), ('', False), ('_', True), ] for topic, expected in tests: self.assertEqual(expected, topic_or_service_is_hidden(topic))