Show
Ignore:
Timestamp:
06/17/09 14:56:26 (14 months ago)
Author:
JensDiemer
Message:

use django_tools.middlewares.ThreadLocal? in other parts (muchly in UpdateInfoBaseModel?), too. Make some thing very easy. So we must not put the request object in every "save", "get_or_create" call. And we have mutch less problems in unittests.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • branches/0.9/pylucid_project/tests/test_tools/pylucid_test_data.py

    r2026 r2040  
    77    os.environ['DJANGO_SETTINGS_MODULE'] = "pylucid_project.settings" 
    88 
    9 from django.http import HttpRequest 
     9#from django.http import HttpRequest 
    1010from django.contrib.auth.models import User#, AnonymousUser 
    1111from django.contrib.sites.models import Site# 
     
    1515 
    1616from pylucid.models import PageTree, PageMeta, PageContent, PluginPage, Design, \ 
    17                                             EditableHtmlHeadFile, Language 
     17                                            EditableHtmlHeadFile, Language, UserProfile 
    1818 
    1919SITEINFO_TAG = "***unittest siteinfo tag***" 
     
    200200def create_testusers(verbosity): 
    201201    """ 
    202     Create all available testusers. 
     202    Create all available testusers and UserProfiles 
    203203    """ 
    204204    def create_user(verbosity, username, password, email, is_staff, is_superuser): 
     
    218218        if verbosity>=2: 
    219219            print "Test user %r created." % user 
     220        return user 
    220221         
    221222    for usertype, userdata in TEST_USERS.iteritems(): 
    222         create_user(verbosity, **userdata) 
     223        user = create_user(verbosity, **userdata) 
    223224 
    224225 
     
    246247 
    247248 
    248 def create_headfiles(verbosity, headfile_dict, site, request): 
     249def create_headfiles(verbosity, headfile_dict, site): 
    249250    headfile_map = {} 
    250251    for filepath, data in headfile_dict.iteritems(): 
     
    254255            content = data["content"], 
    255256        ) 
    256         headfile.save(request) 
     257        headfile.save() 
    257258        headfile.site.add(site) 
    258259        if verbosity>=2: 
     
    263264 
    264265 
    265 def create_design(verbosity, design_dict, request, site, template_map, headfile_map):    
     266def create_design(verbosity, design_dict, site, template_map, headfile_map):    
    266267    design_map = {} 
    267268    for design_name, data in design_dict.iteritems(): 
    268269        template_name = data["template_name"] 
    269270        assert template_name in template_map 
    270         design, created = Design.objects.get_or_create(request, 
     271        design, created = Design.objects.get_or_create( 
    271272            name = design_name, defaults = {"template": template_name,} 
    272273        ) 
    273274        if created: 
    274             design.save(request) 
     275            design.save() 
    275276            design.site.add(site) 
    276277            if verbosity>=2: 
     
    282283                if verbosity>=2: 
    283284                    print("Add headfile '%s'." % headfile) 
    284             design.save(request) 
     285            design.save() 
    285286        elif verbosity>=2: 
    286287                print("Design '%s' exist." % design_name) 
     
    298299 
    299300 
    300 def create_pages(verbosity, request, design_map, site, pages, parent=None): 
     301def create_pages(verbosity, design_map, site, pages, parent=None): 
    301302    design = design_map["unittest_design"] 
    302303    for page_data in pages: 
     
    309310            page_type = PageTree.PAGE_TYPE 
    310311         
    311         tree_entry, created = PageTree.objects.get_or_create(request, 
     312        tree_entry, created = PageTree.objects.get_or_create( 
    312313            site=site, slug=slug, parent=parent, 
    313314            defaults={ 
     
    319320        if verbosity>=2: 
    320321            if created: 
    321                 #tree_entry.save(request) 
     322                #tree_entry.save() 
    322323                print("PageTree '%s' created." % url) 
    323324            else: 
     
    330331                keys = ("title", "description", "keywords") 
    331332            ) 
    332             pagemeta_entry, created = PageMeta.objects.get_or_create(request, 
     333            pagemeta_entry, created = PageMeta.objects.get_or_create( 
    333334                page = tree_entry, lang = language, 
    334335                defaults = default_dict 
     
    336337            if verbosity>=2: 
    337338                if created: 
    338                     #pagemeta_entry.save(request) 
     339                    #pagemeta_entry.save() 
    339340                    print("PageMeta '%s' - '%s' created." % (language, tree_entry.slug)) 
    340341                else: 
     
    343344            if tree_entry.type == PageTree.PLUGIN_TYPE: 
    344345                # It's a plugin page 
    345                 pluginpage, created = PluginPage.objects.get_or_create(request, 
     346                pluginpage, created = PluginPage.objects.get_or_create( 
    346347                    page = tree_entry, 
    347348                    lang = language, 
     
    359360                ) 
    360361                default_dict["markup"] = PageContent.MARKUP_CREOLE 
    361                 content_entry, created = PageContent.objects.get_or_create(request, 
     362                content_entry, created = PageContent.objects.get_or_create( 
    362363                    page = tree_entry, 
    363364                    lang = language, 
     
    366367                ) 
    367368                content_entry.content = content_entry.content.replace(SITEINFO_TAG, site.name) 
    368                 content_entry.save(request) 
     369                content_entry.save() 
    369370                if verbosity>=2: 
    370371                    if created: 
     
    376377            if verbosity>=2: 
    377378                print "--- create sub pages ---" 
    378             create_pages(verbosity, request, design_map, site, 
     379            create_pages(verbosity, design_map, site, 
    379380                pages=page_data["sub-pages"], parent=tree_entry 
    380381            ) 
     
    386387 
    387388 
    388 def create_test_data(request, site, verbosity): 
     389def create_test_data(site, verbosity): 
    389390    template_map = create_templates(verbosity, TEST_TEMPLATES, site) 
    390     headfile_map = create_headfiles(verbosity, TEST_HEADFILES, site, request) 
    391     design_map = create_design(verbosity, TEST_DESIGNS, request, site, template_map, headfile_map) 
     391    headfile_map = create_headfiles(verbosity, TEST_HEADFILES, site) 
     392    design_map = create_design(verbosity, TEST_DESIGNS, site, template_map, headfile_map) 
    392393     
    393394    # Create PageTree, PageMeta and PageContent in every test language 
    394     create_pages(verbosity, request, design_map, site, pages=TEST_PAGES) 
    395      
    396      
    397 def get_fake_request(usertype): 
    398     """ Create a fake HttpRequest instance. Needed in some UpdateInfoBaseModel save() methods """ 
    399     request = HttpRequest() 
    400     request.user = get_user(usertype=usertype) 
    401     return request 
     395    create_pages(verbosity, design_map, site, pages=TEST_PAGES) 
     396     
     397     
     398#def get_fake_request(usertype): 
     399#    """ Create a fake HttpRequest instance. Needed in some UpdateInfoBaseModel save() methods """ 
     400#    request = HttpRequest() 
     401#    request.user = get_user(usertype=usertype) 
     402#    return request 
    402403 
    403404 
     
    406407    if verbosity>=2: 
    407408        print "\nCreate complete test data for 'running' PyLucid" 
    408          
     409               
    409410    create_testusers(verbosity) 
    410411     
    411     request = get_fake_request(usertype="superuser") 
     412#    request = get_fake_request(usertype="superuser") 
    412413     
    413414    for site in TestSites(verbosity): 
     
    416417            print("create test data for site: %r" % site) 
    417418             
    418         create_test_data(request, site, verbosity) 
     419        create_test_data(site, verbosity) 
    419420 
    420421    if verbosity: