示例#1
0
    def test_collect(self):
        mysql_meta_collector = MySQLMetaCollector(
            object=self.mysql_object,
            interval=self.mysql_object.intervals['meta'])
        assert_that(mysql_meta_collector, not_none())

        # make sure meta is empty
        assert_that(mysql_meta_collector.meta, equal_to({}))

        # collect and assert that meta is not empty
        mysql_meta_collector.collect()

        # collect twice in case bin_path found second
        mysql_meta_collector.collect()

        # check value
        assert_that(
            mysql_meta_collector.meta,
            has_entries({
                'display_name':
                'mysql @ hostname.nginx',
                'local_id':
                'd3780726c2fdcbf45e32729a3113131f1cb4cf9a7cd42f99cd3f0ec88b9840c6',
                'type':
                'mysql',
                'cmd':
                '/usr/sbin/mysqld '
                '--basedir=/usr --datadir=/var/lib/mysql '
                '--plugin-dir=/usr/lib/mysql/plugin --user=mysql '
                '--log-error=/var/log/mysql/error.log '
                '--pid-file=/var/run/mysqld/mysqld.pid '
                '--socket=/var/run/mysqld/mysqld.sock --port=3306',
                'pid':
                self.mysql_object.pid,
                'conf_path':
                '/etc/mysql/my.cnf',
                'root_uuid':
                DEFAULT_UUID,
                'bin_path':
                '/usr/sbin/mysqld',
                'version':
                '5.5.58',
                'version_line':
                any_of(
                    '/usr/sbin/mysqld  Ver 5.5.58-0ubuntu0.14.04.1 for debian-linux-gnu on x86_64 ((Ubuntu))',
                )
            }))

        # check that it matches the object metad
        assert_that(mysql_meta_collector.meta,
                    equal_to(self.mysql_object.metad.current))
示例#2
0
    def test_collect(self):
        mysql_meta_collector = MySQLMetaCollector(
            object=self.mysql_object,
            interval=self.mysql_object.intervals['meta'])
        assert_that(mysql_meta_collector, not_none())

        # make sure meta is empty
        assert_that(mysql_meta_collector.meta, equal_to({}))

        # collect and assert that meta is not empty
        mysql_meta_collector.collect()

        # collect twice in case bin_path found second
        mysql_meta_collector.collect()

        # check value
        assert_that(
            mysql_meta_collector.meta,
            has_entries({
                'display_name':
                'mysql @ hostname.nginx',
                'local_id':
                'd3780726c2fdcbf45e32729a3113131f1cb4cf9a7cd42f99cd3f0ec88b9840c6',
                'type':
                'mysql',
                'cmd':
                '/usr/sbin/mysqld '
                '--basedir=/usr --datadir=/var/lib/mysql '
                '--plugin-dir=/usr/lib/mysql/plugin --user=mysql '
                '--log-error=/var/log/mysql/error.log '
                '--pid-file=/var/run/mysqld/mysqld.pid '
                '--socket=/var/run/mysqld/mysqld.sock --port=3306',
                'pid':
                self.mysql_object.pid,
                'conf_path':
                '/etc/mysql/my.cnf',
                'root_uuid':
                DEFAULT_UUID,
                'bin_path':
                '/usr/sbin/mysqld',
                'connection_location':
                '/var/run/mysqld/mysqld.sock',
                'version':
                starts_with('5.5'),
            }))
示例#3
0
    def test_collect_remote(self):
        context.app_config['mysql']['remote'] = True
        context.app_config['mysql']['host'] = '127.0.0.1'
        context.app_config['mysql']['port'] = '3306'
        context.app_config['mysql'].pop('unix_socket', None)
        mysql_manager = MySQLManager()
        mysql_manager._discover_objects()
        found_objects = context.objects.find_all(types=mysql_manager.types)

        self.mysql_object = found_objects[0]
        mysql_meta_collector = MySQLMetaCollector(
            object=self.mysql_object,
            interval=self.mysql_object.intervals['meta'])

        # collect and assert that meta is not empty
        mysql_meta_collector.collect()

        # check value
        assert_that(
            mysql_meta_collector.meta,
            has_entries({
                'display_name': 'mysql @ hostname.nginx',
                'local_id':
                'd47bcca34c2b2836266086c5d5d428b754cc4831e2df6e251b2ffa27bca59b3b',
                'type': 'mysql',
                'cmd': 'unknown',
                'pid': 'unknown',
                'conf_path': 'unknown',
                'root_uuid': DEFAULT_UUID,
                'bin_path': 'unknown',
                'connection_location': '127.0.0.1:3306',
                'version': starts_with('5.5'),
            }))

        # check that it matches the object metad
        assert_that(mysql_meta_collector.meta,
                    equal_to(self.mysql_object.metad.current))