mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2026-10-13 17:49:25 +00:00
move docker files to root
This commit is contained in:
1 parent
5c7636e4c7
commit
c619c0235d
8 files changed
+20
-10
No files matched your search
@@ -1,20 +0,0 @@
|
||||
FROM postgres:12.1
|
||||
WORKDIR /app
|
||||
|
||||
ENV PGHOST=localhost
|
||||
ENV PGDATABASE=kata
|
||||
ENV PGPASSWORD=admin
|
||||
ENV PGUSER=postgres
|
||||
ENV POSTGRES_PASSWORD=admin
|
||||
ENV PGDATA /var/lib/postgresql/data_local
|
||||
|
||||
RUN mkdir -p "$PGDATA" && chown -R postgres:postgres "$PGDATA" && chmod 777 "$PGDATA"
|
||||
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y --no-install-recommends ca-certificates wget \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
ADD ./*.sh /app/
|
||||
ADD ./*.sql /app/
|
||||
RUN chmod +x ./*.sh \
|
||||
&& ./initializeDocker.sh
|
||||
@@ -1,16 +0,0 @@
|
||||
version: '3'
|
||||
|
||||
services:
|
||||
database:
|
||||
build: .
|
||||
ports:
|
||||
- "5432:5432"
|
||||
volumes:
|
||||
- .:/app/:z
|
||||
|
||||
admin:
|
||||
image: adminer
|
||||
links:
|
||||
- database
|
||||
ports:
|
||||
- "8081:8080"
|
||||
@@ -2,9 +2,7 @@
|
||||
|
||||
set -ex
|
||||
|
||||
echo "Create database"
|
||||
psql -d postgres -c 'DROP DATABASE IF EXISTS kata;'
|
||||
psql -d postgres -c 'CREATE DATABASE kata;'
|
||||
echo "Enable DBLINK"
|
||||
psql -d kata -c 'CREATE EXTENSION DBLINK;'
|
||||
|
||||
echo "Initialize test framework"
|
||||
@@ -14,8 +12,3 @@ wget https://raw.githubusercontent.com/adrianandrei-ca/pgunit/bc69dfc526ec3db55f
|
||||
|
||||
echo "Initialize custom asserts"
|
||||
psql -d kata -f asserts.sql
|
||||
|
||||
echo "Add current code"
|
||||
psql -d kata -f item.sql
|
||||
psql -d kata -f new_item.sql
|
||||
psql -d kata -f update_quality.sql
|
||||
@@ -1,26 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
wait_database()
|
||||
{
|
||||
while :
|
||||
do
|
||||
(echo > /dev/tcp/127.0.0.1/5432) >/dev/null 2>&1
|
||||
result=$?
|
||||
|
||||
if [[ $result -eq 0 ]]; then
|
||||
break
|
||||
fi
|
||||
sleep 1
|
||||
done
|
||||
return $result
|
||||
}
|
||||
|
||||
nohup docker-entrypoint.sh postgres > /dev/null 2>&1 &
|
||||
wait_database
|
||||
|
||||
set -ex
|
||||
|
||||
./initializeDatabase.sh
|
||||
|
||||
echo "Stop database"
|
||||
disown %1
|
||||
@@ -1,8 +0,0 @@
|
||||
DROP TABLE IF EXISTS item;
|
||||
CREATE TABLE item
|
||||
(
|
||||
name character varying(100) NOT NULL,
|
||||
sell_in numeric(6) NOT NULL,
|
||||
quality numeric(6) NOT NULL
|
||||
);
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
DROP PROCEDURE IF EXISTS new_item;
|
||||
CREATE PROCEDURE new_item(
|
||||
name item.name%TYPE,
|
||||
sell_in item.sell_in%TYPE,
|
||||
quality item.quality%TYPE
|
||||
)
|
||||
LANGUAGE plpgsql
|
||||
AS $$
|
||||
BEGIN
|
||||
INSERT INTO item (name, sell_in, quality) VALUES (name, sell_in, quality);
|
||||
END;
|
||||
$$;
|
||||
@@ -1,72 +0,0 @@
|
||||
CREATE OR REPLACE PROCEDURE update_quality()
|
||||
LANGUAGE plpgsql
|
||||
AS $$
|
||||
DECLARE
|
||||
c_items CURSOR FOR
|
||||
SELECT name, sell_in, quality FROM item FOR UPDATE;
|
||||
l_item RECORD;
|
||||
l_name item.name%TYPE;
|
||||
l_sell_in item.sell_in%TYPE;
|
||||
l_quality item.quality%TYPE;
|
||||
BEGIN
|
||||
OPEN c_items;
|
||||
LOOP
|
||||
FETCH c_items INTO l_item;
|
||||
EXIT WHEN NOT FOUND;
|
||||
|
||||
l_name := l_item.name;
|
||||
l_sell_in := l_item.sell_in;
|
||||
l_quality := l_item.quality;
|
||||
|
||||
IF l_name <> 'Aged Brie' AND l_name <> 'Backstage passes to a TAFKAL80ETC concert' THEN
|
||||
IF l_quality > 0 THEN
|
||||
IF l_name <> 'Sulfuras, Hand of Ragnaros' THEN
|
||||
l_quality := l_quality - 1;
|
||||
END IF;
|
||||
END IF;
|
||||
ELSE
|
||||
IF (l_quality < 50) THEN
|
||||
l_quality := l_quality + 1;
|
||||
IF l_name = 'Backstage passes to a TAFKAL80ETC concert' THEN
|
||||
IF l_sell_in < 11 THEN
|
||||
IF l_quality < 50 THEN
|
||||
l_quality := l_quality + 1;
|
||||
END IF;
|
||||
END IF;
|
||||
IF l_sell_in < 6 THEN
|
||||
IF l_quality < 50 THEN
|
||||
l_quality := l_quality + 1;
|
||||
END IF;
|
||||
END IF;
|
||||
END IF;
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
IF l_name <> 'Sulfuras, Hand of Ragnaros' THEN
|
||||
l_sell_in := l_sell_in - 1;
|
||||
END IF;
|
||||
|
||||
IF l_sell_in < 0 THEN
|
||||
IF l_name <> 'Aged Brie' THEN
|
||||
IF l_name <> 'Backstage passes to a TAFKAL80ETC concert' THEN
|
||||
IF l_quality > 0 THEN
|
||||
IF l_name <> 'Sulfuras, Hand of Ragnaros' THEN
|
||||
l_quality := l_quality - 1;
|
||||
END IF;
|
||||
END IF;
|
||||
ELSE
|
||||
l_quality := l_quality - l_quality;
|
||||
END IF;
|
||||
ELSE
|
||||
IF l_quality < 50 THEN
|
||||
l_quality := l_quality + 1;
|
||||
END IF;
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
UPDATE item
|
||||
SET name = l_name, sell_in = l_sell_in, quality = l_quality WHERE CURRENT OF c_items;
|
||||
END LOOP;
|
||||
CLOSE c_items;
|
||||
END;
|
||||
$$;
|
||||
Reference in new issue
Block a user