Skip to content

Commit 585c436

Browse files
KyeMaloy97GitHub Enterprise
authored andcommitted
Merge pull request #87 from CICS/tests.unitCicsVersion
added unit tests for cics version
2 parents 159b813 + 01e5892 commit 585c436

File tree

2 files changed

+87
-4
lines changed

2 files changed

+87
-4
lines changed

plugins/module_utils/cicsgetversion.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
from __future__ import (absolute_import, division, print_function)
66
__metaclass__ = type
77
try:
8-
import zoautil_py.datasets as Datasets
9-
import zoautil_py.exceptions as ZOAUExceptions
8+
from zoautil_py.datasets import read
9+
from zoautil_py.exceptions import ZOAUException
1010
except ImportError as imp_exc:
1111
ZOAUTIL_IMPORT_ERROR = imp_exc
1212
else:
@@ -15,12 +15,12 @@
1515

1616
def get_dataset_member_version_record(dataset): # type: (str) -> str
1717
try:
18-
result = Datasets.read("%s.SDFHSAMP(DFH0SINX)" % dataset).split("STATUS = ", 1)[1].split(" ")[0]
18+
result = read("%s.SDFHSAMP(DFH0SINX)" % dataset).split("STATUS = ", 1)[1].split(" ")[0]
1919
if not result or result == "":
2020
raise Exception("CICS version was blank")
2121
elif len(result) >= 10:
2222
raise Exception("CICS version was too long")
2323
else:
2424
return result
25-
except ZOAUExceptions.ZOAUException:
25+
except ZOAUException:
2626
raise Exception("Error reading dataset for calculating CICS version.")
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
from __future__ import (absolute_import, division, print_function)
2+
__metaclass__ = type
3+
4+
from ansible_collections.ibm.ibm_zos_cics.plugins.module_utils import cicsgetversion
5+
try:
6+
import unittest
7+
from unittest.mock import MagicMock
8+
except ImportError:
9+
from mock import MagicMock
10+
11+
12+
class CICSGetVersionUnitTests(unittest.TestCase):
13+
def test_get_dataset_member_version_record(self):
14+
stdout = '''
15+
* *
16+
* STATUS = 7.1.0 *
17+
* *
18+
*---------------------------------------------------------------*
19+
* *
20+
* DESCRIPTION : *
21+
22+
'''
23+
cicsgetversion.read = MagicMock(return_value=stdout)
24+
25+
ds = 'CICS.TEST.PATH'
26+
result = cicsgetversion.get_dataset_member_version_record(ds)
27+
self.assertEqual(result, '7.1.0')
28+
29+
def test_get_dataset_member_version_record_not_present(self):
30+
stdout = '''
31+
* *
32+
* STATUS = *
33+
* *
34+
*---------------------------------------------------------------*
35+
* *
36+
* DESCRIPTION : *
37+
38+
'''
39+
cicsgetversion.read = MagicMock(return_value=stdout)
40+
41+
error_raised = False
42+
try:
43+
cicsgetversion.get_dataset_member_version_record('CICS.TEST.PATH')
44+
except Exception as e:
45+
print((repr(e)))
46+
error_raised = True
47+
assert error_raised
48+
49+
def test_get_dataset_member_version_record_too_long(self):
50+
stdout = '''
51+
* *
52+
* STATUS = 1234647473636738383762728 *
53+
* *
54+
*---------------------------------------------------------------*
55+
* *
56+
* DESCRIPTION : *
57+
58+
'''
59+
cicsgetversion.read = MagicMock(return_value=stdout)
60+
61+
error_raised = False
62+
try:
63+
cicsgetversion.get_dataset_member_version_record('CICS.TEST.PATH')
64+
except Exception as e:
65+
print((repr(e)))
66+
error_raised = True
67+
assert error_raised
68+
69+
def test_get_dataset_member_version_record_blank(self):
70+
stdout = '''
71+
'''
72+
cicsgetversion.read = MagicMock(return_value=stdout)
73+
74+
error_raised = False
75+
try:
76+
cicsgetversion.get_dataset_member_version_record('CICS.TEST.PATH')
77+
except Exception as e:
78+
print((repr(e)))
79+
error_raised = True
80+
assert error_raised
81+
82+
if __name__ == '__main__':
83+
unittest.main()

0 commit comments

Comments
 (0)