mirror of
				https://github.com/open-webui/open-webui
				synced 2025-06-26 18:26:48 +00:00 
			
		
		
		
	feat: add image gen with automatic1111 to integration test
This commit is contained in:
		
							parent
							
								
									009e85d56e
								
							
						
					
					
						commit
						a937f6504a
					
				
							
								
								
									
										6
									
								
								.github/workflows/integration-test.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								.github/workflows/integration-test.yml
									
									
									
									
										vendored
									
									
								
							| @ -20,7 +20,11 @@ jobs: | ||||
| 
 | ||||
|       - name: Build and run Compose Stack | ||||
|         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 | ||||
|         timeout-minutes: 5 | ||||
|  | ||||
| @ -74,5 +74,28 @@ describe('Settings', () => { | ||||
| 				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'); | ||||
| 		}); | ||||
| 	}); | ||||
| }); | ||||
|  | ||||
							
								
								
									
										31
									
								
								docker-compose.a1111-test.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								docker-compose.a1111-test.yaml
									
									
									
									
									
										Normal file
									
								
							| @ -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; | ||||
| 	}} | ||||
| > | ||||
| 	<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> | ||||
|  | ||||
							
								
								
									
										
											BIN
										
									
								
								test/test_files/image_gen/sd-empty.pt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								test/test_files/image_gen/sd-empty.pt
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
		Loading…
	
		Reference in New Issue
	
	Block a user