Skip to main content

Testing Models with AppClient

The AppClient provides a convenient way to test your models and endpoints programmatically. When you use AppClient, it automatically deploys your app to fal’s serverless infrastructure in ephemeral mode, runs your tests against the live endpoints, and then cleans up the deployment when testing is complete. Let’s start with a sample image generation app that we want to test: Given the following app:
import fal
from pydantic import BaseModel, Field
from fal.toolkit import Image

class ImageModelInput(BaseModel): # ...

class MyApp(fal.App):  # ...
    keep_alive = 300

    def setup(self): # ...

    @fal.endpoint("/")
    def generate_image(self, request: ImageModelInput) -> Image: # ...
Now you can write comprehensive tests for this app:
def test_myapp():
    with fal.app.AppClient(MyApp) as client:
        result = client.generate_image(prompt="A cat holding a sign that says hello world")
        assert result is not None
        assert hasattr(result, 'url')
I