Example #1
0
    def test_process_yum_mongo_file(self, mock_date):

        """Function:  test_process_yum_mongo_file

        Description:  Test writing to Mongo database and to a file.

        Arguments:

        """

        mock_date.datetime.strftime.return_value = self.time_str

        package_admin.process_yum(self.args_array, self.yum, self.dict_key,
                                  self.func_name, class_cfg=self.mongo_cfg)

        mongo = mongo_libs.crt_coll_inst(self.mongo_cfg, self.dbn, self.tbl)
        mongo.connect()

        if mongo.coll_find1()["Server"] == self.yum.hostname:
            status = filecmp.cmp(self.out_file, self.non_json_file)

        else:
            status = False

        mongo_libs.disconnect([mongo])

        self.assertTrue(status)
Example #2
0
    def test_main_repo_mongo_file(self, mock_date, mock_host, mock_data,
                                  mock_distro):
        """Function:  test_main_repo_mongo_file

        Description:  Test writing to Mongo database and to a file for repo
            option.

        Arguments:

        """

        mock_date.datetime.strftime.return_value = self.time_str
        mock_data.return_value = self.repo_data
        mock_host.return_value = self.hostname
        mock_distro.return_value = self.distro

        cmdline = gen_libs.get_inst(sys)
        self.argv_list.append("-R")
        cmdline.argv = self.argv_list

        package_admin.main()

        mongo = mongo_libs.crt_coll_inst(self.mongo_cfg, self.dbn, self.tbl)
        mongo.connect()

        if mongo.coll_find1()["Server"] == self.hostname:
            status = filecmp.cmp(self.out_file, self.repo_non_json_file)

        else:
            status = False

        mongo_libs.disconnect([mongo])

        self.assertTrue(status)
Example #3
0
def mongo_check(config_path, config_file):
    """Function:  mongo_check

    Description:  Check the contents of the output file based on the items in
        the search_list variable and check to see if file is in JSON format.

    Arguments:
        (input) config_path -> Path name to configuration file.
        (input) config_file -> Name of configuration file, without .py ext.
        (output) status -> True|False - Status of checks.

    """

    status = True
    cfg = gen_libs.load_module(config_file, config_path)
    coll = mongo_libs.crt_coll_inst(cfg, cfg.db, cfg.coll)
    coll.connect()
    status = coll.coll_cnt() == 1
    mongo = mongo_class.DB(cfg.name,
                           cfg.user,
                           cfg.passwd,
                           host=cfg.host,
                           port=cfg.port,
                           db=cfg.db,
                           auth=cfg.auth,
                           conf_file=cfg.conf_file)
    mongo.db_connect(cfg.db)
    mongo.db_cmd("dropDatabase")

    cmds_gen.disconnect([coll, mongo])

    return status
Example #4
0
    def test_list_repo_mongo(self, mock_date):
        """Function:  test_list_repo_mongo

        Description:  Test writing to Mongo database.

        Arguments:

        """

        mock_date.datetime.strftime.return_value = self.time_str

        package_admin.list_repo(self.args_array3,
                                self.yum,
                                class_cfg=self.mongo_cfg)

        mongo = mongo_libs.crt_coll_inst(self.mongo_cfg, self.dbn, self.tbl)
        mongo.connect()

        status = \
            True if mongo.coll_find1()["Server"] == self.yum.hostname \
            else False

        mongo_libs.disconnect([mongo])

        self.assertTrue(status)
Example #5
0
    def test_main_repo_mongo(self, mock_date, mock_host, mock_data):
        """Function:  test_main_repo_mongo

        Description:  Test writing to Mongo database for repo option.

        Arguments:

        """

        mock_date.datetime.strftime.return_value = self.time_str
        mock_data.return_value = self.repo_data
        mock_host.return_value = self.hostname

        cmdline = gen_libs.get_inst(sys)
        self.argv_list3.append("-R")
        cmdline.argv = self.argv_list3

        package_admin.main()

        mongo = mongo_libs.crt_coll_inst(self.mongo_cfg, self.dbn, self.tbl)
        mongo.connect()

        status = \
            True if mongo.coll_find1()["Server"] == self.hostname else False

        mongo_libs.disconnect([mongo])

        self.assertTrue(status)
