Skip to content
This repository was archived by the owner on Jul 20, 2020. It is now read-only.

Commit efb32e4

Browse files
pavijayakumapavijayakuma
authored andcommitted
[#47] Unittests Part1
1 parent f122398 commit efb32e4

10 files changed

+220
-0
lines changed

tests/test_files/test.csv

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
"Name", "Sex", "Age", "Height (in)", "Weight (lbs)"
2+
"Alex", "M", 41, 74, 170
3+
"Bert", "M", 42, 68, 166
4+
"Carl", "M", 32, 70, 155
5+
"Dave", "M", 39, 72, 167
6+
"Elly", "F", 30, 66, 124
7+
"Fran", "F", 33, 66, 115
8+
"Gwen", "F", 26, 64, 121
9+
"Hank", "M", 30, 71, 158
10+
"Ivan", "M", 53, 72, 175
11+
"Jake", "M", 32, 69, 143
12+
"Kate", "F", 47, 69, 139
13+
"Luke", "M", 34, 72, 163
14+
"Myra", "F", 23, 62, 98
15+
"Neil", "M", 36, 75, 160
16+
"Omar", "M", 38, 70, 145
17+
"Page", "F", 31, 67, 135
18+
"Quin", "M", 29, 71, 176
19+
"Ruth", "F", 28, 65, 131

tests/test_ppsql_hiveconnection.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
from ppextensions.ppsql.connection.hiveconnection import HiveConnection
2+
from thriftpy.transport import TTransportException
3+
import unittest
4+
5+
class TestPPSqlHiveConnection(unittest.TestCase):
6+
7+
def test_invalid_hive_connection(self):
8+
with self.assertRaises(TTransportException):
9+
hc = HiveConnection("fake", "fake", 1234, "GSSAPI", "fake")
10+
11+
if __name__ == '__main__':
12+
unittest.main()

tests/test_pputils_configuration.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
from ppextensions.pputils.utils.configuration import *
2+
import unittest
3+
4+
class TestPPUtilsConfiguration(unittest.TestCase):
5+
6+
def setUp(self):
7+
pass
8+
9+
def test_load_config(self):
10+
conf = load_conf(PATH)
11+
self.assertTrue(isinstance(conf, dict))
12+
13+
def test_conf_info(self):
14+
config_info = conf_info("test-engine")
15+
self.assertTrue(isinstance(config_info, dict))
16+
17+
if __name__ == '__main__':
18+
unittest.main()

tests/test_pputils_csvconnection.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
from ppextensions.ppsql.connection.csvconnection import CSVConnection
2+
import unittest
3+
4+
class TestPPSqlCSVConnection(unittest.TestCase):
5+
6+
def setUp(self):
7+
self.csvconn = CSVConnection()
8+
9+
def test_csv_query(self):
10+
self.assertTrue(self.csvconn.execute("select * from test_files/test.csv") != None)
11+
12+
if __name__ == '__main__':
13+
unittest.main()

tests/test_pputils_fsreaderwriter.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
from ppextensions.pputils.utils.filesystemreader import FileSystemReaderWriter
2+
import unittest
3+
4+
class TestPPUtilsFileSystemReaderWriter(unittest.TestCase):
5+
6+
def setUp(self):
7+
# In current implementation we will have two RM Objects
8+
# One with invalid RM Url & One with Valid one
9+
self.fsreadwriter = FileSystemReaderWriter("~")
10+
11+
def test_ensure_path_exists(self):
12+
self.assertTrue(self.fsreadwriter.ensure_path_exists() == None)
13+
14+
def test_ensure_file_exists(self):
15+
self.assertTrue(self.fsreadwriter.ensure_file_exists() == None)
16+
17+
if __name__ == '__main__':
18+
unittest.main()

tests/test_pputils_log.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
from ppextensions.pputils.utils.log import Log
2+
import unittest
3+
4+
class TestPPUtilsLog(unittest.TestCase):
5+
6+
def setUp(self):
7+
self.logger = Log("test_logger")
8+
9+
def test_log_debug(self):
10+
self.assertTrue(self.logger.debug("test_debug") == None)
11+
12+
def test_log_error(self):
13+
self.assertTrue(self.logger.error("test_error") == None)
14+
15+
def test_log_info(self):
16+
self.assertTrue(self.logger.info("test_info") == None)
17+
18+
def test_log_exception(self):
19+
self.assertTrue(self.logger.exception("test_exception") == None)
20+
21+
if __name__ == '__main__':
22+
unittest.main()

tests/test_pputils_parameterargs.py

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
from ppextensions.pputils.utils.parameterargs import *
2+
from IPython.core.magic_arguments import argument, magic_arguments, parse_argstring
3+
import pandas as pd
4+
import unittest
5+
6+
class TestPPUtilsParamArgs(unittest.TestCase):
7+
8+
@magic_arguments()
9+
@argument("-test", "--test", type=str, help="test1")
10+
@argument("-test2", "--test2", type=str, help="test2")
11+
def setUp(self):
12+
args = "--test test --test2 testa:::testb:::testc"
13+
self.param_args = ParameterArgs(parse_argstring(self.setUp, args))
14+
15+
def test_get_args(self):
16+
self.assertTrue(self.param_args.get("test") == "test")
17+
self.assertTrue(self.param_args.get("test2") == "testa:::testb:::testc")
18+
19+
def test_has_args(self):
20+
self.assertTrue(self.param_args.hasattr("test"))
21+
self.assertTrue(self.param_args.hasattr("test2"))
22+
23+
def test_get_list(self):
24+
return_vals = self.param_args.get_list("test2")
25+
self.assertTrue(isinstance(return_vals, list))
26+
self.assertTrue(len(return_vals) == 3)
27+
28+
if __name__ == '__main__':
29+
unittest.main()

tests/test_pputils_resultset.py

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
from ppextensions.pputils.utils.resultset import ResultSet, unduplicate_field_names, _nonbreaking_spaces
2+
import unittest
3+
import requests
4+
import pandas as pd
5+
import matplotlib.pylab as plt
6+
7+
class TestPPUtilsResultSet(unittest.TestCase):
8+
9+
def setUp(self):
10+
# In current implementation we will have two RM Objects
11+
# One with invalid RM Url & One with Valid one
12+
data = {'col1': [1,2,3,4], 'col2': [3,4,5,6], 'col3': [4,5,6,7], 'col4': [5,6,7,8]}
13+
cols = ['col1', 'col2', 'col3', 'col4']
14+
self.resultset = ResultSet(cols, data)
15+
16+
def test_resultset_df(self):
17+
df = self.resultset.DataFrame()
18+
self.assertTrue(isinstance(df, pd.DataFrame))
19+
20+
def test_dict(self):
21+
dictionary = self.resultset.dict()
22+
self.assertTrue(isinstance(dictionary, dict))
23+
24+
def test_csv(self):
25+
self.assertTrue(self.resultset.csv())
26+
27+
def test_unduplicate_field_names(self):
28+
cols = ['col1', 'col2', 'col3', 'col4', 'col1']
29+
expected_cols = ['col1', 'col2', 'col3', 'col4']
30+
updated_cols = unduplicate_field_names(cols)
31+
self.assertTrue(isinstance(updated_cols, list))
32+
33+
34+
if __name__ == '__main__':
35+
unittest.main()

tests/test_pputils_utils.py

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
from ppextensions.pputils.utils import utils
2+
import pandas as pd
3+
import unittest
4+
5+
class TestPPUtilsUtils(unittest.TestCase):
6+
7+
def setUp(self):
8+
self.test_df = utils.csv_to_df({}, {"csv":"test_files/test.csv"})
9+
10+
def test_renew_kerberos_ticket_negative(self):
11+
self.assertFalse(utils.renew_kerberos_ticket("fake","fake"))
12+
13+
def test_renew_kerberos_ticket_positive(self):
14+
self.assertTrue(utils.renew_kerberos_ticket("pp_batch_opts_admin","~/PPExtensions/tests/test_files/.pp_batch_opts_admin.keytab"))
15+
16+
def test_parse_run_str(self):
17+
self.assertTrue(utils.parse_run_str("%%info"))
18+
self.assertTrue(utils.parse_run_str("test_call_value=123"))
19+
20+
def test_csv_to_df_and_back(self):
21+
df = utils.csv_to_df({}, {"csv":"test_files/test.csv"})
22+
self.assertTrue(isinstance(df, pd.DataFrame))
23+
args = {"dataframe":"df"}
24+
csv_file = utils.df_to_csv({"df":df}, args)
25+
self.assertTrue(csv_file != None)
26+
27+
def test_substitute_params(self):
28+
substitute_cell = utils.substitute_params("test_cell_value = {}", {"test":"test"})
29+
self.assertTrue(substitute_cell != None)
30+
31+
32+
if __name__ == '__main__':
33+
unittest.main()

tests/test_pputils_yarnapi.py

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
from ppextensions.pputils.utils.yarnapi import ResourceManager
2+
import unittest
3+
import requests
4+
5+
class TestPPUtilsYarnAPI(unittest.TestCase):
6+
7+
def setUp(self):
8+
# In current implementation we will have two RM Objects
9+
# One with invalid RM Url & One with Valid one
10+
self.invalid_rm = ResourceManager("http://invalidrm.paypalinc.com")
11+
12+
def test_invalid_rm_cluster_app(self):
13+
with self.assertRaises(requests.exceptions.ConnectionError):
14+
self.invalid_rm.cluster_application("fake_app")
15+
16+
def test_invalid_rm_cluster_metrics(self):
17+
with self.assertRaises(requests.exceptions.ConnectionError):
18+
self.invalid_rm.cluster_metrics()
19+
20+
if __name__ == '__main__':
21+
unittest.main()

0 commit comments

Comments
 (0)