File tree Expand file tree Collapse file tree 5 files changed +30
-26
lines changed Expand file tree Collapse file tree 5 files changed +30
-26
lines changed Original file line number Diff line number Diff line change 1+ import  contextlib 
2+ import  tempfile 
3+ from  typing  import  Iterable 
4+ 
5+ from  django .test  import  override_settings 
6+ 
7+ 
8+ @contextlib .contextmanager  
9+ def  override_csv_permissions (csv_datas : Iterable [str ]):
10+     """ 
11+     Creates temporary CSV files with the specified contents and then sets the 
12+     """ 
13+ 
14+     if  isinstance (csv_datas , str ):
15+         raise  TypeError ("csv_datas should be an iterable of file contents; did you forget to wrap it in [ ]?" )
16+ 
17+     csv_filepaths  =  []
18+ 
19+     with  contextlib .ExitStack () as  stack :
20+         for  csv_data  in  csv_datas :
21+             f  =  stack .enter_context (tempfile .NamedTemporaryFile ("w" ))
22+             csv_filepaths .append (f .name )
23+             f .writelines (csv_data .strip ())
24+             f .seek (0 )
25+ 
26+         with  override_settings (CSV_PERMISSIONS_PATHS = csv_filepaths ):
27+             yield 
Original file line number Diff line number Diff line change 77import  csv_permissions .evaluators 
88import  csv_permissions .legacy 
99import  csv_permissions .permissions 
10+ from  csv_permissions .test_utils  import  override_csv_permissions 
1011
1112from  .models  import  TestModelA 
1213from  .models  import  TestModelD 
13- from  .test_utils  import  override_csv_permissions 
1414from  .test_utils  import  USER1_TYPE 
1515from  .test_utils  import  User1Factory 
1616from  .test_utils  import  USER2_TYPE 
Original file line number Diff line number Diff line change 77import  csv_permissions 
88import  csv_permissions .legacy 
99import  csv_permissions .permissions 
10+ from  csv_permissions .test_utils  import  override_csv_permissions 
1011import  test_csv_permissions .rules 
1112
1213from  .models  import  TestModelA 
1314from  .models  import  TestModelE 
14- from  .test_utils  import  override_csv_permissions 
1515from  .test_utils  import  USER1_TYPE 
1616from  .test_utils  import  User1Factory 
1717from  .test_utils  import  USER2_TYPE 
Original file line number Diff line number Diff line change 77
88import  csv_permissions .evaluators 
99import  csv_permissions .permissions 
10+ from  csv_permissions .test_utils  import  override_csv_permissions 
1011
1112from  .models  import  TestModelA 
12- from  .test_utils  import  override_csv_permissions 
1313from  .test_utils  import  USER1_TYPE 
1414from  .test_utils  import  User1Factory 
1515from  .test_utils  import  USER2_TYPE 
Original file line number Diff line number Diff line change 1- import  contextlib 
2- import  tempfile 
31from  typing  import  Dict 
4- from  typing  import  Iterable 
52import  warnings 
63
7- from  django .test  import  override_settings 
84from  django .test .utils  import  TestContextDecorator 
95
106from  test_csv_permissions .factory  import  UserFactory 
@@ -22,25 +18,6 @@ def User2Factory(**kwargs):
2218    return  UserFactory .create (user_type = USER2_TYPE , ** kwargs )
2319
2420
25- @contextlib .contextmanager  
26- def  override_csv_permissions (csv_datas : Iterable [str ]):
27-     """ 
28-     Creates temporary CSV files with the specified contents and then sets the 
29-     """ 
30- 
31-     csv_filepaths  =  []
32- 
33-     with  contextlib .ExitStack () as  stack :
34-         for  csv_data  in  csv_datas :
35-             f  =  stack .enter_context (tempfile .NamedTemporaryFile ("w" ))
36-             csv_filepaths .append (f .name )
37-             f .writelines (csv_data )
38-             f .seek (0 )
39- 
40-         with  override_settings (CSV_PERMISSIONS_PATHS = csv_filepaths ):
41-             yield 
42- 
43- 
4421class  warning_filter (TestContextDecorator ):
4522    """ 
4623    Apply a warning.simplefilter() 
 
 
   
 
     
   
   
          
    
    
     
    
      
     
     
    You can’t perform that action at this time.
  
 
    
  
    
      
        
     
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments