mirror of
				https://github.com/ets-labs/python-dependency-injector.git
				synced 2025-11-04 01:47:36 +03:00 
			
		
		
		
	* Add strict mode + tests * Add .required() for configuration option * Add wiring tests for required() modifier * Add wiring support * Add tests for defined None values in required/strict mode * Add docs * Update changelog * Update example doc block
		
			
				
	
	
		
			28 lines
		
	
	
		
			850 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			850 B
		
	
	
	
		
			Python
		
	
	
	
	
	
from pathlib import Path
 | 
						|
from dependency_injector import providers
 | 
						|
 | 
						|
 | 
						|
# Test 1: to check the getattr
 | 
						|
config1 = providers.Configuration()
 | 
						|
provider1 = providers.Factory(dict, a=config1.a)
 | 
						|
 | 
						|
# Test 2: to check the from_*() method
 | 
						|
config2 = providers.Configuration()
 | 
						|
config2.from_dict({})
 | 
						|
config2.from_ini('config.ini')
 | 
						|
config2.from_ini(Path('config.ini'))
 | 
						|
 | 
						|
config2.from_yaml('config.yml')
 | 
						|
config2.from_yaml(Path('config.yml'))
 | 
						|
config2.from_env('ENV', 'default')
 | 
						|
 | 
						|
# Test 3: to check as_*() methods
 | 
						|
config3 = providers.Configuration()
 | 
						|
int3: providers.Callable[int] = config3.option.as_int()
 | 
						|
float3: providers.Callable[float] = config3.option.as_float()
 | 
						|
int3_custom: providers.Callable[int] = config3.option.as_(int)
 | 
						|
 | 
						|
# Test 4: to check required() method
 | 
						|
config4 = providers.Configuration()
 | 
						|
option4: providers.ConfigurationOption = config4.option.required()
 |