Opened 14 years ago
Closed 14 years ago
#15081 closed (duplicate)
When running tests you cannot use data that is inserted the <app>/sql/model.sql
Reported by: | maesjoch | Owned by: | nobody |
---|---|---|---|
Component: | Testing framework | Version: | 1.2 |
Severity: | Keywords: | custom sql | |
Cc: | Triage Stage: | Accepted | |
Has patch: | no | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description (last modified by )
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.
Change History (5)
comment:1 by , 14 years ago
Description: | modified (diff) |
---|---|
Resolution: | → worksforme |
Status: | new → closed |
comment:2 by , 14 years ago
Resolution: | worksforme |
---|---|
Status: | closed → reopened |
Triage Stage: | Unreviewed → Accepted |
Following more detail on IRC: This only affects MySQL.
comment:3 by , 14 years ago
Triage Stage: | Accepted → Unreviewed |
---|
I can reproduce with 'ENGINE': 'django.db.backends.postgresql_psycopg2',
Same app.
comment:4 by , 14 years ago
Triage Stage: | Unreviewed → Accepted |
---|
I've already accepted the ticket. There's no need to move it back for another review.
comment:5 by , 14 years ago
Resolution: | → duplicate |
---|---|
Status: | reopened → closed |
Turns out this is already caught by Django's test suite, and has been reported as #14661,
I can't reproduce this. The test described passes as expected for me under SQLite and Postgres.