From 03de5aacfbae77045432971d5177acacb50380ee Mon Sep 17 00:00:00 2001 From: ducoterra Date: Mon, 12 Oct 2020 16:24:31 -0400 Subject: [PATCH] fix GET issue breaking test --- .gitignore | 3 ++- .vscode/launch.json | 11 ++++++++--- .vscode/tasks.json | 20 +++----------------- docker-compose.yml | 4 +++- test.py => heavy_load.py | 4 ++-- helm/values.yaml | 2 ++ ui/tests.py | 10 ++++------ ui/views.py | 12 +++++------- 8 files changed, 29 insertions(+), 37 deletions(-) rename test.py => heavy_load.py (92%) diff --git a/.gitignore b/.gitignore index 94dd016..b97695f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ venv/ __pycache__/ db/ -staticfiles/ \ No newline at end of file +staticfiles/ +.vscode/settings.json \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json index 485ea36..e591ae4 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -12,8 +12,11 @@ "args": [ "test", ], + "env": { + "DB_HOST": "localhost" + }, "django": true, - "preLaunchTask": "Migrate" + "preLaunchTask": "docker-compose up" }, { "name": "Run Server", @@ -22,10 +25,12 @@ "program": "${workspaceFolder}/manage.py", "args": [ "runserver", - "--noreload" ], + "env": { + "DB_HOST": "localhost" + }, "django": true, - "preLaunchTask": "Migrate" + "preLaunchTask": "docker-compose up" } ] } \ No newline at end of file diff --git a/.vscode/tasks.json b/.vscode/tasks.json index 1a2588e..a188e18 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -2,23 +2,9 @@ "version": "2.0.0", "tasks": [ { - "label": "Collect Static", - "command": "venv/bin/python manage.py collectstatic --no-input", - "type": "shell", - "presentation": { - "reveal": "always" - }, - "group": "build" - }, - { - "dependsOn": "Collect Static", - "label": "Migrate", - "command": "venv/bin/python manage.py migrate", - "type": "shell", - "presentation": { - "reveal": "always" - }, - "group": "build" + "label": "docker-compose up", + "command": "docker-compose up -d", + "type": "shell" } ] } \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index 5ebb74c..08e9ec1 100755 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -26,6 +26,8 @@ services: environment: POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres + ports: + - 5432:5432 pgadmin: image: dpage/pgadmin4:4 @@ -45,7 +47,7 @@ services: - "traefik.http.services.traefik-service.loadbalancer.server.port=8080" command: --api.insecure=true --providers.docker --log.level=ERROR --accesslog=true ports: - - "80:80" + - 80:80 volumes: - /var/run/docker.sock:/var/run/docker.sock diff --git a/test.py b/heavy_load.py similarity index 92% rename from test.py rename to heavy_load.py index a011862..b78e24c 100644 --- a/test.py +++ b/heavy_load.py @@ -13,8 +13,8 @@ else: burst = False sleep = 1 / rate print(f"Beginning load test at {rate} calls/second") -# url = 'https://button.ducoterra.net/button/' -url = 'http://button.localhost/button/' +url = 'https://button.ducoterra.net/' +# url = 'http://button.localhost/' def timer(func, *args, **kwargs): then = time.time() diff --git a/helm/values.yaml b/helm/values.yaml index e69de29..a8b459a 100644 --- a/helm/values.yaml +++ b/helm/values.yaml @@ -0,0 +1,2 @@ +image: hub.ducoterra.net/ducoterra/button +tag: 1.0.2 \ No newline at end of file diff --git a/ui/tests.py b/ui/tests.py index dd7dbb1..b3211c8 100644 --- a/ui/tests.py +++ b/ui/tests.py @@ -13,28 +13,26 @@ class SimpleTest(TestCase): def test_button(self): # Test initial load c = Client() - response = c.get('/button') - self.assertEqual(response.status_code, 301) - response = c.get('/button/') + response = c.get('/') self.assertEqual(response.status_code, 200) self.assertEqual(response.context.get("achievement"), {}) # Test first achievement - response = c.post('/button/', {}) + response = c.post('/', {}) self.assertEqual(response.status_code, 200) self.assertEqual(response.json().get("pressed"), 1) self.assertEqual(response.json().get("achievement"), "Clicked!") self.assertEqual(c.session.get('pressed'), 1) # Test second achievement - response = c.post('/button/', {}) + response = c.post('/', {}) self.assertEqual(response.status_code, 200) self.assertEqual(response.json().get("pressed"), 2) self.assertEqual(response.json().get("achievement"), "Clicked Twice!") self.assertEqual(c.session.get('pressed'), 2) # Test no achievement - response = c.post('/button/', {}) + response = c.post('/', {}) self.assertEqual(response.status_code, 200) self.assertEqual(response.json().get("pressed"), 3) self.assertEqual(response.json().get("achievement"), None) diff --git a/ui/views.py b/ui/views.py index 57e778d..88cfe2c 100644 --- a/ui/views.py +++ b/ui/views.py @@ -10,7 +10,6 @@ achievements = { 24: "I'm that old", 32: "2^5", 64: "2^6", - 69: "Nice", 100: "one hundred", 128: "2^7", 200: "two hundred", @@ -18,7 +17,6 @@ achievements = { 256: "2^8", 300: "three hundred", 400: "four hundred", - 420: "Blaze it", 500: "half thousand", 512: "2^9", 600: "six hundred", @@ -55,17 +53,17 @@ achievements = { def button(request): PRESSED = 'pressed' ACHIEVE = 'achievement' - current = request.session.get(PRESSED, 0) - request.session[PRESSED] = current + 1 + pressed = request.session.get(PRESSED, 0) if request.method == "POST": + pressed = pressed + 1 + request.session[PRESSED] = pressed response = { - PRESSED: current, - ACHIEVE: achievements.get(current) + PRESSED: pressed, + ACHIEVE: achievements.get(pressed) } return JsonResponse(response) - pressed = current response = {PRESSED: pressed} achieved = {k:v for k,v in achievements.items() if k <= pressed} response.update({ACHIEVE: achieved})