Exemple #1
0
    def sample(self, services):
        """
        The entrance to start the logic to check the status of the given
        services on the current node.

        :param services: the list of services Object whose status to check
        :return: the verification results which is a list of Result Object
        """
        results = []
        logger = LOG()
        logger_root = logger.root()
        logger_tester = logger.tester()
        logger_root.debug(
            "NodeSampler:sample has been called by sampler server.")
        logger_tester.debug(
            "NodeSampler:sample has been called by sampler server.")

        for service in services:
            checker_class = self._checker_map[service.check_methods]
            logger_root.debug(
                "service.name:%s service.check_method: %s service.checker:%s" %
                (service.name, service.check_methods, checker_class))
            if checker_class:
                logger_tester.info("%s", checker_class)
                checker = checker_class()
                service_status = checker.check(service.name)
                service_result = Result(service, service_status)
                results.append(service_result)
            else:
                raise Exception(
                    "The '%s' checker used to check '%s' cannot be find in sampler node." %
                    (service.check_methods, service.name))
        logger_root.debug("NodeSampler return :%s" % results)

        return results
Exemple #2
0
    def check(self, service_name):
        logger = LOG()
        log_tester = logger.tester()
        self.is_mock_checker_called = True
        self.service_name = service_name
        log_tester.info("MockedMethodChecker has been called.")

        return TEST_STATUS
Exemple #3
0
 def register_checker(self, name, klass):
     self._checker_map[name] = klass
     logger = LOG()
     log_root = logger.root()
     log_root.debug(
         "Register Checker: {Check method: %s , Checker registered: %s}"
         % (name, klass))
     log_tester = logger.tester()
     log_tester.info(
         "Register Checker: {Check method: %s , Checker registered: %s}"
         % (name, klass))
    def test_communicate(self):
        logger = LOG()
        logger_tester = logger.tester()

        sedna_config_value = SednaConfig(port=TEST_PORT, nodes=self.expected_nodes)

        logger_tester.info("{port:%s, nodes:%s}" % (sedna_config_value.port, sedna_config_value.nodes))

        master = Master()
        results = master.verify_nodes(sedna_config_value)
        logger_tester.info("Sampler Server results: %s" % results)

        self.assertEquals(results[0].group, self.expected_node.group, "Fail when test_get_nodes information")
        self.assertEquals(results[0].ip, self.expected_node.ip, "Fail when test_get_nodes information")

        expected_result = Result(status=TEST_STATUS, service=self.expected_service)
        for result in results[0].result:
            self.assertEquals(result, expected_result)
Exemple #5
0
    def sample(self, services):
        """
        The wrapper of sample method to convert service dictionaries to service
         object
        :param services: the list of Service dicts which is transformed
        from Service Obj to dict form
        :return: services sample result
        """
        list_services = []
        log = LOG()
        log_root = log.root()
        log_tester = log.tester()
        log_root.info("Receive raw info from Master:  %s" % services)
        for service in services:
            list_services.append(Service(**service))

        log_root.info("Receive format info from Master:  %s" % list_services)
        log_tester.info("Receive format info from Master:  %s" % list_services)

        return self._sampler.sample(list_services)