#15081: When running tests you cannot use data that is inserted the
<app>/sql/model.sql
----------------------------------------+-----------------------------------
          Reporter:  maesjoch           |         Owner:  nobody    
            Status:  closed             |     Milestone:            
         Component:  Testing framework  |       Version:  1.2       
        Resolution:  worksforme         |      Keywords:  custom sql
             Stage:  Unreviewed         |     Has_patch:  0         
        Needs_docs:  0                  |   Needs_tests:  0         
Needs_better_patch:  0                  |  
----------------------------------------+-----------------------------------
Changes (by russellm):

  * status:  new => closed
  * needs_better_patch:  => 0
  * needs_tests:  => 0
  * needs_docs:  => 0
  * resolution:  => worksforme

Old description:

> Consider following case:
> #model
> class sqltest(models.Model):
>
>     name = models.CharField(max_length=100, unique=True)
>
> #test
>
> from django.test import TestCase
> from testapp.app_test.models import sqltest
>
> class SimpleTest(TestCase):
>     def test_basic_addition(self):
>         s = sqltest.objects.get(name='test1')
>         self.assertTrue(s)
>

> #in <app>/sql/sqltest.py
> insert into app_test_sqltest (name) values ('test1');
> insert into app_test_sqltest (name) values ('test2');
> insert into app_test_sqltest (name) values ('test3');
>

> When running your tests will not find the test1 entry. This is not
> consistent with how django docs explain it (although not that much
> testing information on custom sql).
>
> Was this by design or is it an actual bug I do not know.

New description:

 Consider following case:

 #model
 {{{
 class sqltest(models.Model):

     name = models.CharField(max_length=100, unique=True)
 }}}

 #test
 {{{
 from django.test import TestCase
 from testapp.app_test.models import sqltest

 class SimpleTest(TestCase):
     def test_basic_addition(self):
         s = sqltest.objects.get(name='test1')
         self.assertTrue(s)
 }}}

 #in <app>/sql/sqltest.py
 {{{
 insert into app_test_sqltest (name) values ('test1');
 insert into app_test_sqltest (name) values ('test2');
 insert into app_test_sqltest (name) values ('test3');
 }}}

 When running your tests will not find the test1 entry. This is not
 consistent with how django docs explain it (although not that much testing
 information on custom sql).

 Was this by design or is it an actual bug I do not know.

Comment:

 I can't reproduce this. The test described passes as expected for me under
 SQLite and Postgres.

-- 
Ticket URL: <http://code.djangoproject.com/ticket/15081#comment:1>
Django <http://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to django-updates@googlegroups.com.
To unsubscribe from this group, send email to 
django-updates+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en.

Reply via email to