Esempio n. 1
0
    def setUp(self):
        """Function:  setUp

        Description:  Initialization for unit testing.

        Arguments:

        """

        self.base_dir = "test/integration"
        self.config_dir = os.path.join(self.base_dir, "config")
        self.config_name = "mongo"
        self.cfg = gen_libs.load_module(self.config_name, self.config_dir)
        self.database = "admin"
        self.coll = "system.users"
        self.mongo = mongo_class.Coll(
            self.cfg.name,
            self.cfg.user,
            self.cfg.japd,
            host=self.cfg.host,
            port=self.cfg.port,
            use_uri=self.cfg.use_uri,
            auth=self.cfg.auth,
            use_arg=self.cfg.use_arg,
            auth_db=self.cfg.auth_db,
            conf_file=self.cfg.conf_file,
            db=self.database,
            coll=self.coll,
            ssl_client_ca=self.cfg.ssl_client_ca,
            ssl_client_key=self.cfg.ssl_client_key,
            ssl_client_cert=self.cfg.ssl_client_cert,
            ssl_client_phrase=self.cfg.ssl_client_phrase)
        self.mongo.connect()
Esempio n. 2
0
    def test_fail_connection(self):
        """Function:  test_fail_connection

        Description:  Test with failed connection.

        Arguments:

        """

        msg = "Authentication failed."
        errmsg = "Error:  Auth flag or login params is incorrect: %s" % msg

        mongo = mongo_class.Coll(self.cfg.name,
                                 self.cfg.user,
                                 "mytestpd",
                                 host=self.cfg.host,
                                 port=self.cfg.port,
                                 db=self.database,
                                 coll=self.coll,
                                 use_arg=self.cfg.use_arg,
                                 ssl_client_ca=self.cfg.ssl_client_ca,
                                 ssl_client_key=self.cfg.ssl_client_key,
                                 ssl_client_cert=self.cfg.ssl_client_cert,
                                 ssl_client_phrase=self.cfg.ssl_client_phrase)

        self.assertEqual(mongo.connect(), (False, errmsg))
Esempio n. 3
0
    def test_ssl_all_phrase(self):
        """Function:  test_ssl_all_phrase

        Description:  Test with all ssl arguments and phrase present.

        Arguments:

        """

        mongo = mongo_class.Coll(self.name,
                                 self.user,
                                 self.japd,
                                 self.host,
                                 self.port,
                                 conf_file=self.conf_file,
                                 ssl_client_key=self.ssl_client_key,
                                 ssl_client_cert=self.ssl_client_cert,
                                 ssl_client_ca=self.ssl_client_ca,
                                 ssl_client_phrase=self.ssl_client_phrase,
                                 coll=self.coll)

        self.assertEqual((mongo.ssl_client_key, mongo.ssl_client_cert,
                          mongo.ssl_client_ca, mongo.ssl_client_phrase),
                         (self.ssl_client_key, self.ssl_client_cert,
                          self.ssl_client_ca, self.ssl_client_phrase))
Esempio n. 4
0
    def test_no_auth(self):
        """Function:  test_no_auth

        Description:  Test with no auth present.

        Arguments:

        """

        mongo = mongo_class.Coll(self.cfg.name,
                                 self.cfg.user,
                                 self.cfg.japd,
                                 host=self.cfg.host,
                                 port=self.cfg.port,
                                 use_uri=self.cfg.use_uri,
                                 auth=False,
                                 use_arg=self.cfg.use_arg,
                                 auth_db=self.cfg.auth_db,
                                 conf_file=self.cfg.conf_file,
                                 db=self.database,
                                 coll=self.coll,
                                 ssl_client_ca=self.cfg.ssl_client_ca,
                                 ssl_client_key=self.cfg.ssl_client_key,
                                 ssl_client_cert=self.cfg.ssl_client_cert,
                                 ssl_client_phrase=self.cfg.ssl_client_phrase)

        self.assertEqual(mongo.connect(), (False, self.errmsg))
