def METHOD_NAME(publish_command, first_app, second_app):
    """If there are multiple apps, publish all of them."""
    # Add two apps
    publish_command.apps = {
        "first": first_app,
        "second": second_app,
    }
    # Configure no command line options
    options = publish_command.parse_options([])
    # Run the publish command
    publish_command(**options)
    # The right sequence of things will be done
    assert publish_command.actions == [
        # Host OS is verified
        ("verify-host",),
        # Tools are verified
        ("verify-tools",),
        # App configs have been finalized
        ("finalize-app-config", "first"),
        ("finalize-app-config", "second"),
        # App template is verified for first app
        ("verify-app-template", "first"),
        # App tools are verified for first app
        ("verify-app-tools", "first"),
        # Publish the first app to s3
        ("publish", "first", "s3", {}),
        # App template is verified for second app
        ("verify-app-template", "second"),
        # App tools are verified for second app
        ("verify-app-tools", "second"),
        # Publish the second app to s3
        ("publish", "second", "s3", {"publish_state": "first"}),
    ]