def test_multisite_apphooks(self): self.apphook_clear() site1, _ = Site.objects.get_or_create(pk=1) site2, _ = Site.objects.get_or_create(pk=2) superuser = get_user_model().objects.create_superuser('admin', '*****@*****.**', 'admin') home_site_1 = create_page( "home", "nav_playground.html", "en", created_by=superuser, published=True, site=site1 ) home_site_2 = create_page( "home", "nav_playground.html", "de", created_by=superuser, published=True, site=site2 ) page_a_1 = create_page( "apphooked-page", "nav_playground.html", "en", created_by=superuser, published=True, parent=home_site_1, apphook=NS_APP_NAME, apphook_namespace="instance" ) page_a_2 = create_page( "apphooked-page", "nav_playground.html", "de", created_by=superuser, published=True, parent=home_site_1, ) page_b_1 = create_page( "apphooked-page", "nav_playground.html", "de", created_by=superuser, published=True, parent=home_site_2, site=site2 ) form = AdvancedSettingsForm(instance=page_a_1) form._site = site1 self.assertFalse(form._check_unique_namespace_instance("instance")) form = AdvancedSettingsForm(instance=page_a_2) form._site = site1 self.assertTrue(form._check_unique_namespace_instance("instance")) form = AdvancedSettingsForm(instance=page_b_1) form._site = site2 self.assertFalse(form._check_unique_namespace_instance("instance")) self.apphook_clear()