""" This is a test of the creation of the pilot wrapper """ from __future__ import absolute_import from __future__ import division from __future__ import print_function # pylint: disable=protected-access, invalid-name, no-self-use import os import base64 import bz2 from DIRAC.WorkloadManagementSystem.Utilities.PilotWrapper import pilotWrapperScript def test_scriptEmpty(): """test script creation""" res = pilotWrapperScript() assert 'cmd = "$py dirac-pilot.py "' in res assert 'os.environ["someName"]="someValue"' not in res def test_scriptoptions(): """test script creation""" res = pilotWrapperScript( pilotFilesCompressedEncodedDict={ "dirac_boh.py": "someContentOfDiracInstall", "someOther.py": "someOtherContent", }, pilotOptions="-c 123 --foo bar", ) assert "with open('dirac_boh.py', 'wb') as fd:" in res assert 'os.environ["someName"]="someValue"' not in res def test_scriptReal(): """test script creation""" diracPilot = os.path.join(os.getcwd(), "src/DIRAC/Core/Base/API.py") # just some random file with open(diracPilot, "rb") as fd: diracPilot = fd.read() diracPilotEncoded = base64.b64encode(bz2.compress(diracPilot, 9)) diracPilotTools = os.path.join(os.getcwd(), "src/DIRAC/Core/Base/API.py") # just some random file with open(diracPilotTools, "rb") as fd: diracPilotTools = fd.read() diracPilotToolsEncoded = base64.b64encode(bz2.compress(diracPilotTools, 9)) diracPilotCommands = os.path.join(os.getcwd(), "src/DIRAC/Core/Base/API.py") # just some random file with open(diracPilotCommands, "rb") as fd: diracPilotCommands = fd.read() diracPilotCommandsEncoded = base64.b64encode(bz2.compress(diracPilotCommands, 9)) res = pilotWrapperScript( pilotFilesCompressedEncodedDict={ "dirac-pilot.py": diracPilotEncoded, "pilotTools.py": diracPilotToolsEncoded, "pilotCommands.py": diracPilotCommandsEncoded, }, pilotOptions="-c 123 --foo bar", ) assert "with open('dirac-pilot.py', 'wb') as fd:" in res assert 'os.environ["someName"]="someValue"' not in res def test_scriptWithEnvVars(): """test script creation""" res = pilotWrapperScript( pilotFilesCompressedEncodedDict={ "dirac_boh.py": "someContentOfDiracInstall", "someOther.py": "someOtherContent", }, pilotOptions="-c 123 --foo bar", envVariables={"someName": "someValue", "someMore": "oneMore"}, ) assert 'os.environ["someName"]="someValue"' in res def test_scriptPilot3(): """test script creation""" res = pilotWrapperScript( pilotFilesCompressedEncodedDict={"proxy": "thisIsSomeProxy"}, pilotOptions="-c 123 --foo bar", envVariables={"someName": "someValue", "someMore": "oneMore"}, location="lhcb-portal.cern.ch", ) assert 'os.environ["someName"]="someValue"' in res assert "lhcb-portal.cern.ch" in res