testing the test database
Some checks failed
Deploy to Web Server flyer-crawler.projectium.com / deploy (push) Failing after 32s

This commit is contained in:
2025-11-21 19:38:15 -08:00
parent 9b1dda6f8a
commit bf7a5670d2
4 changed files with 50 additions and 78 deletions

View File

@@ -93,11 +93,11 @@ BEGIN
UPDATE public.brands SET store_id = loblaws_id WHERE name = 'President''s Choice';
-- Get master item IDs
SELECT id INTO soda_item_id FROM public.master_grocery_items WHERE name = 'soda';
SELECT id INTO pasta_item_id FROM public.master_grocery_items WHERE name = 'pasta';
SELECT id INTO turkey_item_id FROM public.master_grocery_items WHERE name = 'turkey';
SELECT id INTO bread_item_id FROM public.master_grocery_items WHERE name = 'bread';
SELECT id INTO cheese_item_id FROM public.master_grocery_items WHERE name = 'cheese';
SELECT mgi.id INTO soda_item_id FROM public.master_grocery_items mgi WHERE mgi.name = 'soda';
SELECT mgi.id INTO pasta_item_id FROM public.master_grocery_items mgi WHERE mgi.name = 'pasta';
SELECT mgi.id INTO turkey_item_id FROM public.master_grocery_items mgi WHERE mgi.name = 'turkey';
SELECT mgi.id INTO bread_item_id FROM public.master_grocery_items mgi WHERE mgi.name = 'bread';
SELECT mgi.id INTO cheese_item_id FROM public.master_grocery_items mgi WHERE mgi.name = 'cheese';
-- Insert specific products, linking master items and brands
INSERT INTO public.products (master_item_id, brand_id, name, size, upc_code) VALUES
@@ -123,13 +123,13 @@ DECLARE
toilet_paper_id BIGINT;
BEGIN
-- Get master item IDs
SELECT id INTO ground_beef_id FROM public.master_grocery_items WHERE name = 'ground beef';
SELECT id INTO chicken_breast_id FROM public.master_grocery_items WHERE name = 'chicken breast';
SELECT id INTO chicken_thighs_id FROM public.master_grocery_items WHERE name = 'chicken thighs';
SELECT id INTO bell_peppers_id FROM public.master_grocery_items WHERE name = 'bell peppers';
SELECT id INTO soda_id FROM public.master_grocery_items WHERE name = 'soda';
SELECT id INTO paper_towels_id FROM public.master_grocery_items WHERE name = 'paper towels';
SELECT id INTO toilet_paper_id FROM public.master_grocery_items WHERE name = 'toilet paper';
SELECT mgi.id INTO ground_beef_id FROM public.master_grocery_items mgi WHERE mgi.name = 'ground beef';
SELECT mgi.id INTO chicken_breast_id FROM public.master_grocery_items mgi WHERE mgi.name = 'chicken breast';
SELECT mgi.id INTO chicken_thighs_id FROM public.master_grocery_items mgi WHERE mgi.name = 'chicken thighs';
SELECT mgi.id INTO bell_peppers_id FROM public.master_grocery_items mgi WHERE mgi.name = 'bell peppers';
SELECT mgi.id INTO soda_id FROM public.master_grocery_items mgi WHERE mgi.name = 'soda';
SELECT mgi.id INTO paper_towels_id FROM public.master_grocery_items mgi WHERE mgi.name = 'paper towels';
SELECT mgi.id INTO toilet_paper_id FROM public.master_grocery_items mgi WHERE mgi.name = 'toilet paper';
-- Insert aliases, ignoring any that might already exist
INSERT INTO public.master_item_aliases (master_item_id, alias) VALUES
@@ -172,17 +172,17 @@ BEGIN
SELECT id INTO stir_fry_recipe_id FROM public.recipes WHERE name = 'Vegetable Stir-fry';
-- Get ingredient IDs from master_grocery_items
SELECT id INTO chicken_breast_id FROM public.master_grocery_items WHERE name = 'chicken breast';
SELECT id INTO rice_id FROM public.master_grocery_items WHERE name = 'rice';
SELECT id INTO broccoli_id FROM public.master_grocery_items WHERE name = 'broccoli';
SELECT id INTO ground_beef_id FROM public.master_grocery_items WHERE name = 'ground beef';
SELECT id INTO pasta_id FROM public.master_grocery_items WHERE name = 'pasta';
SELECT id INTO tomatoes_id FROM public.master_grocery_items WHERE name = 'tomatoes';
SELECT id INTO onions_id FROM public.master_grocery_items WHERE name = 'onions';
SELECT id INTO garlic_id FROM public.master_grocery_items WHERE name = 'garlic';
SELECT id INTO bell_peppers_id FROM public.master_grocery_items WHERE name = 'bell peppers';
SELECT id INTO carrots_id FROM public.master_grocery_items WHERE name = 'carrots';
SELECT id INTO soy_sauce_id FROM public.master_grocery_items WHERE name = 'soy sauce';
SELECT mgi.id INTO chicken_breast_id FROM public.master_grocery_items mgi WHERE mgi.name = 'chicken breast';
SELECT mgi.id INTO rice_id FROM public.master_grocery_items mgi WHERE mgi.name = 'rice';
SELECT mgi.id INTO broccoli_id FROM public.master_grocery_items mgi WHERE mgi.name = 'broccoli';
SELECT mgi.id INTO ground_beef_id FROM public.master_grocery_items mgi WHERE mgi.name = 'ground beef';
SELECT mgi.id INTO pasta_id FROM public.master_grocery_items mgi WHERE mgi.name = 'pasta';
SELECT mgi.id INTO tomatoes_id FROM public.master_grocery_items mgi WHERE mgi.name = 'tomatoes';
SELECT mgi.id INTO onions_id FROM public.master_grocery_items mgi WHERE mgi.name = 'onions';
SELECT mgi.id INTO garlic_id FROM public.master_grocery_items mgi WHERE mgi.name = 'garlic';
SELECT mgi.id INTO bell_peppers_id FROM public.master_grocery_items mgi WHERE mgi.name = 'bell peppers';
SELECT mgi.id INTO carrots_id FROM public.master_grocery_items mgi WHERE mgi.name = 'carrots';
SELECT mgi.id INTO soy_sauce_id FROM public.master_grocery_items mgi WHERE mgi.name = 'soy sauce';
-- Insert ingredients for each recipe
INSERT INTO public.recipe_ingredients (recipe_id, master_item_id, quantity, unit) VALUES
@@ -218,12 +218,12 @@ DECLARE
flour_id BIGINT; sugar_id BIGINT; butter_id BIGINT; milk_id BIGINT; water_id BIGINT; rice_id BIGINT;
BEGIN
-- Get master item IDs
SELECT id INTO flour_id FROM public.master_grocery_items WHERE name = 'flour';
SELECT id INTO sugar_id FROM public.master_grocery_items WHERE name = 'sugar';
SELECT id INTO butter_id FROM public.master_grocery_items WHERE name = 'butter';
SELECT id INTO milk_id FROM public.master_grocery_items WHERE name = 'milk';
SELECT id INTO water_id FROM public.master_grocery_items WHERE name = 'water';
SELECT id INTO rice_id FROM public.master_grocery_items WHERE name = 'rice';
SELECT mgi.id INTO flour_id FROM public.master_grocery_items mgi WHERE mgi.name = 'flour';
SELECT mgi.id INTO sugar_id FROM public.master_grocery_items mgi WHERE mgi.name = 'sugar';
SELECT mgi.id INTO butter_id FROM public.master_grocery_items mgi WHERE mgi.name = 'butter';
SELECT mgi.id INTO milk_id FROM public.master_grocery_items mgi WHERE mgi.name = 'milk';
SELECT mgi.id INTO water_id FROM public.master_grocery_items mgi WHERE mgi.name = 'water';
SELECT mgi.id INTO rice_id FROM public.master_grocery_items mgi WHERE mgi.name = 'rice';
-- Insert conversion factors
INSERT INTO public.unit_conversions (master_item_id, from_unit, to_unit, factor) VALUES