Esempio n. 5
0
    def test_auth_uri2(self):
        """Function:  test_auth_uri2

        Description:  Test with auth and uri present.

        Arguments:

        """

        mongo = mongo_class.Coll(self.cfg.name,
                                 self.cfg.user,
                                 self.cfg.japd,
                                 host=self.cfg.host,
                                 port=self.cfg.port,
                                 use_uri=self.cfg.use_uri,
                                 auth=self.cfg.auth,
                                 use_arg=False,
                                 auth_db=True,
                                 conf_file=self.cfg.conf_file,
                                 db=self.database,
                                 coll=self.coll,
                                 ssl_client_ca=self.cfg.ssl_client_ca,
                                 ssl_client_key=self.cfg.ssl_client_key,
                                 ssl_client_cert=self.cfg.ssl_client_cert,
                                 ssl_client_phrase=self.cfg.ssl_client_phrase)
        mongo.connect()

        self.assertEqual((mongo.name, mongo.user, mongo.japd, mongo.host,
                          mongo.port, mongo.use_uri),
                         (self.cfg.name, self.cfg.user, self.cfg.japd,
                          self.cfg.host, self.cfg.port, self.cfg.use_uri))
Esempio n. 6
0
    def test_fail_get_srv_attr2(self):
        """Function:  test_fail_get_srv_attr2

        Description:  Test with failed get_srv_attr call.

        Arguments:

        """

        mongo = mongo_class.Coll(self.cfg.name,
                                 self.cfg.user,
                                 "mytestpd",
                                 host=self.cfg.host,
                                 port=self.cfg.port,
                                 use_uri=self.cfg.use_uri,
                                 auth=self.cfg.auth,
                                 use_arg=self.cfg.use_arg,
                                 auth_db=self.cfg.auth_db,
                                 conf_file=self.cfg.conf_file,
                                 db=self.database,
                                 coll=self.coll,
                                 ssl_client_ca=self.cfg.ssl_client_ca,
                                 ssl_client_key=self.cfg.ssl_client_key,
                                 ssl_client_cert=self.cfg.ssl_client_cert,
                                 ssl_client_phrase=self.cfg.ssl_client_phrase)
        mongo.connect()

        self.assertFalse(mongo.coll)
Esempio n. 7
0
    def test_no_coll_coll_attr(self):
        """Function:  test_no_coll_coll_attr

        Description:  Test no coll_col attribute passed.

        Arguments:

        """

        mongo = mongo_class.Coll(self.name, self.user, self.japd, self.host,
                                 self.port)

        self.assertFalse(mongo.coll_coll)
Esempio n. 8
0
    def test_query(self):
        """Function:  test_query

        Description:  Test with query command.

        Arguments:

        """

        mongo = mongo_class.Coll(self.name, self.user, self.japd, self.host,
                                 self.port)
        mongo.coll = CollIns()

        self.assertFalse(mongo.ins_doc({"Key": "Value"}))
Esempio n. 9
0
    def test_empty_doc(self):
        """Function:  test_empty_doc

        Description:  Test with empty document.

        Arguments:

        """

        mongo = mongo_class.Coll(self.name, self.user, self.japd, self.host,
                                 self.port)
        mongo.coll = CollIns()

        self.assertFalse(mongo.ins_doc({}))
Esempio n. 10
0
    def test_no_query(self):
        """Function:  test_no_query

        Description:  Test with no query command.

        Arguments:

        """

        mongo = mongo_class.Coll(self.name, self.user, self.japd, self.host,
                                 self.port)
        mongo.coll = CollCnt()

        self.assertTrue(mongo.coll_cnt())
Esempio n. 11
0
    def test_query(self):
        """Function:  test_query

        Description:  Test method.

        Arguments:

        """

        mongo = mongo_class.Coll(self.name, self.user, self.japd, self.host,
                                 self.port)
        mongo.coll = CollOpts()

        self.assertTrue(mongo.coll_options())
