Best Python code snippet using autotest_python
prepare.py
Source:prepare.py
...19 os.makedirs('/ut-data/System', exist_ok=True)20 os.makedirs('/ut-data/Textures', exist_ok=True)21 # Initialize ini with good default values22 ## Enable the web admin and set username/password23 set_config_value(utIniFileServer, 'UWeb.WebServer', 'bEnabled', 'True')24 set_config_value(utIniFileServer, 'UWeb.WebServer', 'ListenPort', '5580')25 set_config_value(utIniFileServer, 'UTServerAdmin.UTServerAdmin', 'AdminUsername', 'admin')26 set_config_value(utIniFileServer, 'UTServerAdmin.UTServerAdmin', 'AdminPassword', 'admin')27 ## Replace / Add Server information28 set_config_value(utIniFileServer, 'Engine.GameReplicationInfo', 'ServerName', 'My UT Server')29 set_config_value(utIniFileServer, 'Engine.GameReplicationInfo', 'AdminName', 'UTAdmin')30 set_config_value(utIniFileServer, 'Engine.GameReplicationInfo', 'AdminEmail', 'no@one.com')31 set_config_value(utIniFileServer, 'Engine.GameReplicationInfo', 'MOTDLine1', 'Have Fun')32 ## Replace / Add Admin and Game password33 set_config_value(utIniFileServer, 'Engine.GameInfo', 'AdminPassword', 'admin')34 set_config_value(utIniFileServer, 'Engine.GameInfo', 'GamePassword', '')35 ## Add some bots by default36 set_config_value(utIniFileServer, 'Botpack.DeathMatchPlus', 'MinPlayers', '4')37 # Add server visibility in server browser inside game by adding correct URLs38 ## URLs39 set_config_value(utIniFileServer, 'Engine.GameEngine', 'ServerActors', 'IpServer.UdpServerUplink MasterServerAddress=utmaster.epicgames.com MasterServerPort=27900', True)40 set_config_value(utIniFileServer, 'Engine.GameEngine', 'ServerActors', 'IpServer.UdpServerUplink MasterServerAddress=master.333networks.com MasterServerPort=27900', True)41 ## Replace / Add Master server connection information42 set_config_value(utIniFileServer, 'IpServer.UdpServerUplink', 'DoUpLink', 'True')43 # Add Mutators44 ## CustomCrossHairScale45 set_config_value(utIniFileServer, 'Engine.GameEngine', 'ServerPackages', 'CCHS4', True)46 set_config_value(utIniFileServer, 'Engine.GameEngine', 'ServerActors', 'CCHS4.CCHS', True)47 os.remove(f"/{utDataPath}/System/CCHS4.int")48 ## FlagAnnouncementsV249 set_config_value(utIniFileServer, 'Engine.GameEngine', 'ServerPackages', 'FlagAnnouncementsV2', True)50 set_config_value(utIniFileServer, 'Engine.GameEngine', 'ServerPackages', 'DefaultAnnouncements', True)51 ## KickIdlePlayers252 set_config_value(utIniFileServer, 'Engine.GameEngine', 'ServerPackages', 'KickIdlePlayers2', True)53 ## MapVoteLAv254 set_config_value(utIniFileServer, 'Engine.GameEngine', 'ServerPackages', 'MapVoteLAv2', True)55 ## WhoPushedMe56 set_config_value(utIniFileServer, 'Engine.GameEngine', 'ServerPackages', 'EnhancedItems', True)57 set_config_value(utIniFileServer, 'Engine.GameEngine', 'ServerPackages', 'WhoPushedMe', True)58 ## ZeroPingPlus10359 set_config_value(utIniFileServer, 'Engine.GameEngine', 'ServerPackages', 'ZeroPingPlus103', True)60 # Move and/or symlink the original ini files61 move_and_symlink(utIniFileServer, utIniFileData)62 # Fix some file cases (to prevent a warning)63 os.rename(f"/{utServerPath}/System/BotPack.u", f"/{utServerPath}/System/Botpack.u")64 os.rename(f"/{utServerPath}/Textures/UTcrypt.utx", f"/{utServerPath}/Textures/utcrypt.utx")65 os.rename(f"/{utServerPath}/Textures/GenFluid.utx", f"/{utServerPath}/Textures/genfluid.utx")66 os.rename(f"/{utServerPath}/Textures/Soldierskins.utx", f"/{utServerPath}/Textures/SoldierSkins.utx")67def prepare():68 # Remove all Symlinks69 for folder in folders:70 folderPath = os.path.join(utServerPath, folder)71 for entry in os.listdir(folderPath):72 fullFilePath = os.path.join(folderPath, entry)73 if os.path.islink(fullFilePath):74 if entry == "libSDL-1.2.so.0":75 continue76 print(f'[D] {os.path.join(folder, entry)}')77 os.remove(fullFilePath)78 # Add Symlinks79 for folder in folders:80 folderPath = os.path.join(utDataPath, folder)81 for entry in os.listdir(folderPath):82 fullFilePath = os.path.join(folderPath, entry)83 print(f'[L] {os.path.join(folder, entry)}')84 targetPath = os.path.join(utServerPath, folder, entry)85 os.symlink(fullFilePath, targetPath)86 # Update some config values according to optional environment variables87 ## Enable the web admin and set username/password88 set_config_to_environment('UT_WEBADMINUSER', utIniFileServer, 'UTServerAdmin.UTServerAdmin', 'AdminUsername')89 set_config_to_environment('UT_WEBADMINPWD', utIniFileServer, 'UTServerAdmin.UTServerAdmin', 'AdminPassword')90 ## Replace / Add Server information91 set_config_to_environment('UT_SERVERNAME', utIniFileServer, 'Engine.GameReplicationInfo', 'ServerName')92 set_config_to_environment('UT_ADMINNAME', utIniFileServer, 'Engine.GameReplicationInfo', 'AdminName')93 set_config_to_environment('UT_ADMINEMAIL', utIniFileServer, 'Engine.GameReplicationInfo', 'AdminEmail')94 set_config_to_environment('UT_MOTD1', utIniFileServer, 'Engine.GameReplicationInfo', 'MOTDLine1')95 ## Replace / Add Master server connection information96 set_config_to_environment('UT_DOUPLINK', utIniFileServer, 'IpServer.UdpServerUplink', 'DoUpLink')97 ## Replace / Add Admin and Game password98 set_config_to_environment('UT_ADMINPWD', utIniFileServer, 'Engine.GameInfo', 'AdminPassword')99 set_config_to_environment('UT_GAMEPWD', utIniFileServer, 'Engine.GameInfo', 'GamePassword')100def move_and_symlink(fileSrc, fileDest):101 os.rename(fileSrc, fileDest)102 symlink(fileDest, fileSrc)103def symlink(fileSrc, fileDest):104 os.symlink(fileSrc, fileDest)105def set_config_to_environment(environmentKey, filePath, section, key):106 if os.environ.get(environmentKey) is not None:107 set_config_value(filePath, section, key, os.environ.get(environmentKey))108def set_config_value(filePath, section, key, value, alwaysInsert=False):109 """110 This method replaces an exiting key with the value or adds a new one.111 Args:112 filePath (str) : The path to the file.113 section (str) : The desired section name.114 key (str) : The desired key.115 value (str) : The value to set.116 alwaysInsert (bool): A flag to indicate if the value should always be added or replaced if the key already exists.117 """118 # Read all lines of the file (including newlines)119 f = open(filePath, "r")120 contents = f.readlines()121 f.close()122 # Loop thru all existing lines...
config.py
Source:config.py
...23def get_config_bool(name, fallback=False):24 """Checks if a config value is set to a valid bool value."""25 cli_config = CLIConfig(SF_CLI_CONFIG_DIR, SF_CLI_ENV_VAR_PREFIX)26 return cli_config.getboolean('servicefabric', name, fallback)27def set_config_value(name, value):28 """Set a config by name to a value."""29 cli_config = CLIConfig(SF_CLI_CONFIG_DIR, SF_CLI_ENV_VAR_PREFIX)30 cli_config.set_value('servicefabric', name, value)31def client_endpoint():32 """Cluster HTTP gateway endpoint address and port, represented as a URL."""33 return get_config_value('endpoint', None)34def security_type():35 """The selected security type of client."""36 return get_config_value('security', None)37def set_cluster_endpoint(endpoint):38 """Configure cluster endpoint"""39 set_config_value('endpoint', endpoint)40def no_verify_setting():41 """True to skip certificate SSL validation and verification"""42 return get_config_bool('no_verify')43def set_no_verify(no_verify):44 """Configure if cert verification should be skipped."""45 if no_verify:46 set_config_value('no_verify', 'true')47 else:48 set_config_value('no_verify', 'false')49def ca_cert_info():50 """CA certificate(s) path"""51 if get_config_bool('use_ca'):52 return get_config_value('ca_path', fallback=None)53 return None54def set_ca_cert(ca_path=None):55 """Configure paths to CA cert(s)."""56 if ca_path:57 set_config_value('ca_path', ca_path)58 set_config_value('use_ca', 'true')59 else:60 set_config_value('use_ca', 'false')61def cert_info():62 """Path to certificate related files, either a single file path or a63 tuple. In the case of no security, returns None."""64 sec_type = security_type()65 if sec_type == 'pem':66 return get_config_value('pem_path', fallback=None)67 if sec_type == 'cert':68 cert_path = get_config_value('cert_path', fallback=None)69 key_path = get_config_value('key_path', fallback=None)70 return cert_path, key_path71 return None72def aad_cache():73 """AAD token cache."""74 token_cache = TokenCache()75 token_cache.deserialize(get_config_value('aad_cache', fallback=None))76 return json.loads(get_config_value('aad_token', fallback=None)), token_cache77def set_aad_cache(token, cache):78 """79 Set AAD token cache.80 :param token: dict with several keys, include "accessToken" and "refreshToken"81 :param cache: adal.token_cache.TokenCache82 :return: None83 """84 set_config_value('aad_token', json.dumps(token))85 set_config_value('aad_cache', cache.serialize())86def aad_metadata():87 """AAD metadata."""88 return get_config_value('authority_uri', fallback=None), \89 get_config_value('aad_resource', fallback=None), \90 get_config_value('aad_client', fallback=None)91def set_aad_metadata(uri, resource, client):92 """Set AAD metadata."""93 set_config_value('authority_uri', uri)94 set_config_value('aad_resource', resource)95 set_config_value('aad_client', client)96def set_auth(pem=None, cert=None, key=None, aad=False):97 """Set certificate usage paths"""98 if any([cert, key]) and pem:99 raise ValueError('Cannot specify both pem and cert or key')100 if any([cert, key]) and not all([cert, key]):101 raise ValueError('Must specify both cert and key')102 if pem:103 set_config_value('security', 'pem')104 set_config_value('pem_path', pem)105 elif cert or key:106 set_config_value('security', 'cert')107 set_config_value('cert_path', cert)108 set_config_value('key_path', key)109 elif aad:110 set_config_value('security', 'aad')111 else:112 set_config_value('security', 'none')113def using_aad():114 """115 :return: True if security type is 'aad'. False otherwise116 """117 return security_type() == 'aad'118def get_cluster_auth():119 """120 Return the information that was added to config file by the function select cluster.121 :return: a dictionary with keys: endpoint, cert, key, pem, ca, aad, no_verify122 """123 cluster_auth = dict()124 cluster_auth['endpoint'] = client_endpoint()125 cluster_auth['cert'] = get_config_value('cert_path')126 cluster_auth['key'] = get_config_value('key_path')127 cluster_auth['pem'] = get_config_value('pem_path')128 cluster_auth['ca'] = ca_cert_info()129 cluster_auth['aad'] = using_aad()130 cluster_auth['no_verify'] = no_verify_setting()131 return cluster_auth132def set_telemetry_config(telemetry_on):133 """134 Sets whether or not telemetry is turned on in the configuration file.135 :param telemetry_on: bool. True means telemetry should be on.136 :return: None137 """138 if telemetry_on:139 set_config_value('use_telemetry', 'true')140 else:141 set_config_value('use_telemetry', 'false')142def get_telemetry_config():143 """144 Gets whether or not telemetry is turned on145 Returns True if no value is set.146 :return: bool. True if telemetry is on. False otherwise.147 """148 return get_config_bool('use_telemetry', fallback=True)149def get_cli_version_from_pkg():150 """151 Reads and returns the version number of sfctl. This is the version sfctl is released with.152 For example, 6.0.0.153 :return: str154 """155 from pkg_resources import get_distribution...
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!