Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
async def test_unsubscribe_observer_model_instance_mixin(settings):
settings.CHANNEL_LAYERS={
"default": {
"BACKEND": "channels.layers.InMemoryChannelLayer",
"TEST_CONFIG": {
"expiry": 100500,
},
},
}
layer = channel_layers.make_test_backend(DEFAULT_CHANNEL_LAYER)
class TestConsumer(ObserverModelInstanceMixin, GenericAsyncAPIConsumer):
queryset = get_user_model().objects.all()
serializer_class = UserSerializer
async def accept(self, subprotocol=None):
await super().accept()
@action()
async def update_username(self, pk=None, username=None, **kwargs):
user = await database_sync_to_async(self.get_object)(pk=pk)
user.username = username
await database_sync_to_async(user.save)()
return {'pk': pk}, 200
assert not await database_sync_to_async(get_user_model().objects.all().exists)()
async def test_two_observer_model_instance_mixins(settings):
settings.CHANNEL_LAYERS={
"default": {
"BACKEND": "channels.layers.InMemoryChannelLayer",
"TEST_CONFIG": {
"expiry": 100500,
},
},
}
layer = channel_layers.make_test_backend(DEFAULT_CHANNEL_LAYER)
class TestUserConsumer(ObserverModelInstanceMixin, GenericAsyncAPIConsumer):
queryset = get_user_model().objects.all()
serializer_class = UserSerializer
async def accept(self, subprotocol=None):
await super().accept()
@action()
async def update_username(self, pk=None, username=None, **kwargs):
user = await database_sync_to_async(self.get_object)(pk=pk)
user.username = username
await database_sync_to_async(user.save)()
return {'pk': pk}, 200
class TestOtherConsumer(ObserverModelInstanceMixin, GenericAsyncAPIConsumer):
class TestUserConsumer(ObserverModelInstanceMixin, GenericAsyncAPIConsumer):
queryset = get_user_model().objects.all()
serializer_class = UserSerializer
async def accept(self, subprotocol=None):
await super().accept()
@action()
async def update_username(self, pk=None, username=None, **kwargs):
user = await database_sync_to_async(self.get_object)(pk=pk)
user.username = username
await database_sync_to_async(user.save)()
return {'pk': pk}, 200
class TestOtherConsumer(ObserverModelInstanceMixin, GenericAsyncAPIConsumer):
queryset = TestModel.objects.all()
serializer_class = UserSerializer
async def accept(self, subprotocol=None):
await super().accept()
@action()
async def update_username(self, pk=None, name=None, **kwargs):
tm = await database_sync_to_async(self.get_object)(pk=pk)
tm.name = name
await database_sync_to_async(tm.save)()
return {'pk': pk}, 200
assert not await database_sync_to_async(
get_user_model().objects.all().exists)()