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()
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))
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))
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))
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))
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)
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)
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"}))
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({}))
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())
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())
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({}))
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)
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)
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)
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)
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")
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)
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)
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)
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)
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)
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))
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)
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)
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)
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)
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)
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")
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)