Esempio n. 12
0
    def test_empty_query(self):
        """Function:  test_empty_query

        Description:  Test with empty query command.

        Arguments:

        """

        mongo = mongo_class.Coll(self.name, self.user, self.japd, self.host,
                                 self.port)
        mongo.coll = CollDst()

        self.assertTrue(mongo.coll_dst({}))
Esempio n. 13
0
    def test_default_auth_db(self):
        """Function:  test_default_auth_db

        Description:  Test using the default auth_db setting.

        Arguments:

        """

        mongo = mongo_class.Coll(self.cfg.name,
                                 self.cfg.user,
                                 self.cfg.japd,
                                 host=self.cfg.host,
                                 port=self.cfg.port)

        self.assertEqual(mongo.auth_db, self.cfg.auth_db)
Esempio n. 14
0
    def test_config_attr(self):
        """Function:  test_config_attr

        Description:  Test setting the config attribute.

        Arguments:

        """

        mongo = mongo_class.Coll(self.cfg.name,
                                 self.cfg.user,
                                 self.cfg.japd,
                                 host=self.cfg.host,
                                 port=self.cfg.port)

        self.assertEqual(mongo.config, self.config2)
Esempio n. 15
0
    def test_default_uri(self):
        """Function:  test_default_uri

        Description:  Test using the default uri setting.

        Arguments:

        """

        mongo = mongo_class.Coll(self.cfg.name,
                                 self.cfg.user,
                                 self.cfg.japd,
                                 host=self.cfg.host,
                                 port=self.cfg.port)

        self.assertFalse(mongo.use_uri)
Esempio n. 16
0
    def test_coll_attr(self):
        """Function:  test_coll_attr

        Description:  Test coll attribute.

        Arguments:

        """

        mongo = mongo_class.Coll(self.cfg.name,
                                 self.cfg.user,
                                 self.cfg.japd,
                                 host=self.cfg.host,
                                 port=self.cfg.port)

        self.assertFalse(mongo.coll)
Esempio n. 17
0
    def test_default_coll_db(self):
        """Function:  test_default_coll_db

        Description:  Test using the default coll_db attribute.

        Arguments:

        """

        mongo = mongo_class.Coll(self.cfg.name,
                                 self.cfg.user,
                                 self.cfg.japd,
                                 host=self.cfg.host,
                                 port=self.cfg.port)

        self.assertEqual(mongo.coll_db, "test")
Esempio n. 18
0
    def test_name_attr(self):
        """Function:  test_name_attr

        Description:  Test name attribute.

        Arguments:

        """

        mongo = mongo_class.Coll(self.name,
                                 self.user,
                                 self.japd,
                                 host=self.host,
                                 port=self.port,
                                 coll=self.coll)

        self.assertEqual(mongo.name, self.name)
Esempio n. 19
0
    def test_default_auth_mech(self):
        """Function:  test_default_auth_mech

        Description:  Test auth_mech default setting.

        Arguments:

        """

        mongo = mongo_class.Coll(self.name,
                                 self.user,
                                 self.japd,
                                 host=self.host,
                                 port=self.port,
                                 coll=self.coll)

        self.assertEqual(mongo.auth_mech, self.auth_mech2)
Esempio n. 20
0
    def test_ssl_client_ca(self):
        """Function:  test_ssl_client_ca

        Description:  Test with ssl_client_ca attribute.

        Arguments:

        """

        mongo = mongo_class.Coll(self.name,
                                 self.user,
                                 self.japd,
                                 host=self.host,
                                 port=self.port,
                                 coll=self.coll)

        self.assertEqual(mongo.ssl_client_ca, None)
Esempio n. 21
0
    def test_no_auth_uri(self):
        """Function:  test_no_auth_uri

        Description:  Test with auth and no uri present.

        Arguments:

        """

        mongo = mongo_class.Coll(self.name,
                                 self.user,
                                 self.japd,
                                 self.host,
                                 self.port,
                                 coll=self.coll)

        self.assertFalse(mongo.use_uri)
