Exemplo n.º 1
0
 def test_tenant_caching(self):
     """Test that the tenant cache is successfully storing and expiring."""
     mock_request = self.request_context["request"]
     middleware = KokuTenantMiddleware()
     middleware.get_tenant(Tenant, "localhost", mock_request)  # Add one item to the cache
     self.assertEquals(KokuTenantMiddleware.tenant_cache.currsize, 1)
     middleware.get_tenant(Tenant, "localhost", mock_request)  # Call the same tenant
     self.assertEquals(KokuTenantMiddleware.tenant_cache.currsize, 1)  # Size should remain the same
     self.assertEquals(KokuTenantMiddleware.tenant_cache.currsize, 1)
     time.sleep(4)  # Wait the time greater than the ttl
     self.assertEqual(KokuTenantMiddleware.tenant_cache.currsize, 0)
Exemplo n.º 2
0
    def test_get_default_tenant(self):
        """Test that the public tenant is returned."""
        mock_request = Mock()
        del mock_request.user
        middleware = KokuTenantMiddleware()
        result = middleware.get_tenant(Tenant, 'localhost', mock_request)

        self.assertEqual(result.schema_name, 'public')
Exemplo n.º 3
0
    def test_get_tenant_with_user(self, mock_model):
        """Test that the customer tenant is returned."""
        mock_request = Mock()
        mock_group = Mock()
        mock_customer = Mock()
        mock_group.id = ''.join(
            [random.choice(string.digits) for _ in range(6)])
        mock_user_groups = mock_request.user.return_value.groups.return_value
        mock_user_groups.first.return_value = mock_group
        mock_customer.schema_name = self.schema_name
        mock_model.objects.get.return_value = mock_customer

        middleware = KokuTenantMiddleware()
        result = middleware.get_tenant(Tenant, 'localhost', mock_request)

        self.assertEqual(result.schema_name, self.schema_name)
Exemplo n.º 4
0
 def test_get_tenant_with_user(self):
     """Test that the customer tenant is returned."""
     mock_request = self.request_context["request"]
     middleware = KokuTenantMiddleware()
     result = middleware.get_tenant(Tenant, "localhost", mock_request)
     self.assertEqual(result.schema_name, self.schema_name)