Source code for glideinwms.unittests.test_creation_lib_cgWParams
#!/usr/bin/env python3
# SPDX-FileCopyrightText: 2009 Fermi Research Alliance, LLC
# SPDX-License-Identifier: Apache-2.0
"""
Project:
glideinWMS
Description:
unit test for glideinwms/creation/lib/cgWParams.py
Author:
Dennis Box dbox@fnal.gov
"""
import copy
import os
import tempfile
import unittest
import xmlrunner
from glideinwms.creation.lib.cgWParams import GlideinParams
# from glideinwms.creation.lib.cgWParams import find_condor_base_dir
from glideinwms.creation.lib.cWParams import Params
# global definitions here for convenience. So sue me.
ARGV = ["fixtures/factory/glideinWMS.xml", "fixtures/factory/glideinWMS.xml"]
FACT_VERS = ""
SRC_DIR = "fixtures/factory"
USAGE_PREFIX = "create_factory"
[docs]
class TestGlideinParams(unittest.TestCase):
[docs]
def setUp(self):
self.glidein_params = GlideinParams(USAGE_PREFIX, SRC_DIR, ARGV)
[docs]
def test_init(self):
self.assertTrue(isinstance(self.glidein_params, Params))
[docs]
def test_buildDir(self):
self.assertEqual(SRC_DIR, self.glidein_params.buildDir(FACT_VERS, SRC_DIR))
[docs]
def test_derive(self):
try:
self.glidein_params.derive()
except RuntimeError as err:
self.fail(err)
[docs]
def test_get_top_element(self):
self.assertEqual("glidein", self.glidein_params.get_top_element())
[docs]
def test_get_xml(self):
self.assertTrue(len(self.glidein_params.get_xml().__repr__()) > 0)
[docs]
def test_get_description(self):
self.assertTrue(len(self.glidein_params.get_description().__repr__()) > 0)
[docs]
def test_file_read_and_write(self):
fn = tempfile.NamedTemporaryFile(prefix="/tmp/", delete=False)
fn.close()
self.glidein_params.save_into_file(fn.name)
new_param_obj = GlideinParams("", "", [fn.name, fn.name])
new_param_obj.load_file(fn.name)
os.remove(fn.name)
[docs]
def test_init_defaults(self):
try:
self.glidein_params.init_defaults()
except RuntimeError as err:
self.fail(err)
[docs]
@unittest.skip("this test doesnt set up subparams so validate_names will fail")
def test_validate_names(self):
try:
self.glidein_params.validate_names()
except RuntimeError as err:
self.fail(err)
[docs]
def test__eq__(self):
cpy = copy.deepcopy(self.glidein_params)
self.assertTrue(cpy == self.glidein_params)
self.assertFalse(cpy is None)
if __name__ == "__main__":
unittest.main(testRunner=xmlrunner.XMLTestRunner(output="unittests-reports"))