Coverage for /home/runner/work/pycax/pycax/pycax/hli/test_hli.py: 100%

41 statements  

« prev     ^ index     » next       coverage.py v7.4.0, created at 2024-01-26 00:27 +0000

1"""Tests for hli module""" 

2import requests 

3 

4from pycax import hli 

5 

6def test_hli_return_tablename(): 

7 """ 

8 hli.return_tablename - test that string returned 

9 """ 

10 for val in hli.HLI_SHORT: 

11 for tabtype in ['base', 'xport']: 

12 res = hli.return_tablename(val, tabtype) 

13 assert "str" == res.__class__.__name__ 

14 

15def test_hli_getdf(): 

16 """ 

17 hli.getdf - test that data frame returned 

18 """ 

19 df = hli.getdf("NOSA", qargs={'limit': 1}) 

20 assert "DataFrame" == df.__class__.__name__ 

21 assert 1 == df.shape[0] 

22 id = df['popid'][0] 

23 df = hli.getdf("NOSA", qargs={'limit': 1}, fargs={'popid':id}) 

24 assert 1 == df.shape[0] 

25 assert id == df['popid'][0] 

26 df = hli.getdf("NOSA", tabletype = "base", qargs={'limit': 1}) 

27 assert "DataFrame" == df.__class__.__name__ 

28 assert 1 == df.shape[0] 

29 id = df['popid'][0] 

30 df = hli.getdf("NOSA", qargs={'limit': 1}, fargs={'popid':id}) 

31 assert 1 == df.shape[0] 

32 assert id == df['popid'][0] 

33 

34def test_hli_get(): 

35 """ 

36 hli.get - test that get function returns proper types 

37 """ 

38 query = hli.get("NOSA", qargs={'limit': 2}) 

39 assert "TablesResponse" == query.__class__.__name__ 

40 assert not query.data 

41 query.execute() 

42 assert "dict" == query.data.__class__.__name__ 

43 assert 6 == len(query.data) 

44 assert dict == query.data["records"][0].__class__ 

45 assert int == query.data["records"][0]["popid"].__class__ 

46 assert str == query.api_url.__class__ 

47 assert 2 == len(query.data["records"]) 

48 

49import unittest 

50 

51class MyTestCase(unittest.TestCase): 

52 def test_hli_return_tablename_exception(self): 

53 self.assertRaises(ValueError, hli.return_tablename, "badname", "xport") 

54 

55 def test_hli_return_tablename_tabletype_exception(self): 

56 self.assertRaises(ValueError, hli.return_tablename, "NOSA", "badname") 

57 

58 def test_hli_get_exception(self): 

59 self.assertRaises(TypeError, hli.get, "NOSA", **{'fargs': 'a'}) 

60