How to use _override_config method in autotest

Best Python code snippet using autotest_python

__init__.py

Source: __init__.py Github

copy

Full Screen

1import os2from everyclass.server.utils.config.default import Config as DefaultConfig3_config_inited = False4class MixedConfig(DefaultConfig):5 pass6def get_config():7 """8 单例配置加载9 :return: Config 类的实例10 """11 global _config_inited12 if _config_inited:13 return MixedConfig14 else:15 mode = os.environ.get('MODE')16 _override_config = {}17 if mode == 'PRODUCTION':18 from everyclass.server.utils.config.production import ProductionConfig19 _override_config = ProductionConfig20 MixedConfig.CONFIG_NAME = 'production'21 elif mode == 'DEVELOPMENT':22 from everyclass.server.utils.config.development import DevelopmentConfig23 _override_config = DevelopmentConfig24 MixedConfig.CONFIG_NAME = 'development'25 elif mode == 'STAGING':26 from everyclass.server.utils.config.staging import StagingConfig27 _override_config = StagingConfig28 MixedConfig.CONFIG_NAME = 'staging'29 elif mode == 'TESTING':30 from everyclass.server.utils.config.testing import TestingConfig31 _override_config = TestingConfig32 MixedConfig.CONFIG_NAME = 'testing'33 else:34 MixedConfig.CONFIG_NAME = 'default'35 print('No valid MODE environment variable specified. Default config will be used.')36 for key in dir(_override_config):37 if key.isupper():38 if isinstance(getattr(_override_config, key), dict) \39 and key in dir(MixedConfig) \40 and isinstance(getattr(MixedConfig, key), dict):41 # 字典内容增量覆盖42 dict_to_modify = getattr(MixedConfig, key)43 for k, v in getattr(_override_config, key).items():44 dict_to_modify[k] = v45 setattr(MixedConfig, key, dict_to_modify)46 else:47 # 其他类型的值直接覆盖48 setattr(MixedConfig, key, getattr(_override_config, key))49 # lazy reference type linking50 try:51 from everyclass.server.utils.config.default import LazyRefType52 LazyRefType.link(MixedConfig)53 except ImportError:54 pass55 # production safety check56 if mode == 'PRODUCTION':57 for each_key in getattr(MixedConfig, "PRODUCTION_OVERWRITE_FIELDS"):58 if getattr(MixedConfig, each_key) == getattr(DefaultConfig, each_key):59 print("{} must be overwritten in production environment. Exit.".format(each_key))60 exit(1)61 _config_inited = True...

Full Screen

Full Screen

Blogs

Check out the latest blogs from LambdaTest on this topic:

How To Run Cypress Tests In Azure DevOps Pipeline

When software developers took years to create and introduce new products to the market is long gone. Users (or consumers) today are more eager to use their favorite applications with the latest bells and whistles. However, users today don’t have the patience to work around bugs, errors, and design flaws. People have less self-control, and if your product or application doesn’t make life easier for users, they’ll leave for a better solution.

What is coaching leadership

Coaching is a term that is now being mentioned a lot more in the leadership space. Having grown successful teams I thought that I was well acquainted with this subject.

Getting Rid of Technical Debt in Agile Projects

Technical debt was originally defined as code restructuring, but in today’s fast-paced software delivery environment, it has evolved. Technical debt may be anything that the software development team puts off for later, such as ineffective code, unfixed defects, lacking unit tests, excessive manual tests, or missing automated tests. And, like financial debt, it is challenging to pay back.

Automation Testing Tutorials

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.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run autotest automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful