コード例 #1
0
 def test_name_clash(self):
     backup_create = TenantModel.auto_create_schema
     TenantModel.auto_create_schema = False
     # public
     TenantModel.objects.create(schema_name="public")
     errors = check_schema_names(self.app_config)
     expected_errors = [
         checks.Critical(
             "Name clash found between static and dynamic tenants: {'public'}",
             id="pgschemas.W004"),
     ]
     self.assertEqual(errors, expected_errors)
     TenantModel.objects.all().delete()
     # www
     TenantModel.objects.create(schema_name="www")
     errors = check_schema_names(self.app_config)
     expected_errors = [
         checks.Critical(
             "Name clash found between static and dynamic tenants: {'www'}",
             id="pgschemas.W004"),
     ]
     self.assertEqual(errors, expected_errors)
     TenantModel.objects.all().delete()
     # sample
     TenantModel.objects.create(schema_name="sample")
     errors = check_schema_names(self.app_config)
     expected_errors = [
         checks.Critical(
             "Name clash found between static and dynamic tenants: {'sample'}",
             id="pgschemas.W004"),
     ]
     self.assertEqual(errors, expected_errors)
     TenantModel.objects.all().delete()
     TenantModel.auto_create_schema = backup_create
コード例 #2
0
 def test_database_checks_with_zero_migrations(self):
     management.call_command("migrate",
                             "shared_public",
                             "zero",
                             verbosity=0)
     # The goal is that the next line doesn't raise ProgrammingError
     check_schema_names(apps.get_app_config("django_pgschemas"))
     management.call_command("migrate", verbosity=0)