Merge pull request #1075 from bookwyrm-social/disable-connectors
Disable related connector when an instance is blocked
This commit is contained in:
@ -84,13 +84,6 @@ class AbstractConnector(TestCase):
|
||||
"""barebones connector for search with defaults"""
|
||||
self.assertIsInstance(self.connector.book_mappings, list)
|
||||
|
||||
def test_is_available(self):
|
||||
"""this isn't used...."""
|
||||
self.assertTrue(self.connector.is_available())
|
||||
self.connector.max_query_count = 1
|
||||
self.connector.connector.query_count = 2
|
||||
self.assertFalse(self.connector.is_available())
|
||||
|
||||
def test_get_or_create_book_existing(self):
|
||||
"""find an existing book by remote/origin id"""
|
||||
self.assertEqual(models.Book.objects.count(), 1)
|
||||
|
@ -53,7 +53,6 @@ class AbstractConnector(TestCase):
|
||||
self.assertEqual(connector.isbn_search_url, "https://example.com/isbn?q=")
|
||||
self.assertIsNone(connector.name)
|
||||
self.assertEqual(connector.identifier, "example.com")
|
||||
self.assertIsNone(connector.max_query_count)
|
||||
self.assertFalse(connector.local)
|
||||
|
||||
@responses.activate
|
||||
|
@ -60,7 +60,12 @@ class FederationViews(TestCase):
|
||||
|
||||
def test_server_page_block(self):
|
||||
"""block a server"""
|
||||
server = models.FederatedServer.objects.create(server_name="hi.there.com")
|
||||
server = models.FederatedServer.objects.create(
|
||||
server_name="hi.there.com", application_type="bookwyrm"
|
||||
)
|
||||
connector = models.Connector.objects.get(
|
||||
identifier="hi.there.com",
|
||||
)
|
||||
self.remote_user.federated_server = server
|
||||
self.remote_user.save()
|
||||
|
||||
@ -72,17 +77,32 @@ class FederationViews(TestCase):
|
||||
request.user.is_superuser = True
|
||||
|
||||
view(request, server.id)
|
||||
|
||||
server.refresh_from_db()
|
||||
self.remote_user.refresh_from_db()
|
||||
self.assertEqual(server.status, "blocked")
|
||||
|
||||
# and the user was deactivated
|
||||
self.assertFalse(self.remote_user.is_active)
|
||||
self.assertEqual(self.remote_user.deactivation_reason, "domain_block")
|
||||
|
||||
# and the connector was disabled
|
||||
connector.refresh_from_db()
|
||||
self.assertFalse(connector.active)
|
||||
self.assertEqual(connector.deactivation_reason, "domain_block")
|
||||
|
||||
def test_server_page_unblock(self):
|
||||
"""unblock a server"""
|
||||
server = models.FederatedServer.objects.create(
|
||||
server_name="hi.there.com", status="blocked"
|
||||
server_name="hi.there.com", status="blocked", application_type="bookwyrm"
|
||||
)
|
||||
connector = models.Connector.objects.get(
|
||||
identifier="hi.there.com",
|
||||
)
|
||||
connector.active = False
|
||||
connector.deactivation_reason = "domain_block"
|
||||
connector.save()
|
||||
|
||||
self.remote_user.federated_server = server
|
||||
self.remote_user.is_active = False
|
||||
self.remote_user.deactivation_reason = "domain_block"
|
||||
@ -96,8 +116,15 @@ class FederationViews(TestCase):
|
||||
server.refresh_from_db()
|
||||
self.remote_user.refresh_from_db()
|
||||
self.assertEqual(server.status, "federated")
|
||||
|
||||
# and the user was re-activated
|
||||
self.assertTrue(self.remote_user.is_active)
|
||||
self.assertIsNone(self.remote_user.deactivation_reason)
|
||||
|
||||
# and the connector was re-enabled
|
||||
connector.refresh_from_db()
|
||||
self.assertTrue(connector.active)
|
||||
self.assertIsNone(connector.deactivation_reason)
|
||||
|
||||
def test_add_view_get(self):
|
||||
"""there are so many views, this just makes sure it LOADS"""
|
||||
|
Reference in New Issue
Block a user