View File

@@ -947,21 +947,21 @@ BEGIN
SELECT id INTO pc_id FROM public.brands WHERE name = 'President''s Choice';
-- Get ingredient IDs from master_grocery_items
SELECT id INTO chicken_breast_id FROM public.master_grocery_items WHERE name = 'chicken breast';
SELECT id INTO rice_id FROM public.master_grocery_items WHERE name = 'rice';
SELECT id INTO broccoli_id FROM public.master_grocery_items WHERE name = 'broccoli';
SELECT id INTO ground_beef_id FROM public.master_grocery_items WHERE name = 'ground beef';
SELECT id INTO pasta_id FROM public.master_grocery_items WHERE name = 'pasta';
SELECT id INTO tomatoes_id FROM public.master_grocery_items WHERE name = 'tomatoes';
SELECT id INTO onions_id FROM public.master_grocery_items WHERE name = 'onions';
SELECT id INTO garlic_id FROM public.master_grocery_items WHERE name = 'garlic';
SELECT id INTO bell_peppers_id FROM public.master_grocery_items WHERE name = 'bell peppers';
SELECT id INTO carrots_id FROM public.master_grocery_items WHERE name = 'carrots';
SELECT id INTO soy_sauce_id FROM public.master_grocery_items WHERE name = 'soy sauce';
SELECT id INTO soda_item_id FROM public.master_grocery_items WHERE name = 'soda';
SELECT id INTO turkey_item_id FROM public.master_grocery_items WHERE name = 'turkey';
SELECT id INTO bread_item_id FROM public.master_grocery_items WHERE name = 'bread';
SELECT id INTO cheese_item_id FROM public.master_grocery_items WHERE name = 'cheese';
SELECT mgi.id INTO chicken_breast_id FROM public.master_grocery_items mgi WHERE mgi.name = 'chicken breast';
SELECT mgi.id INTO rice_id FROM public.master_grocery_items mgi WHERE mgi.name = 'rice';
SELECT mgi.id INTO broccoli_id FROM public.master_grocery_items mgi WHERE mgi.name = 'broccoli';
SELECT mgi.id INTO ground_beef_id FROM public.master_grocery_items mgi WHERE mgi.name = 'ground beef';
SELECT mgi.id INTO pasta_id FROM public.master_grocery_items mgi WHERE mgi.name = 'pasta';
SELECT mgi.id INTO tomatoes_id FROM public.master_grocery_items mgi WHERE mgi.name = 'tomatoes';
SELECT mgi.id INTO onions_id FROM public.master_grocery_items mgi WHERE mgi.name = 'onions';
SELECT mgi.id INTO garlic_id FROM public.master_grocery_items mgi WHERE mgi.name = 'garlic';
SELECT mgi.id INTO bell_peppers_id FROM public.master_grocery_items mgi WHERE mgi.name = 'bell peppers';
SELECT mgi.id INTO carrots_id FROM public.master_grocery_items mgi WHERE mgi.name = 'carrots';
SELECT mgi.id INTO soy_sauce_id FROM public.master_grocery_items mgi WHERE mgi.name = 'soy sauce';
SELECT mgi.id INTO soda_item_id FROM public.master_grocery_items mgi WHERE mgi.name = 'soda';
SELECT mgi.id INTO turkey_item_id FROM public.master_grocery_items mgi WHERE mgi.name = 'turkey';
SELECT mgi.id INTO bread_item_id FROM public.master_grocery_items mgi WHERE mgi.name = 'bread';
SELECT mgi.id INTO cheese_item_id FROM public.master_grocery_items mgi WHERE mgi.name = 'cheese';
-- Insert ingredients for each recipe
INSERT INTO public.recipe_ingredients (recipe_id, master_item_id, quantity, unit) VALUES
@@ -1006,12 +1006,12 @@ DECLARE
flour_id BIGINT; sugar_id BIGINT; butter_id BIGINT; milk_id BIGINT; water_id BIGINT; rice_id BIGINT;
BEGIN
-- Get master item IDs
SELECT id INTO flour_id FROM public.master_grocery_items WHERE name = 'flour';
SELECT id INTO sugar_id FROM public.master_grocery_items WHERE name = 'sugar';
SELECT id INTO butter_id FROM public.master_grocery_items WHERE name = 'butter';
SELECT id INTO milk_id FROM public.master_grocery_items WHERE name = 'milk';
SELECT id INTO water_id FROM public.master_grocery_items WHERE name = 'water';
SELECT id INTO rice_id FROM public.master_grocery_items WHERE name = 'rice';
SELECT mgi.id INTO flour_id FROM public.master_grocery_items mgi WHERE mgi.name = 'flour';
SELECT mgi.id INTO sugar_id FROM public.master_grocery_items mgi WHERE mgi.name = 'sugar';
SELECT mgi.id INTO butter_id FROM public.master_grocery_items mgi WHERE mgi.name = 'butter';
SELECT mgi.id INTO milk_id FROM public.master_grocery_items mgi WHERE mgi.name = 'milk';
SELECT mgi.id INTO water_id FROM public.master_grocery_items mgi WHERE mgi.name = 'water';
SELECT mgi.id INTO rice_id FROM public.master_grocery_items mgi WHERE mgi.name = 'rice';
-- Insert conversion factors
INSERT INTO public.unit_conversions (master_item_id, from_unit, to_unit, factor) VALUES

View File

@@ -1,14 +0,0 @@
-- ============================================================================
-- TEST DATABASE SETUP SCRIPT
-- ============================================================================
-- Purpose:
-- This script creates a temporary database and a dedicated user for running
-- integration tests during a CI/CD pipeline. It is intended to be run by a
-- PostgreSQL superuser (e.g., 'postgres').
-- Create a new role for the test runner. In a real-world scenario, use a more secure password managed via secrets.
CREATE ROLE test_runner WITH LOGIN PASSWORD 'a_secure_test_password';
-- Create the test database and set the owner to our new test role.
-- This ensures the test runner has full permissions on this database only.
CREATE DATABASE "flyer-crawler-test" WITH OWNER = test_runner;

View File

@@ -1,14 +0,0 @@
-- ============================================================================
-- TEST DATABASE TEARDOWN SCRIPT
-- ============================================================================
-- Purpose:
-- This script cleans up the temporary database and user created for testing.
-- It should be run after the test suite has completed.
-- Terminate any active connections to the test database to allow it to be dropped.
SELECT pg_terminate_backend(pg_stat_activity.pid)
FROM pg_stat_activity
WHERE pg_stat_activity.datname = 'flyer-crawler-test';
DROP DATABASE IF EXISTS "flyer-crawler-test";
DROP ROLE IF EXISTS test_runner;