Esempio n. 22
0
    def test_config_attr2(self):
        """Function:  test_config_attr2

        Description:  Test with MONGODB-CR setting.

        Arguments:

        """

        mongo = mongo_class.Coll(self.cfg.name,
                                 self.cfg.user,
                                 self.cfg.japd,
                                 host=self.cfg.host,
                                 port=self.cfg.port,
                                 auth_mech=self.auth_mech)

        self.assertEqual(mongo.config, self.config)
Esempio n. 23
0
    def test_miss_coll_coll(self, mock_client, mock_cmd):
        """Function:  test_miss_coll_coll

        Description:  Test with no Collection passed.

        Arguments:

        """

        mock_client.return_value = True
        mock_cmd.return_value = (True, None)

        mongo = mongo_class.Coll(self.name, self.user, self.japd, self.host,
                                 self.port)
        mongo.conn = {"test": {"coll_name": None}}

        self.assertEqual(mongo.connect(), (False, self.errmsg2))
Esempio n. 24
0
    def test_log_path_attr(self):
        """Function:  test_log_path_attr

        Description:  Test log_path attribute.

        Arguments:

        """

        mongo = mongo_class.Coll(self.cfg.name,
                                 self.cfg.user,
                                 self.cfg.japd,
                                 host=self.cfg.host,
                                 port=self.cfg.port,
                                 coll=self.coll_name)

        self.assertFalse(mongo.log_path)
Esempio n. 25
0
    def test_using_coll_coll(self):
        """Function:  test_using_coll_coll

        Description:  Test using the coll_coll attribute.

        Arguments:

        """

        mongo = mongo_class.Coll(self.cfg.name,
                                 self.cfg.user,
                                 self.cfg.japd,
                                 host=self.cfg.host,
                                 port=self.cfg.port,
                                 coll=self.coll_name)

        self.assertEqual(mongo.coll_coll, self.coll_name)
Esempio n. 26
0
    def test_db_path_attr(self):
        """Function:  test_db_path_attr

        Description:  Test db_path attribute.

        Arguments:

        """

        mongo = mongo_class.Coll(self.name,
                                 self.user,
                                 self.japd,
                                 host=self.host,
                                 port=self.port,
                                 coll=self.coll)

        self.assertFalse(mongo.db_path)
Esempio n. 27
0
    def test_coll_db_attr(self):
        """Function:  test_coll_db_attr

        Description:  Test coll_db attribute passed.

        Arguments:

        """

        mongo = mongo_class.Coll(self.name,
                                 self.user,
                                 self.japd,
                                 self.host,
                                 self.port,
                                 db=self.coll_db)

        self.assertEqual(mongo.coll_db, self.coll_db)
Esempio n. 28
0
    def test_conn_list_attr(self):
        """Function:  test_conn_list_attr

        Description:  Test setting the conn_list attribute.

        Arguments:

        """

        mongo = mongo_class.Coll(self.name,
                                 self.user,
                                 self.japd,
                                 self.host,
                                 self.port,
                                 coll=self.coll)

        self.assertEqual(mongo.conn_list, self.conn_list)
Esempio n. 29
0
    def test_using_no_auth_db(self):
        """Function:  test_using_no_auth_db

        Description:  Test using no auth_db attribute.

        Arguments:

        """

        mongo = mongo_class.Coll(self.name,
                                 self.user,
                                 self.japd,
                                 self.host,
                                 self.port,
                                 coll=self.coll)

        self.assertEqual(mongo.auth_db, "admin")
Esempio n. 30
0
    def test_config_attr3(self):
        """Function:  test_config_attr3

        Description:  Test with SCRAM-SHA-1 setting.

        Arguments:

        """

        mongo = mongo_class.Coll(self.cfg.name,
                                 self.cfg.user,
                                 self.cfg.japd,
                                 host=self.cfg.host,
                                 port=self.cfg.port,
                                 auth_mech=self.auth_mech2)

        self.assertEqual(mongo.config, self.config2)