initial import for Open Source 🎉
This commit is contained in:
		
							parent
							
								
									1898c361f3
								
							
						
					
					
						commit
						9c0dd3b722
					
				
					 2048 changed files with 218743 additions and 0 deletions
				
			
		
							
								
								
									
										39
									
								
								util/config/validators/test/test_validate_torrent.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								util/config/validators/test/test_validate_torrent.py
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,39 @@ | |||
| import pytest | ||||
| 
 | ||||
| from config import build_requests_session | ||||
| from httmock import urlmatch, HTTMock | ||||
| 
 | ||||
| from app import instance_keys | ||||
| from util.config.validator import ValidatorContext | ||||
| from util.config.validators import ConfigValidationException | ||||
| from util.config.validators.validate_torrent import BittorrentValidator | ||||
| 
 | ||||
| from test.fixtures import * | ||||
| 
 | ||||
| @pytest.mark.parametrize('unvalidated_config,expected', [ | ||||
|   ({}, ConfigValidationException), | ||||
|   ({'BITTORRENT_ANNOUNCE_URL': 'http://faketorrent/announce'}, None), | ||||
| ]) | ||||
| def test_validate_torrent(unvalidated_config, expected, app): | ||||
|   announcer_hit = [False] | ||||
| 
 | ||||
|   @urlmatch(netloc=r'faketorrent', path='/announce') | ||||
|   def handler(url, request): | ||||
|     announcer_hit[0] = True | ||||
|     return {'status_code': 200, 'content': ''} | ||||
| 
 | ||||
|   with HTTMock(handler): | ||||
|     validator = BittorrentValidator() | ||||
|     if expected is not None: | ||||
|       with pytest.raises(expected): | ||||
|         config = ValidatorContext(unvalidated_config, instance_keys=instance_keys) | ||||
|         config.http_client = build_requests_session() | ||||
| 
 | ||||
|         validator.validate(config) | ||||
|       assert not announcer_hit[0] | ||||
|     else: | ||||
|       config = ValidatorContext(unvalidated_config, instance_keys=instance_keys) | ||||
|       config.http_client = build_requests_session() | ||||
| 
 | ||||
|       validator.validate(config) | ||||
|       assert announcer_hit[0] | ||||
		Reference in a new issue