def test_get_schema_or_template_helper(self): schema = Schema.objects.create(name='a', schema='a') self.assertEqual(None, get_active_schema_name()) schema.activate() self.assertEqual('a', get_active_schema_name()) schema.deactivate() self.assertEqual(None, get_active_schema_name())
def test_queryset_activate_method(self): Schema.objects.mass_create("a", "b", "c") Schema().deactivate() self.assertEqual(None, get_active_schema_name()) Schema.objects.activate("a") self.assertEqual("a", get_active_schema_name())
def test_get_schema_or_template_helper(self): schema = Schema.objects.create(name="a", schema="a") self.assertEqual(None, get_active_schema_name()) schema.activate() self.assertEqual("a", get_active_schema_name()) schema.deactivate() self.assertEqual(None, get_active_schema_name())
def test_queryset_activate_method(self): Schema.objects.mass_create('a', 'b', 'c') Schema().deactivate() self.assertEqual(None, get_active_schema_name()) Schema.objects.activate('a') self.assertEqual('a', get_active_schema_name())
def test_activate_schema_function(self): self.assertRaises(TemplateSchemaActivation, activate_schema, '__template__') Schema.objects.mass_create('a', 'b') activate_schema('a') self.assertEqual('a', get_active_schema_name()) activate_schema('b') self.assertEqual('b', get_active_schema_name()) deactivate_schema() self.assertEqual(None, get_active_schema_name())
def test_activate_schema_function(self): self.assertRaises(TemplateSchemaActivation, activate_schema, "__template__") Schema.objects.mass_create("a", "b") activate_schema("a") self.assertEqual("a", get_active_schema_name()) activate_schema("b") self.assertEqual("b", get_active_schema_name()) deactivate_schema() self.assertEqual(None, get_active_schema_name())
def test_activate_schema_sets_search_path(self): schema = Schema.objects.create(name='a', schema='a') schema.activate() self.assertEqual(schema.schema, get_active_schema_name()) activate_template_schema() self.assertEqual('__template__', _get_search_path())
def test_activate_schema_sets_search_path(self): schema = Schema.objects.create(name="a", schema="a") schema.activate() self.assertEqual(schema.schema, get_active_schema_name()) activate_template_schema() self.assertEqual("__template__", _get_search_path())
def test_templates_can_be_created_and_destroyed(self): template = SchemaTemplate.objects.create(name='Foo') self.assertTrue(_schema_exists(template.schema)) template.activate() self.assertEqual(get_active_schema_name(), template.schema) template.deactivate() template.delete() self.assertFalse(_schema_exists(template.schema))
def test_templates_can_be_created_and_destroyed(self): template = SchemaTemplate.objects.create(name='Foo') self.assertTrue(_schema_exists(template.schema)) template.activate() self.assertEqual(get_active_schema_name(), template.schema) template.deactivate() template.delete() self.assertFalse(_schema_exists(template.schema))
def inject_schema_attribute(sender, instance, **kwargs): """ A signal listener that injects the current schema on the object just after it is instantiated. You may use this in conjunction with :class:`MultiSchemaMixin`, it will respect any value that has already been set on the instance. """ if is_shared_model(sender): return if not getattr(instance, '_schema', None): instance._schema = get_active_schema_name()
def test_deactivate_schema_resets_search_path(self): schema = Schema.objects.create(name='a', schema='a') schema.activate() schema.deactivate() self.assertEqual(None, get_active_schema_name())
def test_manual_set_search_path(self): Schema.objects.create(name="a", schema="a") connection.cursor().execute("SET search_path TO a,public") self.assertEqual("a", get_active_schema_name())
def test_default_search_path(self): self.assertEqual(None, get_active_schema_name())
def test_deactivate_schema_resets_search_path(self): schema = Schema.objects.create(name="a", schema="a") schema.activate() schema.deactivate() self.assertEqual(None, get_active_schema_name())
def test_manual_set_search_path(self): Schema.objects.create(name='a', schema='a') connection.cursor().execute('SET search_path TO a,public') self.assertEqual('a', get_active_schema_name())
def test_default_search_path(self): self.assertEqual(None, get_active_schema_name())