mirror of https://github.com/open-webui/open-webui
feat: add image gen with automatic1111 to integration test
This commit is contained in:
parent
009e85d56e
commit
a937f6504a
|
@ -20,7 +20,11 @@ jobs:
|
||||||
|
|
||||||
- name: Build and run Compose Stack
|
- name: Build and run Compose Stack
|
||||||
run: |
|
run: |
|
||||||
docker compose --file docker-compose.yaml --file docker-compose.api.yaml up --detach --build
|
docker compose \
|
||||||
|
--file docker-compose.yaml \
|
||||||
|
--file docker-compose.api.yaml \
|
||||||
|
--file docker-compose.a1111-test.yaml \
|
||||||
|
up --detach --build
|
||||||
|
|
||||||
- name: Wait for Ollama to be up
|
- name: Wait for Ollama to be up
|
||||||
timeout-minutes: 5
|
timeout-minutes: 5
|
||||||
|
|
|
@ -74,5 +74,28 @@ describe('Settings', () => {
|
||||||
expect(spy).to.be.callCount(2);
|
expect(spy).to.be.callCount(2);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('user can generate image', () => {
|
||||||
|
// Click on the model selector
|
||||||
|
cy.get('button[aria-label="Select a model"]').click();
|
||||||
|
// Select the first model
|
||||||
|
cy.get('button[aria-label="model-item"]').first().click();
|
||||||
|
// Type a message
|
||||||
|
cy.get('#chat-textarea').type('Hi, what can you do? A single sentence only please.', {
|
||||||
|
force: true
|
||||||
|
});
|
||||||
|
// Send the message
|
||||||
|
cy.get('button[type="submit"]').click();
|
||||||
|
// User's message should be visible
|
||||||
|
cy.get('.chat-user').should('exist');
|
||||||
|
// Wait for the response
|
||||||
|
cy.get('.chat-assistant', { timeout: 120_000 }) // .chat-assistant is created after the first token is received
|
||||||
|
.find('div[aria-label="Generation Info"]', { timeout: 120_000 }) // Generation Info is created after the stop token is received
|
||||||
|
.should('exist');
|
||||||
|
// Click on the generate image button
|
||||||
|
cy.get('[aria-label="Generate Image"]').click();
|
||||||
|
// Wait for image to be visible
|
||||||
|
cy.get('img[data-cy="image"]', { timeout: 60_000 }).should('be.visible');
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
@ -0,0 +1,31 @@
|
||||||
|
# This is an overlay that spins up stable-diffusion-webui for integration testing
|
||||||
|
# This is not designed to be used in production
|
||||||
|
services:
|
||||||
|
stable-diffusion-webui:
|
||||||
|
# Not built for ARM64
|
||||||
|
platform: linux/amd64
|
||||||
|
image: ghcr.io/neggles/sd-webui-docker:latest
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
CLI_ARGS: "--api --use-cpu all --precision full --no-half --skip-torch-cuda-test --ckpt /empty.pt --do-not-download-clip --disable-nan-check --disable-opt-split-attention"
|
||||||
|
PYTHONUNBUFFERED: "1"
|
||||||
|
TERM: "vt100"
|
||||||
|
SD_WEBUI_VARIANT: "default"
|
||||||
|
# Hack to get container working on Apple Silicon
|
||||||
|
# Rosetta creates a conflict ${HOME}/.cache folder
|
||||||
|
entrypoint: /bin/bash
|
||||||
|
command:
|
||||||
|
- -c
|
||||||
|
- |
|
||||||
|
export HOME=/root-home
|
||||||
|
rm -rf $${HOME}/.cache
|
||||||
|
/docker/entrypoint.sh python -u webui.py --listen --port $${WEBUI_PORT} --skip-version-check $${CLI_ARGS}
|
||||||
|
volumes:
|
||||||
|
- ./test/test_files/image_gen/sd-empty.pt:/empty.pt
|
||||||
|
|
||||||
|
open-webui:
|
||||||
|
environment:
|
||||||
|
ENABLE_IMAGE_GENERATION: "true"
|
||||||
|
AUTOMATIC1111_BASE_URL: http://stable-diffusion-webui:7860
|
||||||
|
IMAGE_SIZE: "64x64"
|
||||||
|
IMAGE_STEPS: "3"
|
|
@ -19,5 +19,5 @@
|
||||||
showImagePreview = true;
|
showImagePreview = true;
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<img src={_src} {alt} class=" max-h-96 rounded-lg" draggable="false" />
|
<img src={_src} {alt} class=" max-h-96 rounded-lg" draggable="false" data-cy="image" />
|
||||||
</button>
|
</button>
|
||||||
|
|
Binary file not shown.
Loading…
Reference in New Issue