Example #6
0
    def test_run_program_repo_mongo_file(self, mock_date, mock_host, mock_data,
                                         mock_distro):
        """Function:  test_run_program_repo_mongo_file

        Description:  Test writing to Mongo database and to a file for update
            option.

        Arguments:

        """

        mock_date.datetime.strftime.return_value = self.time_str
        mock_data.return_value = self.repo_data
        mock_host.return_value = self.hostname
        mock_distro.return_value = self.distro

        self.args_array["-R"] = True

        package_admin.run_program(self.args_array, self.func_dict)

        mongo = mongo_libs.crt_coll_inst(self.mongo_cfg, self.dbn, self.tbl)
        mongo.connect()

        if mongo.coll_find1()["Server"] == self.hostname:
            status = filecmp.cmp(self.out_file, self.repo_non_json_file)

        else:
            status = False

        mongo_libs.disconnect([mongo])

        self.assertTrue(status)
Example #7
0
    def test_run_program_repo_mongo(self, mock_date, mock_host, mock_data):
        """Function:  test_run_program_repo_mongo

        Description:  Test writing to Mongo database for install option.

        Arguments:

        """

        mock_date.datetime.strftime.return_value = self.time_str
        mock_data.return_value = self.repo_data
        mock_host.return_value = self.hostname

        self.args_array3["-R"] = True

        package_admin.run_program(self.args_array3, self.func_dict)

        mongo = mongo_libs.crt_coll_inst(self.mongo_cfg, self.dbn, self.tbl)
        mongo.connect()

        status = \
            True if mongo.coll_find1()["Server"] == self.hostname else False

        mongo_libs.disconnect([mongo])

        self.assertTrue(status)
Example #8
0
def run_compact(mongo, db_name, tbl_list=None, **kwargs):

    """Function:  run_compact

    Description:  Changes database instance to new database and executes
        compact command within the class instance against a list of tables.

    Arguments:
        (input) mongo -> Database instance.
        (input) db_name -> Database name.
        (input) tbl_list -> List of tables.

    """

    if tbl_list is None:
        tbl_list = []

    else:
        tbl_list = list(tbl_list)

    mongo.chg_db(dbs=db_name)
    print("Compacting for %s" % (mongo.db_name))

    if not tbl_list:
        tbl_list = mongo.get_tbl_list(False)

    for item in tbl_list:
        print("\tCompacting: {0:50}".format(item + "..."), end="")
        coll = mongo_libs.crt_coll_inst(mongo, db_name, item)
        state = coll.connect()

        if state[0]:
            if coll.coll_options().get("capped", False):
                print("\tCollection capped: not compacted")

            else:

                if mongo.db_cmd("compact", obj=item)["ok"] == 1:
                    print("\tDone")

                else:
                    print("\tCommand Failed")

            mongo_libs.disconnect([coll])

        else:
            print("\tError encountered:  %s" % (state[1]))
Example #9
0
    def test_mongo(self):
        """Function:  test_mongo

        Description:  Test inserting data into Mongo database.

        Arguments:

        """

        self.args_array.update({"-n": True, "-m": True})

        server_usage.run_program(self.args_array)

        coll = mongo_libs.crt_coll_inst(self.cfg, self.cfg.db, self.cfg.coll)
        coll.connect()

        self.assertTrue(coll.coll_cnt() == 1)
Example #10
0
    def test_mongo(self):
        """Function:  test_mongo

        Description:  Test inserting data into Mongo database.

        Arguments:

        """

        cmdline = gen_libs.get_inst(sys)
        self.argv_list.extend(("-m", "-n"))
        cmdline.argv = self.argv_list
        server_usage.main()
        coll = mongo_libs.crt_coll_inst(self.cfg, self.cfg.db, self.cfg.coll)
        coll.connect()

        self.assertTrue(coll.coll_cnt() == 1)
Example #11
0
    def test_mongo_insert(self):
        """Function:  test_mongo_insert

        Description:  Test inserting data into Mongo database.

        Arguments:

        """

        args_array = {"-n": True, "-m": True}

        server_usage.post_process(self.proc_data, args_array, self.cfg)

        coll = mongo_libs.crt_coll_inst(self.cfg, self.cfg.db, self.cfg.coll)
        coll.connect()

        self.assertTrue(coll.coll_cnt() == 1)
def mongo_check(mongo_cfg, hostname, dbn, tbl):
    """Function:  mongo_check

    Description:  Validates the contents of the mongo database.

    Arguments:
        (input) mongo_cfg -> Mongo server configuration.
        (input) hostname -> Host name of the server running the check.
        (input) dbn -> Name of the database in Mongo.
        (input) tbl -> Name of the table in Mongo.

    """

    coll = mongo_libs.crt_coll_inst(mongo_cfg, dbn, tbl)
    coll.connect()

    status = True if coll.coll_find1()["Server"] == hostname else False

    mongo_libs.disconnect([coll])

    return status