From c1c78d8d5b4545e9f548c58db1fb3ff0b03f4b36 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ferdinand=20M=C3=BCtsch?= Date: Fri, 11 Jun 2021 17:41:55 +0200 Subject: [PATCH] test: add more api tests --- coverage/coverage.out | 842 +++++------ .../Wakapi API Tests.postman_collection.json | 1341 ++++++++++++++++- testing/data.sql | 4 +- testing/run_api_tests.sh | 4 +- views/settings.tpl.html | 2 +- 5 files changed, 1739 insertions(+), 454 deletions(-) diff --git a/coverage/coverage.out b/coverage/coverage.out index 2623c8b..0eda4a5 100644 --- a/coverage/coverage.out +++ b/coverage/coverage.out @@ -1,89 +1,4 @@ mode: set -github.com/muety/wakapi/models/heartbeat.go:32.34,34.2 1 1 -github.com/muety/wakapi/models/heartbeat.go:36.65,38.46 2 1 -github.com/muety/wakapi/models/heartbeat.go:38.46,39.108 1 1 -github.com/muety/wakapi/models/heartbeat.go:39.108,42.4 2 1 -github.com/muety/wakapi/models/heartbeat.go:46.50,47.11 1 1 -github.com/muety/wakapi/models/heartbeat.go:60.2,60.15 1 1 -github.com/muety/wakapi/models/heartbeat.go:64.2,64.12 1 1 -github.com/muety/wakapi/models/heartbeat.go:48.22,49.18 1 1 -github.com/muety/wakapi/models/heartbeat.go:50.21,51.17 1 1 -github.com/muety/wakapi/models/heartbeat.go:52.23,53.19 1 1 -github.com/muety/wakapi/models/heartbeat.go:54.17,55.26 1 1 -github.com/muety/wakapi/models/heartbeat.go:56.22,57.18 1 1 -github.com/muety/wakapi/models/heartbeat.go:60.15,62.3 1 1 -github.com/muety/wakapi/models/heartbeat.go:67.37,83.2 1 0 -github.com/muety/wakapi/models/heartbeat.go:91.41,93.16 2 0 -github.com/muety/wakapi/models/heartbeat.go:96.2,97.10 2 0 -github.com/muety/wakapi/models/heartbeat.go:93.16,95.3 1 0 -github.com/muety/wakapi/models/interval.go:39.47,40.23 1 0 -github.com/muety/wakapi/models/interval.go:45.2,45.14 1 0 -github.com/muety/wakapi/models/interval.go:40.23,41.13 1 0 -github.com/muety/wakapi/models/interval.go:41.13,43.4 1 0 -github.com/muety/wakapi/models/language_mapping.go:11.42,13.2 1 0 -github.com/muety/wakapi/models/language_mapping.go:15.51,17.2 1 0 -github.com/muety/wakapi/models/language_mapping.go:19.52,21.2 1 0 -github.com/muety/wakapi/models/mail.go:19.44,23.2 3 0 -github.com/muety/wakapi/models/mail.go:25.44,29.2 3 0 -github.com/muety/wakapi/models/mail.go:31.32,44.2 1 0 -github.com/muety/wakapi/models/mail.go:46.41,48.2 1 0 -github.com/muety/wakapi/models/mail_address.go:15.13,18.2 2 1 -github.com/muety/wakapi/models/mail_address.go:24.38,26.2 1 0 -github.com/muety/wakapi/models/mail_address.go:28.35,30.21 2 1 -github.com/muety/wakapi/models/mail_address.go:36.2,36.11 1 1 -github.com/muety/wakapi/models/mail_address.go:30.21,31.21 1 1 -github.com/muety/wakapi/models/mail_address.go:34.3,34.18 1 1 -github.com/muety/wakapi/models/mail_address.go:31.21,33.4 1 1 -github.com/muety/wakapi/models/mail_address.go:39.35,41.2 1 1 -github.com/muety/wakapi/models/mail_address.go:43.43,45.22 2 0 -github.com/muety/wakapi/models/mail_address.go:48.2,48.12 1 0 -github.com/muety/wakapi/models/mail_address.go:45.22,47.3 1 0 -github.com/muety/wakapi/models/mail_address.go:51.46,53.22 2 1 -github.com/muety/wakapi/models/mail_address.go:56.2,56.12 1 1 -github.com/muety/wakapi/models/mail_address.go:53.22,55.3 1 1 -github.com/muety/wakapi/models/mail_address.go:59.40,60.22 1 1 -github.com/muety/wakapi/models/mail_address.go:65.2,65.13 1 1 -github.com/muety/wakapi/models/mail_address.go:60.22,61.17 1 1 -github.com/muety/wakapi/models/mail_address.go:61.17,63.4 1 1 -github.com/muety/wakapi/models/models.go:3.14,5.2 0 1 -github.com/muety/wakapi/models/shared.go:35.52,37.2 1 0 -github.com/muety/wakapi/models/shared.go:39.52,42.16 3 0 -github.com/muety/wakapi/models/shared.go:45.2,47.12 3 0 -github.com/muety/wakapi/models/shared.go:42.16,44.3 1 0 -github.com/muety/wakapi/models/shared.go:50.52,56.22 2 0 -github.com/muety/wakapi/models/shared.go:71.2,74.12 3 0 -github.com/muety/wakapi/models/shared.go:57.14,61.17 2 0 -github.com/muety/wakapi/models/shared.go:64.17,66.8 2 0 -github.com/muety/wakapi/models/shared.go:67.10,68.64 1 0 -github.com/muety/wakapi/models/shared.go:61.17,63.4 1 0 -github.com/muety/wakapi/models/shared.go:77.51,80.2 2 0 -github.com/muety/wakapi/models/shared.go:82.45,84.2 1 0 -github.com/muety/wakapi/models/shared.go:86.37,88.2 1 0 -github.com/muety/wakapi/models/shared.go:90.35,92.2 1 0 -github.com/muety/wakapi/models/shared.go:94.34,96.2 1 0 -github.com/muety/wakapi/models/alias.go:12.32,14.2 1 0 -github.com/muety/wakapi/models/alias.go:16.37,17.35 1 0 -github.com/muety/wakapi/models/alias.go:22.2,22.14 1 0 -github.com/muety/wakapi/models/alias.go:17.35,18.18 1 0 -github.com/muety/wakapi/models/alias.go:18.18,20.4 1 0 -github.com/muety/wakapi/models/filters.go:16.56,17.16 1 0 -github.com/muety/wakapi/models/filters.go:29.2,29.19 1 0 -github.com/muety/wakapi/models/filters.go:18.22,19.32 1 0 -github.com/muety/wakapi/models/filters.go:20.17,21.27 1 0 -github.com/muety/wakapi/models/filters.go:22.23,23.33 1 0 -github.com/muety/wakapi/models/filters.go:24.21,25.31 1 0 -github.com/muety/wakapi/models/filters.go:26.22,27.32 1 0 -github.com/muety/wakapi/models/filters.go:32.47,33.21 1 1 -github.com/muety/wakapi/models/filters.go:44.2,44.21 1 1 -github.com/muety/wakapi/models/filters.go:33.21,35.3 1 1 -github.com/muety/wakapi/models/filters.go:35.8,35.23 1 1 -github.com/muety/wakapi/models/filters.go:35.23,37.3 1 0 -github.com/muety/wakapi/models/filters.go:37.8,37.29 1 1 -github.com/muety/wakapi/models/filters.go:37.29,39.3 1 1 -github.com/muety/wakapi/models/filters.go:39.8,39.27 1 1 -github.com/muety/wakapi/models/filters.go:39.27,41.3 1 0 -github.com/muety/wakapi/models/filters.go:41.8,41.28 1 1 -github.com/muety/wakapi/models/filters.go:41.28,43.3 1 0 github.com/muety/wakapi/models/heartbeats.go:7.31,9.2 1 0 github.com/muety/wakapi/models/heartbeats.go:11.41,13.2 1 0 github.com/muety/wakapi/models/heartbeats.go:15.36,17.2 1 0 @@ -94,6 +9,11 @@ github.com/muety/wakapi/models/heartbeats.go:26.18,28.3 1 0 github.com/muety/wakapi/models/heartbeats.go:32.40,34.18 1 0 github.com/muety/wakapi/models/heartbeats.go:37.2,37.24 1 0 github.com/muety/wakapi/models/heartbeats.go:34.18,36.3 1 0 +github.com/muety/wakapi/models/mail.go:19.44,23.2 3 0 +github.com/muety/wakapi/models/mail.go:25.44,29.2 3 0 +github.com/muety/wakapi/models/mail.go:31.32,44.2 1 0 +github.com/muety/wakapi/models/mail.go:46.41,48.2 1 0 +github.com/muety/wakapi/models/models.go:3.14,5.2 0 1 github.com/muety/wakapi/models/summary.go:70.29,72.2 1 1 github.com/muety/wakapi/models/summary.go:74.37,81.2 6 1 github.com/muety/wakapi/models/summary.go:83.35,85.2 1 1 @@ -160,11 +80,86 @@ github.com/muety/wakapi/models/user.go:115.45,117.2 1 0 github.com/muety/wakapi/models/user.go:119.45,121.2 1 0 github.com/muety/wakapi/models/user.go:123.39,125.2 1 0 github.com/muety/wakapi/models/user.go:127.39,130.2 2 0 -github.com/muety/wakapi/config/utils.go:5.78,7.22 2 0 -github.com/muety/wakapi/config/utils.go:13.2,13.11 1 0 -github.com/muety/wakapi/config/utils.go:7.22,8.18 1 0 -github.com/muety/wakapi/config/utils.go:11.3,11.12 1 0 -github.com/muety/wakapi/config/utils.go:8.18,10.4 1 0 +github.com/muety/wakapi/models/heartbeat.go:32.34,34.2 1 1 +github.com/muety/wakapi/models/heartbeat.go:36.65,38.46 2 1 +github.com/muety/wakapi/models/heartbeat.go:38.46,39.108 1 1 +github.com/muety/wakapi/models/heartbeat.go:39.108,42.4 2 1 +github.com/muety/wakapi/models/heartbeat.go:46.50,47.11 1 1 +github.com/muety/wakapi/models/heartbeat.go:60.2,60.15 1 1 +github.com/muety/wakapi/models/heartbeat.go:64.2,64.12 1 1 +github.com/muety/wakapi/models/heartbeat.go:48.22,49.18 1 1 +github.com/muety/wakapi/models/heartbeat.go:50.21,51.17 1 1 +github.com/muety/wakapi/models/heartbeat.go:52.23,53.19 1 1 +github.com/muety/wakapi/models/heartbeat.go:54.17,55.26 1 1 +github.com/muety/wakapi/models/heartbeat.go:56.22,57.18 1 1 +github.com/muety/wakapi/models/heartbeat.go:60.15,62.3 1 1 +github.com/muety/wakapi/models/heartbeat.go:67.37,83.2 1 0 +github.com/muety/wakapi/models/heartbeat.go:91.41,93.16 2 0 +github.com/muety/wakapi/models/heartbeat.go:96.2,97.10 2 0 +github.com/muety/wakapi/models/heartbeat.go:93.16,95.3 1 0 +github.com/muety/wakapi/models/filters.go:16.56,17.16 1 0 +github.com/muety/wakapi/models/filters.go:29.2,29.19 1 0 +github.com/muety/wakapi/models/filters.go:18.22,19.32 1 0 +github.com/muety/wakapi/models/filters.go:20.17,21.27 1 0 +github.com/muety/wakapi/models/filters.go:22.23,23.33 1 0 +github.com/muety/wakapi/models/filters.go:24.21,25.31 1 0 +github.com/muety/wakapi/models/filters.go:26.22,27.32 1 0 +github.com/muety/wakapi/models/filters.go:32.47,33.21 1 1 +github.com/muety/wakapi/models/filters.go:44.2,44.21 1 1 +github.com/muety/wakapi/models/filters.go:33.21,35.3 1 1 +github.com/muety/wakapi/models/filters.go:35.8,35.23 1 1 +github.com/muety/wakapi/models/filters.go:35.23,37.3 1 0 +github.com/muety/wakapi/models/filters.go:37.8,37.29 1 1 +github.com/muety/wakapi/models/filters.go:37.29,39.3 1 1 +github.com/muety/wakapi/models/filters.go:39.8,39.27 1 1 +github.com/muety/wakapi/models/filters.go:39.27,41.3 1 0 +github.com/muety/wakapi/models/filters.go:41.8,41.28 1 1 +github.com/muety/wakapi/models/filters.go:41.28,43.3 1 0 +github.com/muety/wakapi/models/interval.go:39.47,40.23 1 0 +github.com/muety/wakapi/models/interval.go:45.2,45.14 1 0 +github.com/muety/wakapi/models/interval.go:40.23,41.13 1 0 +github.com/muety/wakapi/models/interval.go:41.13,43.4 1 0 +github.com/muety/wakapi/models/language_mapping.go:11.42,13.2 1 0 +github.com/muety/wakapi/models/language_mapping.go:15.51,17.2 1 0 +github.com/muety/wakapi/models/language_mapping.go:19.52,21.2 1 0 +github.com/muety/wakapi/models/mail_address.go:15.13,18.2 2 1 +github.com/muety/wakapi/models/mail_address.go:24.38,26.2 1 0 +github.com/muety/wakapi/models/mail_address.go:28.35,30.21 2 1 +github.com/muety/wakapi/models/mail_address.go:36.2,36.11 1 1 +github.com/muety/wakapi/models/mail_address.go:30.21,31.21 1 1 +github.com/muety/wakapi/models/mail_address.go:34.3,34.18 1 1 +github.com/muety/wakapi/models/mail_address.go:31.21,33.4 1 1 +github.com/muety/wakapi/models/mail_address.go:39.35,41.2 1 1 +github.com/muety/wakapi/models/mail_address.go:43.43,45.22 2 0 +github.com/muety/wakapi/models/mail_address.go:48.2,48.12 1 0 +github.com/muety/wakapi/models/mail_address.go:45.22,47.3 1 0 +github.com/muety/wakapi/models/mail_address.go:51.46,53.22 2 1 +github.com/muety/wakapi/models/mail_address.go:56.2,56.12 1 1 +github.com/muety/wakapi/models/mail_address.go:53.22,55.3 1 1 +github.com/muety/wakapi/models/mail_address.go:59.40,60.22 1 1 +github.com/muety/wakapi/models/mail_address.go:65.2,65.13 1 1 +github.com/muety/wakapi/models/mail_address.go:60.22,61.17 1 1 +github.com/muety/wakapi/models/mail_address.go:61.17,63.4 1 1 +github.com/muety/wakapi/models/shared.go:35.52,37.2 1 0 +github.com/muety/wakapi/models/shared.go:39.52,42.16 3 0 +github.com/muety/wakapi/models/shared.go:45.2,47.12 3 0 +github.com/muety/wakapi/models/shared.go:42.16,44.3 1 0 +github.com/muety/wakapi/models/shared.go:50.52,56.22 2 0 +github.com/muety/wakapi/models/shared.go:71.2,74.12 3 0 +github.com/muety/wakapi/models/shared.go:57.14,61.17 2 0 +github.com/muety/wakapi/models/shared.go:64.17,66.8 2 0 +github.com/muety/wakapi/models/shared.go:67.10,68.64 1 0 +github.com/muety/wakapi/models/shared.go:61.17,63.4 1 0 +github.com/muety/wakapi/models/shared.go:77.51,80.2 2 0 +github.com/muety/wakapi/models/shared.go:82.45,84.2 1 0 +github.com/muety/wakapi/models/shared.go:86.37,88.2 1 0 +github.com/muety/wakapi/models/shared.go:90.35,92.2 1 0 +github.com/muety/wakapi/models/shared.go:94.34,96.2 1 0 +github.com/muety/wakapi/models/alias.go:12.32,14.2 1 0 +github.com/muety/wakapi/models/alias.go:16.37,17.35 1 0 +github.com/muety/wakapi/models/alias.go:22.2,22.14 1 0 +github.com/muety/wakapi/models/alias.go:17.35,18.18 1 0 +github.com/muety/wakapi/models/alias.go:18.18,20.4 1 0 github.com/muety/wakapi/config/config.go:147.70,149.2 1 0 github.com/muety/wakapi/config/config.go:151.65,153.2 1 0 github.com/muety/wakapi/config/config.go:155.82,165.2 1 0 @@ -290,6 +285,146 @@ github.com/muety/wakapi/config/sentry.go:142.17,144.3 1 0 github.com/muety/wakapi/config/sentry.go:147.49,151.51 2 0 github.com/muety/wakapi/config/sentry.go:154.2,154.12 1 0 github.com/muety/wakapi/config/sentry.go:151.51,153.3 1 0 +github.com/muety/wakapi/config/utils.go:5.78,7.22 2 0 +github.com/muety/wakapi/config/utils.go:13.2,13.11 1 0 +github.com/muety/wakapi/config/utils.go:7.22,8.18 1 0 +github.com/muety/wakapi/config/utils.go:11.3,11.12 1 0 +github.com/muety/wakapi/config/utils.go:8.18,10.4 1 0 +github.com/muety/wakapi/utils/auth.go:16.79,18.54 2 0 +github.com/muety/wakapi/utils/auth.go:22.2,24.16 3 0 +github.com/muety/wakapi/utils/auth.go:28.2,30.45 3 0 +github.com/muety/wakapi/utils/auth.go:33.2,34.32 2 0 +github.com/muety/wakapi/utils/auth.go:18.54,20.3 1 0 +github.com/muety/wakapi/utils/auth.go:24.16,26.3 1 0 +github.com/muety/wakapi/utils/auth.go:30.45,32.3 1 0 +github.com/muety/wakapi/utils/auth.go:37.65,39.85 2 0 +github.com/muety/wakapi/utils/auth.go:43.2,44.30 2 0 +github.com/muety/wakapi/utils/auth.go:39.85,41.3 1 0 +github.com/muety/wakapi/utils/auth.go:47.94,49.16 2 0 +github.com/muety/wakapi/utils/auth.go:53.2,53.107 1 0 +github.com/muety/wakapi/utils/auth.go:57.2,57.22 1 0 +github.com/muety/wakapi/utils/auth.go:49.16,51.3 1 0 +github.com/muety/wakapi/utils/auth.go:53.107,55.3 1 0 +github.com/muety/wakapi/utils/auth.go:60.56,64.2 3 0 +github.com/muety/wakapi/utils/auth.go:66.55,69.16 3 0 +github.com/muety/wakapi/utils/auth.go:72.2,72.16 1 0 +github.com/muety/wakapi/utils/auth.go:69.16,71.3 1 0 +github.com/muety/wakapi/utils/color.go:8.90,10.32 2 0 +github.com/muety/wakapi/utils/color.go:15.2,15.15 1 0 +github.com/muety/wakapi/utils/color.go:10.32,11.50 1 0 +github.com/muety/wakapi/utils/color.go:11.50,13.4 1 0 +github.com/muety/wakapi/utils/date.go:8.43,10.2 1 1 +github.com/muety/wakapi/utils/date.go:12.48,14.2 1 0 +github.com/muety/wakapi/utils/date.go:16.41,18.21 2 1 +github.com/muety/wakapi/utils/date.go:21.2,21.23 1 1 +github.com/muety/wakapi/utils/date.go:18.21,20.3 1 0 +github.com/muety/wakapi/utils/date.go:24.46,26.2 1 0 +github.com/muety/wakapi/utils/date.go:28.51,30.2 1 0 +github.com/muety/wakapi/utils/date.go:32.44,35.2 2 1 +github.com/muety/wakapi/utils/date.go:37.52,39.2 1 0 +github.com/muety/wakapi/utils/date.go:41.45,43.2 1 0 +github.com/muety/wakapi/utils/date.go:45.51,47.2 1 0 +github.com/muety/wakapi/utils/date.go:49.44,51.2 1 0 +github.com/muety/wakapi/utils/date.go:54.42,56.2 1 1 +github.com/muety/wakapi/utils/date.go:59.41,61.21 2 1 +github.com/muety/wakapi/utils/date.go:64.2,64.36 1 1 +github.com/muety/wakapi/utils/date.go:61.21,63.3 1 1 +github.com/muety/wakapi/utils/date.go:68.63,70.2 1 0 +github.com/muety/wakapi/utils/date.go:73.62,79.2 5 0 +github.com/muety/wakapi/utils/date.go:82.67,85.33 2 1 +github.com/muety/wakapi/utils/date.go:94.2,94.18 1 1 +github.com/muety/wakapi/utils/date.go:85.33,87.19 2 1 +github.com/muety/wakapi/utils/date.go:90.3,91.10 2 1 +github.com/muety/wakapi/utils/date.go:87.19,89.4 1 1 +github.com/muety/wakapi/utils/date.go:97.50,103.2 5 0 +github.com/muety/wakapi/utils/date.go:106.79,109.36 3 1 +github.com/muety/wakapi/utils/date.go:113.2,113.21 1 1 +github.com/muety/wakapi/utils/date.go:117.2,117.21 1 1 +github.com/muety/wakapi/utils/date.go:121.2,121.13 1 1 +github.com/muety/wakapi/utils/date.go:109.36,112.3 2 0 +github.com/muety/wakapi/utils/date.go:113.21,116.3 2 1 +github.com/muety/wakapi/utils/date.go:117.21,120.3 2 1 +github.com/muety/wakapi/utils/filesystem.go:14.68,16.16 2 0 +github.com/muety/wakapi/utils/filesystem.go:20.2,21.15 2 0 +github.com/muety/wakapi/utils/filesystem.go:33.2,33.15 1 0 +github.com/muety/wakapi/utils/filesystem.go:16.16,18.3 1 0 +github.com/muety/wakapi/utils/filesystem.go:21.15,23.47 2 0 +github.com/muety/wakapi/utils/filesystem.go:23.47,25.23 2 0 +github.com/muety/wakapi/utils/filesystem.go:29.4,29.19 1 0 +github.com/muety/wakapi/utils/filesystem.go:25.23,27.5 1 0 +github.com/muety/wakapi/utils/set.go:3.51,5.26 2 0 +github.com/muety/wakapi/utils/set.go:8.2,8.12 1 0 +github.com/muety/wakapi/utils/set.go:5.26,7.3 1 0 +github.com/muety/wakapi/utils/set.go:11.49,13.21 2 0 +github.com/muety/wakapi/utils/set.go:16.2,16.14 1 0 +github.com/muety/wakapi/utils/set.go:13.21,15.3 1 0 +github.com/muety/wakapi/utils/common.go:18.73,19.58 1 0 +github.com/muety/wakapi/utils/common.go:22.2,22.87 1 0 +github.com/muety/wakapi/utils/common.go:25.2,25.64 1 0 +github.com/muety/wakapi/utils/common.go:19.58,21.3 1 0 +github.com/muety/wakapi/utils/common.go:22.87,24.3 1 0 +github.com/muety/wakapi/utils/common.go:28.40,30.2 1 0 +github.com/muety/wakapi/utils/common.go:32.44,34.2 1 0 +github.com/muety/wakapi/utils/common.go:36.49,38.2 1 0 +github.com/muety/wakapi/utils/common.go:40.45,42.2 1 0 +github.com/muety/wakapi/utils/common.go:44.24,46.2 1 0 +github.com/muety/wakapi/utils/common.go:48.56,51.45 3 1 +github.com/muety/wakapi/utils/common.go:54.2,54.40 1 1 +github.com/muety/wakapi/utils/common.go:51.45,53.3 1 1 +github.com/muety/wakapi/utils/http.go:9.90,12.58 3 0 +github.com/muety/wakapi/utils/http.go:12.58,14.3 1 0 +github.com/muety/wakapi/utils/strings.go:8.34,10.2 1 0 +github.com/muety/wakapi/utils/strings.go:12.77,13.29 1 0 +github.com/muety/wakapi/utils/strings.go:18.2,18.19 1 0 +github.com/muety/wakapi/utils/strings.go:13.29,14.18 1 0 +github.com/muety/wakapi/utils/strings.go:14.18,16.4 1 0 +github.com/muety/wakapi/utils/summary.go:10.66,11.40 1 0 +github.com/muety/wakapi/utils/summary.go:16.2,16.48 1 0 +github.com/muety/wakapi/utils/summary.go:11.40,12.27 1 0 +github.com/muety/wakapi/utils/summary.go:12.27,14.4 1 0 +github.com/muety/wakapi/utils/summary.go:19.88,22.2 2 0 +github.com/muety/wakapi/utils/summary.go:24.95,26.16 2 0 +github.com/muety/wakapi/utils/summary.go:29.2,29.38 1 0 +github.com/muety/wakapi/utils/summary.go:26.16,28.3 1 0 +github.com/muety/wakapi/utils/summary.go:32.105,36.18 3 0 +github.com/muety/wakapi/utils/summary.go:71.2,71.22 1 0 +github.com/muety/wakapi/utils/summary.go:37.28,38.26 1 0 +github.com/muety/wakapi/utils/summary.go:39.32,41.24 2 0 +github.com/muety/wakapi/utils/summary.go:42.31,43.29 1 0 +github.com/muety/wakapi/utils/summary.go:44.31,46.27 2 0 +github.com/muety/wakapi/utils/summary.go:47.32,48.30 1 0 +github.com/muety/wakapi/utils/summary.go:49.32,51.28 2 0 +github.com/muety/wakapi/utils/summary.go:52.31,53.29 1 0 +github.com/muety/wakapi/utils/summary.go:54.32,55.31 1 0 +github.com/muety/wakapi/utils/summary.go:56.41,58.42 2 0 +github.com/muety/wakapi/utils/summary.go:59.33,60.32 1 0 +github.com/muety/wakapi/utils/summary.go:61.33,62.32 1 0 +github.com/muety/wakapi/utils/summary.go:63.35,64.32 1 0 +github.com/muety/wakapi/utils/summary.go:65.26,66.21 1 0 +github.com/muety/wakapi/utils/summary.go:67.10,68.39 1 0 +github.com/muety/wakapi/utils/summary.go:74.73,81.56 5 0 +github.com/muety/wakapi/utils/summary.go:97.2,104.8 2 0 +github.com/muety/wakapi/utils/summary.go:81.56,83.3 1 0 +github.com/muety/wakapi/utils/summary.go:83.8,83.54 1 0 +github.com/muety/wakapi/utils/summary.go:83.54,85.3 1 0 +github.com/muety/wakapi/utils/summary.go:85.8,87.17 2 0 +github.com/muety/wakapi/utils/summary.go:91.3,92.17 2 0 +github.com/muety/wakapi/utils/summary.go:87.17,89.4 1 0 +github.com/muety/wakapi/utils/summary.go:92.17,94.4 1 0 +github.com/muety/wakapi/utils/summary.go:107.48,111.51 2 0 +github.com/muety/wakapi/utils/summary.go:114.2,114.12 1 0 +github.com/muety/wakapi/utils/summary.go:111.51,113.3 1 0 +github.com/muety/wakapi/utils/template.go:8.41,10.16 2 0 +github.com/muety/wakapi/utils/template.go:13.2,13.23 1 0 +github.com/muety/wakapi/utils/template.go:10.16,12.3 1 0 +github.com/muety/wakapi/utils/template.go:16.37,17.30 1 0 +github.com/muety/wakapi/utils/template.go:20.2,20.10 1 0 +github.com/muety/wakapi/utils/template.go:17.30,19.3 1 0 +github.com/muety/wakapi/middlewares/sentry.go:15.60,16.43 1 0 +github.com/muety/wakapi/middlewares/sentry.go:16.43,20.3 1 0 +github.com/muety/wakapi/middlewares/sentry.go:23.78,26.54 3 0 +github.com/muety/wakapi/middlewares/sentry.go:26.54,27.43 1 0 +github.com/muety/wakapi/middlewares/sentry.go:27.43,29.4 1 0 github.com/muety/wakapi/middlewares/authenticate.go:19.91,25.2 1 1 github.com/muety/wakapi/middlewares/authenticate.go:27.90,30.2 2 0 github.com/muety/wakapi/middlewares/authenticate.go:32.90,35.2 2 0 @@ -368,183 +503,6 @@ github.com/muety/wakapi/middlewares/security.go:25.80,26.36 1 0 github.com/muety/wakapi/middlewares/security.go:31.2,31.27 1 0 github.com/muety/wakapi/middlewares/security.go:26.36,27.30 1 0 github.com/muety/wakapi/middlewares/security.go:27.30,29.4 1 0 -github.com/muety/wakapi/middlewares/sentry.go:15.60,16.43 1 0 -github.com/muety/wakapi/middlewares/sentry.go:16.43,20.3 1 0 -github.com/muety/wakapi/middlewares/sentry.go:23.78,26.54 3 0 -github.com/muety/wakapi/middlewares/sentry.go:26.54,27.43 1 0 -github.com/muety/wakapi/middlewares/sentry.go:27.43,29.4 1 0 -github.com/muety/wakapi/utils/color.go:8.90,10.32 2 0 -github.com/muety/wakapi/utils/color.go:15.2,15.15 1 0 -github.com/muety/wakapi/utils/color.go:10.32,11.50 1 0 -github.com/muety/wakapi/utils/color.go:11.50,13.4 1 0 -github.com/muety/wakapi/utils/common.go:18.73,19.58 1 0 -github.com/muety/wakapi/utils/common.go:22.2,22.87 1 0 -github.com/muety/wakapi/utils/common.go:25.2,25.64 1 0 -github.com/muety/wakapi/utils/common.go:19.58,21.3 1 0 -github.com/muety/wakapi/utils/common.go:22.87,24.3 1 0 -github.com/muety/wakapi/utils/common.go:28.40,30.2 1 0 -github.com/muety/wakapi/utils/common.go:32.44,34.2 1 0 -github.com/muety/wakapi/utils/common.go:36.49,38.2 1 0 -github.com/muety/wakapi/utils/common.go:40.45,42.2 1 0 -github.com/muety/wakapi/utils/common.go:44.24,46.2 1 0 -github.com/muety/wakapi/utils/common.go:48.56,51.45 3 1 -github.com/muety/wakapi/utils/common.go:54.2,54.40 1 1 -github.com/muety/wakapi/utils/common.go:51.45,53.3 1 1 -github.com/muety/wakapi/utils/date.go:8.43,10.2 1 1 -github.com/muety/wakapi/utils/date.go:12.48,14.2 1 0 -github.com/muety/wakapi/utils/date.go:16.41,18.21 2 1 -github.com/muety/wakapi/utils/date.go:21.2,21.23 1 1 -github.com/muety/wakapi/utils/date.go:18.21,20.3 1 0 -github.com/muety/wakapi/utils/date.go:24.46,26.2 1 0 -github.com/muety/wakapi/utils/date.go:28.51,30.2 1 0 -github.com/muety/wakapi/utils/date.go:32.44,35.2 2 1 -github.com/muety/wakapi/utils/date.go:37.52,39.2 1 0 -github.com/muety/wakapi/utils/date.go:41.45,43.2 1 0 -github.com/muety/wakapi/utils/date.go:45.51,47.2 1 0 -github.com/muety/wakapi/utils/date.go:49.44,51.2 1 0 -github.com/muety/wakapi/utils/date.go:54.42,56.2 1 1 -github.com/muety/wakapi/utils/date.go:59.41,61.21 2 1 -github.com/muety/wakapi/utils/date.go:64.2,64.36 1 1 -github.com/muety/wakapi/utils/date.go:61.21,63.3 1 1 -github.com/muety/wakapi/utils/date.go:68.63,70.2 1 0 -github.com/muety/wakapi/utils/date.go:73.62,79.2 5 0 -github.com/muety/wakapi/utils/date.go:82.67,85.33 2 1 -github.com/muety/wakapi/utils/date.go:94.2,94.18 1 1 -github.com/muety/wakapi/utils/date.go:85.33,87.19 2 1 -github.com/muety/wakapi/utils/date.go:90.3,91.10 2 1 -github.com/muety/wakapi/utils/date.go:87.19,89.4 1 1 -github.com/muety/wakapi/utils/date.go:97.50,103.2 5 0 -github.com/muety/wakapi/utils/date.go:106.79,109.36 3 1 -github.com/muety/wakapi/utils/date.go:113.2,113.21 1 1 -github.com/muety/wakapi/utils/date.go:117.2,117.21 1 1 -github.com/muety/wakapi/utils/date.go:121.2,121.13 1 1 -github.com/muety/wakapi/utils/date.go:109.36,112.3 2 0 -github.com/muety/wakapi/utils/date.go:113.21,116.3 2 1 -github.com/muety/wakapi/utils/date.go:117.21,120.3 2 1 -github.com/muety/wakapi/utils/http.go:9.90,12.58 3 0 -github.com/muety/wakapi/utils/http.go:12.58,14.3 1 0 -github.com/muety/wakapi/utils/set.go:3.51,5.26 2 0 -github.com/muety/wakapi/utils/set.go:8.2,8.12 1 0 -github.com/muety/wakapi/utils/set.go:5.26,7.3 1 0 -github.com/muety/wakapi/utils/set.go:11.49,13.21 2 0 -github.com/muety/wakapi/utils/set.go:16.2,16.14 1 0 -github.com/muety/wakapi/utils/set.go:13.21,15.3 1 0 -github.com/muety/wakapi/utils/summary.go:10.66,11.40 1 0 -github.com/muety/wakapi/utils/summary.go:16.2,16.48 1 0 -github.com/muety/wakapi/utils/summary.go:11.40,12.27 1 0 -github.com/muety/wakapi/utils/summary.go:12.27,14.4 1 0 -github.com/muety/wakapi/utils/summary.go:19.88,22.2 2 0 -github.com/muety/wakapi/utils/summary.go:24.95,26.16 2 0 -github.com/muety/wakapi/utils/summary.go:29.2,29.38 1 0 -github.com/muety/wakapi/utils/summary.go:26.16,28.3 1 0 -github.com/muety/wakapi/utils/summary.go:32.105,35.18 2 0 -github.com/muety/wakapi/utils/summary.go:70.2,70.22 1 0 -github.com/muety/wakapi/utils/summary.go:36.28,37.26 1 0 -github.com/muety/wakapi/utils/summary.go:38.32,40.24 2 0 -github.com/muety/wakapi/utils/summary.go:41.31,42.29 1 0 -github.com/muety/wakapi/utils/summary.go:43.31,45.27 2 0 -github.com/muety/wakapi/utils/summary.go:46.32,47.30 1 0 -github.com/muety/wakapi/utils/summary.go:48.32,50.28 2 0 -github.com/muety/wakapi/utils/summary.go:51.31,52.29 1 0 -github.com/muety/wakapi/utils/summary.go:53.32,54.44 1 0 -github.com/muety/wakapi/utils/summary.go:55.41,57.42 2 0 -github.com/muety/wakapi/utils/summary.go:58.33,59.45 1 0 -github.com/muety/wakapi/utils/summary.go:60.33,61.45 1 0 -github.com/muety/wakapi/utils/summary.go:62.35,63.45 1 0 -github.com/muety/wakapi/utils/summary.go:64.26,65.21 1 0 -github.com/muety/wakapi/utils/summary.go:66.10,67.39 1 0 -github.com/muety/wakapi/utils/summary.go:73.73,80.56 5 0 -github.com/muety/wakapi/utils/summary.go:96.2,103.8 2 0 -github.com/muety/wakapi/utils/summary.go:80.56,82.3 1 0 -github.com/muety/wakapi/utils/summary.go:82.8,82.54 1 0 -github.com/muety/wakapi/utils/summary.go:82.54,84.3 1 0 -github.com/muety/wakapi/utils/summary.go:84.8,86.17 2 0 -github.com/muety/wakapi/utils/summary.go:90.3,91.17 2 0 -github.com/muety/wakapi/utils/summary.go:86.17,88.4 1 0 -github.com/muety/wakapi/utils/summary.go:91.17,93.4 1 0 -github.com/muety/wakapi/utils/summary.go:106.48,110.51 2 0 -github.com/muety/wakapi/utils/summary.go:113.2,113.12 1 0 -github.com/muety/wakapi/utils/summary.go:110.51,112.3 1 0 -github.com/muety/wakapi/utils/auth.go:16.79,18.54 2 0 -github.com/muety/wakapi/utils/auth.go:22.2,24.16 3 0 -github.com/muety/wakapi/utils/auth.go:28.2,30.45 3 0 -github.com/muety/wakapi/utils/auth.go:33.2,34.32 2 0 -github.com/muety/wakapi/utils/auth.go:18.54,20.3 1 0 -github.com/muety/wakapi/utils/auth.go:24.16,26.3 1 0 -github.com/muety/wakapi/utils/auth.go:30.45,32.3 1 0 -github.com/muety/wakapi/utils/auth.go:37.65,39.85 2 0 -github.com/muety/wakapi/utils/auth.go:43.2,44.30 2 0 -github.com/muety/wakapi/utils/auth.go:39.85,41.3 1 0 -github.com/muety/wakapi/utils/auth.go:47.94,49.16 2 0 -github.com/muety/wakapi/utils/auth.go:53.2,53.107 1 0 -github.com/muety/wakapi/utils/auth.go:57.2,57.22 1 0 -github.com/muety/wakapi/utils/auth.go:49.16,51.3 1 0 -github.com/muety/wakapi/utils/auth.go:53.107,55.3 1 0 -github.com/muety/wakapi/utils/auth.go:60.56,64.2 3 0 -github.com/muety/wakapi/utils/auth.go:66.55,69.16 3 0 -github.com/muety/wakapi/utils/auth.go:72.2,72.16 1 0 -github.com/muety/wakapi/utils/auth.go:69.16,71.3 1 0 -github.com/muety/wakapi/utils/filesystem.go:14.68,16.16 2 0 -github.com/muety/wakapi/utils/filesystem.go:20.2,21.15 2 0 -github.com/muety/wakapi/utils/filesystem.go:33.2,33.15 1 0 -github.com/muety/wakapi/utils/filesystem.go:16.16,18.3 1 0 -github.com/muety/wakapi/utils/filesystem.go:21.15,23.47 2 0 -github.com/muety/wakapi/utils/filesystem.go:23.47,25.23 2 0 -github.com/muety/wakapi/utils/filesystem.go:29.4,29.19 1 0 -github.com/muety/wakapi/utils/filesystem.go:25.23,27.5 1 0 -github.com/muety/wakapi/utils/strings.go:8.34,10.2 1 0 -github.com/muety/wakapi/utils/strings.go:12.77,13.29 1 0 -github.com/muety/wakapi/utils/strings.go:18.2,18.19 1 0 -github.com/muety/wakapi/utils/strings.go:13.29,14.18 1 0 -github.com/muety/wakapi/utils/strings.go:14.18,16.4 1 0 -github.com/muety/wakapi/utils/template.go:8.41,10.16 2 0 -github.com/muety/wakapi/utils/template.go:13.2,13.23 1 0 -github.com/muety/wakapi/utils/template.go:10.16,12.3 1 0 -github.com/muety/wakapi/utils/template.go:16.37,17.30 1 0 -github.com/muety/wakapi/utils/template.go:20.2,20.10 1 0 -github.com/muety/wakapi/utils/template.go:17.30,19.3 1 0 -github.com/muety/wakapi/services/alias.go:17.77,22.2 1 1 -github.com/muety/wakapi/services/alias.go:26.60,27.43 1 1 -github.com/muety/wakapi/services/alias.go:30.2,30.14 1 1 -github.com/muety/wakapi/services/alias.go:27.43,29.3 1 1 -github.com/muety/wakapi/services/alias.go:33.62,35.16 2 1 -github.com/muety/wakapi/services/alias.go:38.2,38.12 1 1 -github.com/muety/wakapi/services/alias.go:35.16,37.3 1 1 -github.com/muety/wakapi/services/alias.go:41.76,43.16 2 0 -github.com/muety/wakapi/services/alias.go:46.2,46.21 1 0 -github.com/muety/wakapi/services/alias.go:43.16,45.3 1 0 -github.com/muety/wakapi/services/alias.go:49.113,51.16 2 0 -github.com/muety/wakapi/services/alias.go:54.2,54.21 1 0 -github.com/muety/wakapi/services/alias.go:51.16,53.3 1 0 -github.com/muety/wakapi/services/alias.go:57.108,58.32 1 1 -github.com/muety/wakapi/services/alias.go:64.2,65.46 2 1 -github.com/muety/wakapi/services/alias.go:70.2,70.19 1 1 -github.com/muety/wakapi/services/alias.go:58.32,59.52 1 1 -github.com/muety/wakapi/services/alias.go:59.52,61.4 1 1 -github.com/muety/wakapi/services/alias.go:65.46,66.48 1 1 -github.com/muety/wakapi/services/alias.go:66.48,68.4 1 1 -github.com/muety/wakapi/services/alias.go:73.77,75.16 2 0 -github.com/muety/wakapi/services/alias.go:78.2,79.20 2 0 -github.com/muety/wakapi/services/alias.go:75.16,77.3 1 0 -github.com/muety/wakapi/services/alias.go:82.60,83.24 1 0 -github.com/muety/wakapi/services/alias.go:86.2,88.12 3 0 -github.com/muety/wakapi/services/alias.go:83.24,85.3 1 0 -github.com/muety/wakapi/services/alias.go:91.69,94.28 3 0 -github.com/muety/wakapi/services/alias.go:102.2,104.31 2 0 -github.com/muety/wakapi/services/alias.go:108.2,108.12 1 0 -github.com/muety/wakapi/services/alias.go:94.28,95.21 1 0 -github.com/muety/wakapi/services/alias.go:98.3,99.16 2 0 -github.com/muety/wakapi/services/alias.go:95.21,97.4 1 0 -github.com/muety/wakapi/services/alias.go:104.31,106.3 1 0 -github.com/muety/wakapi/services/alias.go:111.52,112.51 1 0 -github.com/muety/wakapi/services/alias.go:112.51,114.3 1 0 -github.com/muety/wakapi/services/key_value.go:14.89,19.2 1 0 -github.com/muety/wakapi/services/key_value.go:21.83,23.2 1 0 -github.com/muety/wakapi/services/key_value.go:25.78,27.16 2 0 -github.com/muety/wakapi/services/key_value.go:33.2,33.11 1 0 -github.com/muety/wakapi/services/key_value.go:27.16,32.3 1 0 -github.com/muety/wakapi/services/key_value.go:36.72,38.2 1 0 -github.com/muety/wakapi/services/key_value.go:40.60,42.2 1 0 github.com/muety/wakapi/services/report.go:30.122,44.33 4 0 github.com/muety/wakapi/services/report.go:50.2,50.12 1 0 github.com/muety/wakapi/services/report.go:44.33,45.31 1 0 @@ -573,160 +531,6 @@ github.com/muety/wakapi/services/report.go:140.2,140.12 1 0 github.com/muety/wakapi/services/report.go:133.41,134.30 1 0 github.com/muety/wakapi/services/report.go:134.30,135.16 1 0 github.com/muety/wakapi/services/report.go:135.16,137.5 1 0 -github.com/muety/wakapi/services/user.go:21.73,28.2 1 0 -github.com/muety/wakapi/services/user.go:30.74,31.40 1 0 -github.com/muety/wakapi/services/user.go:35.2,36.16 2 0 -github.com/muety/wakapi/services/user.go:40.2,41.15 2 0 -github.com/muety/wakapi/services/user.go:31.40,33.3 1 0 -github.com/muety/wakapi/services/user.go:36.16,38.3 1 0 -github.com/muety/wakapi/services/user.go:44.72,45.37 1 0 -github.com/muety/wakapi/services/user.go:49.2,50.16 2 0 -github.com/muety/wakapi/services/user.go:54.2,55.15 2 0 -github.com/muety/wakapi/services/user.go:45.37,47.3 1 0 -github.com/muety/wakapi/services/user.go:50.16,52.3 1 0 -github.com/muety/wakapi/services/user.go:58.76,60.2 1 0 -github.com/muety/wakapi/services/user.go:62.86,64.2 1 0 -github.com/muety/wakapi/services/user.go:66.58,68.2 1 0 -github.com/muety/wakapi/services/user.go:70.86,72.2 1 0 -github.com/muety/wakapi/services/user.go:74.61,77.2 2 0 -github.com/muety/wakapi/services/user.go:79.48,81.2 1 0 -github.com/muety/wakapi/services/user.go:83.102,93.93 2 0 -github.com/muety/wakapi/services/user.go:99.2,99.38 1 0 -github.com/muety/wakapi/services/user.go:93.93,95.3 1 0 -github.com/muety/wakapi/services/user.go:95.8,97.3 1 0 -github.com/muety/wakapi/services/user.go:102.73,106.2 3 0 -github.com/muety/wakapi/services/user.go:108.78,112.2 3 0 -github.com/muety/wakapi/services/user.go:114.99,117.2 2 0 -github.com/muety/wakapi/services/user.go:119.106,122.96 3 0 -github.com/muety/wakapi/services/user.go:127.2,127.68 1 0 -github.com/muety/wakapi/services/user.go:122.96,124.3 1 0 -github.com/muety/wakapi/services/user.go:124.8,126.3 1 0 -github.com/muety/wakapi/services/user.go:130.85,132.2 1 0 -github.com/muety/wakapi/services/user.go:134.57,141.2 4 0 -github.com/muety/wakapi/services/user.go:143.38,145.2 1 0 -github.com/muety/wakapi/services/user.go:147.57,152.2 1 0 -github.com/muety/wakapi/services/aggregation.go:29.142,37.2 1 0 -github.com/muety/wakapi/services/aggregation.go:46.43,48.37 1 0 -github.com/muety/wakapi/services/aggregation.go:52.2,54.19 3 0 -github.com/muety/wakapi/services/aggregation.go:48.37,50.3 1 0 -github.com/muety/wakapi/services/aggregation.go:57.67,58.47 1 0 -github.com/muety/wakapi/services/aggregation.go:61.2,66.40 4 0 -github.com/muety/wakapi/services/aggregation.go:70.2,70.50 1 0 -github.com/muety/wakapi/services/aggregation.go:75.2,75.60 1 0 -github.com/muety/wakapi/services/aggregation.go:81.2,81.35 1 0 -github.com/muety/wakapi/services/aggregation.go:58.47,60.3 1 0 -github.com/muety/wakapi/services/aggregation.go:66.40,68.3 1 0 -github.com/muety/wakapi/services/aggregation.go:70.50,72.3 1 0 -github.com/muety/wakapi/services/aggregation.go:75.60,79.3 3 0 -github.com/muety/wakapi/services/aggregation.go:84.109,85.24 1 0 -github.com/muety/wakapi/services/aggregation.go:85.24,86.111 1 0 -github.com/muety/wakapi/services/aggregation.go:86.111,88.4 1 0 -github.com/muety/wakapi/services/aggregation.go:88.9,91.4 2 0 -github.com/muety/wakapi/services/aggregation.go:95.80,96.33 1 0 -github.com/muety/wakapi/services/aggregation.go:96.33,97.60 1 0 -github.com/muety/wakapi/services/aggregation.go:97.60,99.4 1 0 -github.com/muety/wakapi/services/aggregation.go:103.100,107.59 3 0 -github.com/muety/wakapi/services/aggregation.go:122.2,123.16 2 0 -github.com/muety/wakapi/services/aggregation.go:129.2,130.16 2 0 -github.com/muety/wakapi/services/aggregation.go:136.2,137.44 2 0 -github.com/muety/wakapi/services/aggregation.go:142.2,142.41 1 0 -github.com/muety/wakapi/services/aggregation.go:156.2,156.12 1 0 -github.com/muety/wakapi/services/aggregation.go:107.59,110.3 2 0 -github.com/muety/wakapi/services/aggregation.go:110.8,110.47 1 0 -github.com/muety/wakapi/services/aggregation.go:110.47,112.30 2 0 -github.com/muety/wakapi/services/aggregation.go:112.30,113.43 1 0 -github.com/muety/wakapi/services/aggregation.go:113.43,115.5 1 0 -github.com/muety/wakapi/services/aggregation.go:117.8,119.3 1 0 -github.com/muety/wakapi/services/aggregation.go:123.16,126.3 2 0 -github.com/muety/wakapi/services/aggregation.go:130.16,133.3 2 0 -github.com/muety/wakapi/services/aggregation.go:137.44,139.3 1 0 -github.com/muety/wakapi/services/aggregation.go:142.41,143.21 1 0 -github.com/muety/wakapi/services/aggregation.go:143.21,147.4 1 0 -github.com/muety/wakapi/services/aggregation.go:147.9,147.62 1 0 -github.com/muety/wakapi/services/aggregation.go:147.62,151.4 1 0 -github.com/muety/wakapi/services/aggregation.go:159.73,162.27 3 0 -github.com/muety/wakapi/services/aggregation.go:167.2,167.27 1 0 -github.com/muety/wakapi/services/aggregation.go:170.2,170.12 1 0 -github.com/muety/wakapi/services/aggregation.go:162.27,163.39 1 0 -github.com/muety/wakapi/services/aggregation.go:163.39,165.4 1 0 -github.com/muety/wakapi/services/aggregation.go:167.27,169.3 1 0 -github.com/muety/wakapi/services/aggregation.go:173.69,176.27 3 0 -github.com/muety/wakapi/services/aggregation.go:176.27,178.3 1 0 -github.com/muety/wakapi/services/aggregation.go:181.83,196.41 5 0 -github.com/muety/wakapi/services/aggregation.go:196.41,206.3 3 0 -github.com/muety/wakapi/services/aggregation.go:209.34,212.2 2 0 -github.com/muety/wakapi/services/heartbeat.go:21.141,28.2 1 0 -github.com/muety/wakapi/services/heartbeat.go:30.72,33.2 2 0 -github.com/muety/wakapi/services/heartbeat.go:35.80,40.32 3 0 -github.com/muety/wakapi/services/heartbeat.go:48.2,48.55 1 0 -github.com/muety/wakapi/services/heartbeat.go:40.32,41.36 1 0 -github.com/muety/wakapi/services/heartbeat.go:45.3,45.43 1 0 -github.com/muety/wakapi/services/heartbeat.go:41.36,44.4 2 0 -github.com/muety/wakapi/services/heartbeat.go:51.53,53.2 1 0 -github.com/muety/wakapi/services/heartbeat.go:55.76,57.2 1 0 -github.com/muety/wakapi/services/heartbeat.go:59.96,61.2 1 0 -github.com/muety/wakapi/services/heartbeat.go:63.111,65.16 2 0 -github.com/muety/wakapi/services/heartbeat.go:68.2,68.43 1 0 -github.com/muety/wakapi/services/heartbeat.go:65.16,67.3 1 0 -github.com/muety/wakapi/services/heartbeat.go:71.92,73.2 1 0 -github.com/muety/wakapi/services/heartbeat.go:75.116,77.2 1 0 -github.com/muety/wakapi/services/heartbeat.go:79.78,81.2 1 0 -github.com/muety/wakapi/services/heartbeat.go:83.104,85.54 2 0 -github.com/muety/wakapi/services/heartbeat.go:89.2,90.16 2 0 -github.com/muety/wakapi/services/heartbeat.go:93.2,94.21 2 0 -github.com/muety/wakapi/services/heartbeat.go:85.54,87.3 1 0 -github.com/muety/wakapi/services/heartbeat.go:90.16,92.3 1 0 -github.com/muety/wakapi/services/heartbeat.go:97.62,99.2 1 0 -github.com/muety/wakapi/services/heartbeat.go:101.116,103.16 2 0 -github.com/muety/wakapi/services/heartbeat.go:107.2,107.28 1 0 -github.com/muety/wakapi/services/heartbeat.go:111.2,111.24 1 0 -github.com/muety/wakapi/services/heartbeat.go:103.16,105.3 1 0 -github.com/muety/wakapi/services/heartbeat.go:107.28,109.3 1 0 -github.com/muety/wakapi/services/heartbeat.go:114.96,116.2 1 0 -github.com/muety/wakapi/services/heartbeat.go:118.107,120.55 2 0 -github.com/muety/wakapi/services/heartbeat.go:120.55,121.58 1 0 -github.com/muety/wakapi/services/heartbeat.go:121.58,125.4 1 0 -github.com/muety/wakapi/services/heartbeat.go:129.85,135.2 5 0 -github.com/muety/wakapi/services/language_mapping.go:18.118,24.2 1 0 -github.com/muety/wakapi/services/language_mapping.go:26.86,28.2 1 0 -github.com/muety/wakapi/services/language_mapping.go:30.96,31.53 1 0 -github.com/muety/wakapi/services/language_mapping.go:35.2,36.16 2 0 -github.com/muety/wakapi/services/language_mapping.go:39.2,40.22 2 0 -github.com/muety/wakapi/services/language_mapping.go:31.53,33.3 1 0 -github.com/muety/wakapi/services/language_mapping.go:36.16,38.3 1 0 -github.com/muety/wakapi/services/language_mapping.go:43.92,46.16 3 0 -github.com/muety/wakapi/services/language_mapping.go:50.2,50.33 1 0 -github.com/muety/wakapi/services/language_mapping.go:53.2,53.22 1 0 -github.com/muety/wakapi/services/language_mapping.go:46.16,48.3 1 0 -github.com/muety/wakapi/services/language_mapping.go:50.33,52.3 1 0 -github.com/muety/wakapi/services/language_mapping.go:56.109,58.16 2 0 -github.com/muety/wakapi/services/language_mapping.go:62.2,63.20 2 0 -github.com/muety/wakapi/services/language_mapping.go:58.16,60.3 1 0 -github.com/muety/wakapi/services/language_mapping.go:66.82,67.26 1 0 -github.com/muety/wakapi/services/language_mapping.go:70.2,72.12 3 0 -github.com/muety/wakapi/services/language_mapping.go:67.26,69.3 1 0 -github.com/muety/wakapi/services/language_mapping.go:75.74,78.2 1 0 -github.com/muety/wakapi/services/misc.go:21.126,28.2 1 0 -github.com/muety/wakapi/services/misc.go:40.50,42.48 1 0 -github.com/muety/wakapi/services/misc.go:46.2,48.19 3 0 -github.com/muety/wakapi/services/misc.go:42.48,44.3 1 0 -github.com/muety/wakapi/services/misc.go:51.51,53.16 2 0 -github.com/muety/wakapi/services/misc.go:57.2,60.26 3 0 -github.com/muety/wakapi/services/misc.go:66.2,68.40 2 0 -github.com/muety/wakapi/services/misc.go:73.2,75.33 3 0 -github.com/muety/wakapi/services/misc.go:79.2,84.17 2 0 -github.com/muety/wakapi/services/misc.go:88.2,91.17 1 0 -github.com/muety/wakapi/services/misc.go:95.2,95.12 1 0 -github.com/muety/wakapi/services/misc.go:53.16,55.3 1 0 -github.com/muety/wakapi/services/misc.go:60.26,65.3 1 0 -github.com/muety/wakapi/services/misc.go:68.40,70.3 1 0 -github.com/muety/wakapi/services/misc.go:75.33,78.3 2 0 -github.com/muety/wakapi/services/misc.go:84.17,86.3 1 0 -github.com/muety/wakapi/services/misc.go:91.17,93.3 1 0 -github.com/muety/wakapi/services/misc.go:98.116,99.24 1 0 -github.com/muety/wakapi/services/misc.go:99.24,100.151 1 0 -github.com/muety/wakapi/services/misc.go:100.151,102.4 1 0 -github.com/muety/wakapi/services/misc.go:102.9,107.4 1 0 github.com/muety/wakapi/services/summary.go:28.149,36.2 1 1 github.com/muety/wakapi/services/summary.go:40.136,43.66 2 1 github.com/muety/wakapi/services/summary.go:48.2,48.44 1 1 @@ -820,3 +624,199 @@ github.com/muety/wakapi/services/summary.go:344.54,346.3 1 1 github.com/muety/wakapi/services/summary.go:351.59,353.25 2 1 github.com/muety/wakapi/services/summary.go:356.2,356.32 1 1 github.com/muety/wakapi/services/summary.go:353.25,355.3 1 1 +github.com/muety/wakapi/services/user.go:21.73,28.2 1 0 +github.com/muety/wakapi/services/user.go:30.74,31.40 1 0 +github.com/muety/wakapi/services/user.go:35.2,36.16 2 0 +github.com/muety/wakapi/services/user.go:40.2,41.15 2 0 +github.com/muety/wakapi/services/user.go:31.40,33.3 1 0 +github.com/muety/wakapi/services/user.go:36.16,38.3 1 0 +github.com/muety/wakapi/services/user.go:44.72,45.37 1 0 +github.com/muety/wakapi/services/user.go:49.2,50.16 2 0 +github.com/muety/wakapi/services/user.go:54.2,55.15 2 0 +github.com/muety/wakapi/services/user.go:45.37,47.3 1 0 +github.com/muety/wakapi/services/user.go:50.16,52.3 1 0 +github.com/muety/wakapi/services/user.go:58.76,60.2 1 0 +github.com/muety/wakapi/services/user.go:62.86,64.2 1 0 +github.com/muety/wakapi/services/user.go:66.58,68.2 1 0 +github.com/muety/wakapi/services/user.go:70.86,72.2 1 0 +github.com/muety/wakapi/services/user.go:74.61,77.2 2 0 +github.com/muety/wakapi/services/user.go:79.48,81.2 1 0 +github.com/muety/wakapi/services/user.go:83.102,93.93 2 0 +github.com/muety/wakapi/services/user.go:99.2,99.38 1 0 +github.com/muety/wakapi/services/user.go:93.93,95.3 1 0 +github.com/muety/wakapi/services/user.go:95.8,97.3 1 0 +github.com/muety/wakapi/services/user.go:102.73,106.2 3 0 +github.com/muety/wakapi/services/user.go:108.78,112.2 3 0 +github.com/muety/wakapi/services/user.go:114.99,117.2 2 0 +github.com/muety/wakapi/services/user.go:119.106,122.96 3 0 +github.com/muety/wakapi/services/user.go:127.2,127.68 1 0 +github.com/muety/wakapi/services/user.go:122.96,124.3 1 0 +github.com/muety/wakapi/services/user.go:124.8,126.3 1 0 +github.com/muety/wakapi/services/user.go:130.85,132.2 1 0 +github.com/muety/wakapi/services/user.go:134.57,141.2 4 0 +github.com/muety/wakapi/services/user.go:143.38,145.2 1 0 +github.com/muety/wakapi/services/user.go:147.57,152.2 1 0 +github.com/muety/wakapi/services/heartbeat.go:21.141,28.2 1 0 +github.com/muety/wakapi/services/heartbeat.go:30.72,33.2 2 0 +github.com/muety/wakapi/services/heartbeat.go:35.80,40.32 3 0 +github.com/muety/wakapi/services/heartbeat.go:48.2,48.55 1 0 +github.com/muety/wakapi/services/heartbeat.go:40.32,41.36 1 0 +github.com/muety/wakapi/services/heartbeat.go:45.3,45.43 1 0 +github.com/muety/wakapi/services/heartbeat.go:41.36,44.4 2 0 +github.com/muety/wakapi/services/heartbeat.go:51.53,53.2 1 0 +github.com/muety/wakapi/services/heartbeat.go:55.76,57.2 1 0 +github.com/muety/wakapi/services/heartbeat.go:59.96,61.2 1 0 +github.com/muety/wakapi/services/heartbeat.go:63.111,65.16 2 0 +github.com/muety/wakapi/services/heartbeat.go:68.2,68.43 1 0 +github.com/muety/wakapi/services/heartbeat.go:65.16,67.3 1 0 +github.com/muety/wakapi/services/heartbeat.go:71.92,73.2 1 0 +github.com/muety/wakapi/services/heartbeat.go:75.116,77.2 1 0 +github.com/muety/wakapi/services/heartbeat.go:79.78,81.2 1 0 +github.com/muety/wakapi/services/heartbeat.go:83.104,85.54 2 0 +github.com/muety/wakapi/services/heartbeat.go:89.2,90.16 2 0 +github.com/muety/wakapi/services/heartbeat.go:93.2,94.21 2 0 +github.com/muety/wakapi/services/heartbeat.go:85.54,87.3 1 0 +github.com/muety/wakapi/services/heartbeat.go:90.16,92.3 1 0 +github.com/muety/wakapi/services/heartbeat.go:97.62,99.2 1 0 +github.com/muety/wakapi/services/heartbeat.go:101.116,103.16 2 0 +github.com/muety/wakapi/services/heartbeat.go:107.2,107.28 1 0 +github.com/muety/wakapi/services/heartbeat.go:111.2,111.24 1 0 +github.com/muety/wakapi/services/heartbeat.go:103.16,105.3 1 0 +github.com/muety/wakapi/services/heartbeat.go:107.28,109.3 1 0 +github.com/muety/wakapi/services/heartbeat.go:114.96,116.2 1 0 +github.com/muety/wakapi/services/heartbeat.go:118.107,120.55 2 0 +github.com/muety/wakapi/services/heartbeat.go:120.55,121.58 1 0 +github.com/muety/wakapi/services/heartbeat.go:121.58,125.4 1 0 +github.com/muety/wakapi/services/heartbeat.go:129.85,135.2 5 0 +github.com/muety/wakapi/services/language_mapping.go:18.118,24.2 1 0 +github.com/muety/wakapi/services/language_mapping.go:26.86,28.2 1 0 +github.com/muety/wakapi/services/language_mapping.go:30.96,31.53 1 0 +github.com/muety/wakapi/services/language_mapping.go:35.2,36.16 2 0 +github.com/muety/wakapi/services/language_mapping.go:39.2,40.22 2 0 +github.com/muety/wakapi/services/language_mapping.go:31.53,33.3 1 0 +github.com/muety/wakapi/services/language_mapping.go:36.16,38.3 1 0 +github.com/muety/wakapi/services/language_mapping.go:43.92,46.16 3 0 +github.com/muety/wakapi/services/language_mapping.go:50.2,50.33 1 0 +github.com/muety/wakapi/services/language_mapping.go:53.2,53.22 1 0 +github.com/muety/wakapi/services/language_mapping.go:46.16,48.3 1 0 +github.com/muety/wakapi/services/language_mapping.go:50.33,52.3 1 0 +github.com/muety/wakapi/services/language_mapping.go:56.109,58.16 2 0 +github.com/muety/wakapi/services/language_mapping.go:62.2,63.20 2 0 +github.com/muety/wakapi/services/language_mapping.go:58.16,60.3 1 0 +github.com/muety/wakapi/services/language_mapping.go:66.82,67.26 1 0 +github.com/muety/wakapi/services/language_mapping.go:70.2,72.12 3 0 +github.com/muety/wakapi/services/language_mapping.go:67.26,69.3 1 0 +github.com/muety/wakapi/services/language_mapping.go:75.74,78.2 1 0 +github.com/muety/wakapi/services/key_value.go:14.89,19.2 1 0 +github.com/muety/wakapi/services/key_value.go:21.83,23.2 1 0 +github.com/muety/wakapi/services/key_value.go:25.78,27.16 2 0 +github.com/muety/wakapi/services/key_value.go:33.2,33.11 1 0 +github.com/muety/wakapi/services/key_value.go:27.16,32.3 1 0 +github.com/muety/wakapi/services/key_value.go:36.72,38.2 1 0 +github.com/muety/wakapi/services/key_value.go:40.60,42.2 1 0 +github.com/muety/wakapi/services/misc.go:21.126,28.2 1 0 +github.com/muety/wakapi/services/misc.go:40.50,42.48 1 0 +github.com/muety/wakapi/services/misc.go:46.2,48.19 3 0 +github.com/muety/wakapi/services/misc.go:42.48,44.3 1 0 +github.com/muety/wakapi/services/misc.go:51.51,53.16 2 0 +github.com/muety/wakapi/services/misc.go:57.2,60.26 3 0 +github.com/muety/wakapi/services/misc.go:66.2,68.40 2 0 +github.com/muety/wakapi/services/misc.go:73.2,75.33 3 0 +github.com/muety/wakapi/services/misc.go:79.2,84.17 2 0 +github.com/muety/wakapi/services/misc.go:88.2,91.17 1 0 +github.com/muety/wakapi/services/misc.go:95.2,95.12 1 0 +github.com/muety/wakapi/services/misc.go:53.16,55.3 1 0 +github.com/muety/wakapi/services/misc.go:60.26,65.3 1 0 +github.com/muety/wakapi/services/misc.go:68.40,70.3 1 0 +github.com/muety/wakapi/services/misc.go:75.33,78.3 2 0 +github.com/muety/wakapi/services/misc.go:84.17,86.3 1 0 +github.com/muety/wakapi/services/misc.go:91.17,93.3 1 0 +github.com/muety/wakapi/services/misc.go:98.116,99.24 1 0 +github.com/muety/wakapi/services/misc.go:99.24,100.151 1 0 +github.com/muety/wakapi/services/misc.go:100.151,102.4 1 0 +github.com/muety/wakapi/services/misc.go:102.9,107.4 1 0 +github.com/muety/wakapi/services/aggregation.go:29.142,37.2 1 0 +github.com/muety/wakapi/services/aggregation.go:46.43,48.37 1 0 +github.com/muety/wakapi/services/aggregation.go:52.2,54.19 3 0 +github.com/muety/wakapi/services/aggregation.go:48.37,50.3 1 0 +github.com/muety/wakapi/services/aggregation.go:57.67,58.47 1 0 +github.com/muety/wakapi/services/aggregation.go:61.2,66.40 4 0 +github.com/muety/wakapi/services/aggregation.go:70.2,70.50 1 0 +github.com/muety/wakapi/services/aggregation.go:75.2,75.60 1 0 +github.com/muety/wakapi/services/aggregation.go:81.2,81.35 1 0 +github.com/muety/wakapi/services/aggregation.go:58.47,60.3 1 0 +github.com/muety/wakapi/services/aggregation.go:66.40,68.3 1 0 +github.com/muety/wakapi/services/aggregation.go:70.50,72.3 1 0 +github.com/muety/wakapi/services/aggregation.go:75.60,79.3 3 0 +github.com/muety/wakapi/services/aggregation.go:84.109,85.24 1 0 +github.com/muety/wakapi/services/aggregation.go:85.24,86.111 1 0 +github.com/muety/wakapi/services/aggregation.go:86.111,88.4 1 0 +github.com/muety/wakapi/services/aggregation.go:88.9,91.4 2 0 +github.com/muety/wakapi/services/aggregation.go:95.80,96.33 1 0 +github.com/muety/wakapi/services/aggregation.go:96.33,97.60 1 0 +github.com/muety/wakapi/services/aggregation.go:97.60,99.4 1 0 +github.com/muety/wakapi/services/aggregation.go:103.100,107.59 3 0 +github.com/muety/wakapi/services/aggregation.go:122.2,123.16 2 0 +github.com/muety/wakapi/services/aggregation.go:129.2,130.16 2 0 +github.com/muety/wakapi/services/aggregation.go:136.2,137.44 2 0 +github.com/muety/wakapi/services/aggregation.go:142.2,142.41 1 0 +github.com/muety/wakapi/services/aggregation.go:156.2,156.12 1 0 +github.com/muety/wakapi/services/aggregation.go:107.59,110.3 2 0 +github.com/muety/wakapi/services/aggregation.go:110.8,110.47 1 0 +github.com/muety/wakapi/services/aggregation.go:110.47,112.30 2 0 +github.com/muety/wakapi/services/aggregation.go:112.30,113.43 1 0 +github.com/muety/wakapi/services/aggregation.go:113.43,115.5 1 0 +github.com/muety/wakapi/services/aggregation.go:117.8,119.3 1 0 +github.com/muety/wakapi/services/aggregation.go:123.16,126.3 2 0 +github.com/muety/wakapi/services/aggregation.go:130.16,133.3 2 0 +github.com/muety/wakapi/services/aggregation.go:137.44,139.3 1 0 +github.com/muety/wakapi/services/aggregation.go:142.41,143.21 1 0 +github.com/muety/wakapi/services/aggregation.go:143.21,147.4 1 0 +github.com/muety/wakapi/services/aggregation.go:147.9,147.62 1 0 +github.com/muety/wakapi/services/aggregation.go:147.62,151.4 1 0 +github.com/muety/wakapi/services/aggregation.go:159.73,162.27 3 0 +github.com/muety/wakapi/services/aggregation.go:167.2,167.27 1 0 +github.com/muety/wakapi/services/aggregation.go:170.2,170.12 1 0 +github.com/muety/wakapi/services/aggregation.go:162.27,163.39 1 0 +github.com/muety/wakapi/services/aggregation.go:163.39,165.4 1 0 +github.com/muety/wakapi/services/aggregation.go:167.27,169.3 1 0 +github.com/muety/wakapi/services/aggregation.go:173.69,176.27 3 0 +github.com/muety/wakapi/services/aggregation.go:176.27,178.3 1 0 +github.com/muety/wakapi/services/aggregation.go:181.83,196.41 5 0 +github.com/muety/wakapi/services/aggregation.go:196.41,206.3 3 0 +github.com/muety/wakapi/services/aggregation.go:209.34,212.2 2 0 +github.com/muety/wakapi/services/alias.go:17.77,22.2 1 1 +github.com/muety/wakapi/services/alias.go:26.60,27.43 1 1 +github.com/muety/wakapi/services/alias.go:30.2,30.14 1 1 +github.com/muety/wakapi/services/alias.go:27.43,29.3 1 1 +github.com/muety/wakapi/services/alias.go:33.62,35.16 2 1 +github.com/muety/wakapi/services/alias.go:38.2,38.12 1 1 +github.com/muety/wakapi/services/alias.go:35.16,37.3 1 1 +github.com/muety/wakapi/services/alias.go:41.76,43.16 2 0 +github.com/muety/wakapi/services/alias.go:46.2,46.21 1 0 +github.com/muety/wakapi/services/alias.go:43.16,45.3 1 0 +github.com/muety/wakapi/services/alias.go:49.113,51.16 2 0 +github.com/muety/wakapi/services/alias.go:54.2,54.21 1 0 +github.com/muety/wakapi/services/alias.go:51.16,53.3 1 0 +github.com/muety/wakapi/services/alias.go:57.108,58.32 1 1 +github.com/muety/wakapi/services/alias.go:64.2,65.46 2 1 +github.com/muety/wakapi/services/alias.go:70.2,70.19 1 1 +github.com/muety/wakapi/services/alias.go:58.32,59.52 1 1 +github.com/muety/wakapi/services/alias.go:59.52,61.4 1 1 +github.com/muety/wakapi/services/alias.go:65.46,66.48 1 1 +github.com/muety/wakapi/services/alias.go:66.48,68.4 1 1 +github.com/muety/wakapi/services/alias.go:73.77,75.16 2 0 +github.com/muety/wakapi/services/alias.go:78.2,79.20 2 0 +github.com/muety/wakapi/services/alias.go:75.16,77.3 1 0 +github.com/muety/wakapi/services/alias.go:82.60,83.24 1 0 +github.com/muety/wakapi/services/alias.go:86.2,88.12 3 0 +github.com/muety/wakapi/services/alias.go:83.24,85.3 1 0 +github.com/muety/wakapi/services/alias.go:91.69,94.28 3 0 +github.com/muety/wakapi/services/alias.go:102.2,104.31 2 0 +github.com/muety/wakapi/services/alias.go:108.2,108.12 1 0 +github.com/muety/wakapi/services/alias.go:94.28,95.21 1 0 +github.com/muety/wakapi/services/alias.go:98.3,99.16 2 0 +github.com/muety/wakapi/services/alias.go:95.21,97.4 1 0 +github.com/muety/wakapi/services/alias.go:104.31,106.3 1 0 +github.com/muety/wakapi/services/alias.go:111.52,112.51 1 0 +github.com/muety/wakapi/services/alias.go:112.51,114.3 1 0 diff --git a/testing/Wakapi API Tests.postman_collection.json b/testing/Wakapi API Tests.postman_collection.json index 76eafd7..76c59f9 100644 --- a/testing/Wakapi API Tests.postman_collection.json +++ b/testing/Wakapi API Tests.postman_collection.json @@ -1,6 +1,6 @@ { "info": { - "_postman_id": "e7b925d5-501e-471c-abc7-eb29eec5279d", + "_postman_id": "7ce36cea-e702-40c6-8056-2cb6149f34f7", "name": "Wakapi API Tests", "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" }, @@ -299,7 +299,7 @@ "header": [], "body": { "mode": "raw", - "raw": "[{\n \"entity\": \"/home/user1/dev/proejct1/main.go\",\n \"project\": \"wakapi\",\n \"language\": \"Go\",\n \"is_write\": true,\n \"type\": \"file\",\n \"category\": null,\n \"branch\": null,\n \"time\": {{tsNowMinus1Min}}\n},\n{\n \"entity\": \"/home/user1/dev/proejct1/main.go\",\n \"project\": \"wakapi\",\n \"language\": \"Go\",\n \"is_write\": true,\n \"type\": \"file\",\n \"category\": null,\n \"branch\": null,\n \"time\": {{tsNowMinus2Min}}\n}]", + "raw": "[{\n \"entity\": \"/home/user1/dev/project1/main.go\",\n \"project\": \"wakapi\",\n \"language\": \"Go\",\n \"is_write\": true,\n \"type\": \"file\",\n \"category\": null,\n \"branch\": null,\n \"time\": {{tsNowMinus1Min}}\n},\n{\n \"entity\": \"/home/user1/dev/project1/main.go\",\n \"project\": \"wakapi\",\n \"language\": \"Go\",\n \"is_write\": true,\n \"type\": \"file\",\n \"category\": null,\n \"branch\": null,\n \"time\": {{tsNowMinus2Min}}\n}]", "options": { "raw": { "language": "json" @@ -319,6 +319,124 @@ }, "response": [] }, + { + "name": "Create heartbeats (alt 1)", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "pm.test(\"Status code is 400\", function () {", + " // only check if endpoint is present (non-404), 400 is fine because invalid body sent", + " pm.response.to.have.status(400);", + "});", + "" + ], + "type": "text/javascript" + } + } + ], + "protocolProfileBehavior": { + "disableCookies": true + }, + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{WRITEUSER_TOKEN}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{BASE_URL}}/api/v1/users/current/heartbeats.bulk", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "api", + "v1", + "users", + "current", + "heartbeats.bulk" + ] + } + }, + "response": [] + }, + { + "name": "Create heartbeats (alt 2)", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "pm.test(\"Status code is 400\", function () {", + " // only check if endpoint is present (non-404), 400 is fine because invalid body sent", + " pm.response.to.have.status(400);", + "});", + "" + ], + "type": "text/javascript" + } + } + ], + "protocolProfileBehavior": { + "disableCookies": true + }, + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{WRITEUSER_TOKEN}}", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{BASE_URL}}/api/compat/wakatime/v1/users/current/heartbeats", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "api", + "compat", + "wakatime", + "v1", + "users", + "current", + "heartbeats" + ] + } + }, + "response": [] + }, { "name": "Create heartbeats (unauthorized)", "event": [ @@ -792,6 +910,50 @@ } }, "response": [] + }, + { + "name": "Get summary (unauthenticated)", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "pm.test(\"Status code is 401\", function () {", + " pm.response.to.have.status(401);", + "});" + ], + "type": "text/javascript" + } + } + ], + "protocolProfileBehavior": { + "tlsPreferServerCiphers": true, + "disableCookies": true + }, + "request": { + "auth": { + "type": "noauth" + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{BASE_URL}}/api/summary?interval=today", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "api", + "summary" + ], + "query": [ + { + "key": "interval", + "value": "today" + } + ] + } + }, + "response": [] } ] }, @@ -971,14 +1133,7 @@ }, "request": { "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "{{WRITEUSER_TOKEN}}", - "type": "string" - } - ] + "type": "noauth" }, "method": "GET", "header": [], @@ -1025,14 +1180,7 @@ }, "request": { "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "{{WRITEUSER_TOKEN}}", - "type": "string" - } - ] + "type": "noauth" }, "method": "GET", "header": [], @@ -1075,14 +1223,7 @@ }, "request": { "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "{{WRITEUSER_TOKEN}}", - "type": "string" - } - ] + "type": "noauth" }, "method": "GET", "header": [], @@ -1129,7 +1270,7 @@ "method": "GET", "header": [], "url": { - "raw": "{{BASE_URL}}/api/compat/shields/v1/readuser/interval:week", + "raw": "{{BASE_URL}}/api/compat/shields/v1/readuser/interval:today", "host": [ "{{BASE_URL}}" ], @@ -1139,11 +1280,1147 @@ "shields", "v1", "readuser", - "interval:week" + "interval:today" ] } }, "response": [] + }, + { + "name": "Get shields (non-shared entity type)", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "pm.test(\"Status code is 403\", function () {", + " pm.response.to.have.status(403);", + "});", + "" + ], + "type": "text/javascript" + } + } + ], + "protocolProfileBehavior": { + "disableCookies": true + }, + "request": { + "auth": { + "type": "noauth" + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{BASE_URL}}/api/compat/shields/v1/writeuser/interval:today/language:Go", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "api", + "compat", + "shields", + "v1", + "writeuser", + "interval:today", + "language:Go" + ] + } + }, + "response": [] + } + ] + }, + { + "name": "WakaTime", + "item": [ + { + "name": "Get all time", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "pm.test(\"Status code is 200\", function () {", + " pm.response.to.have.status(200);", + "});", + "", + "pm.test(\"Correct content\", function () {", + " const jsonData = pm.response.json();", + " pm.expect(jsonData.data.text).to.eql('0 hrs 2 mins');", + "});" + ], + "type": "text/javascript" + } + } + ], + "protocolProfileBehavior": { + "disableCookies": true + }, + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{WRITEUSER_TOKEN}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{BASE_URL}}/api/compat/wakatime/v1/users/current/all_time_since_today", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "api", + "compat", + "wakatime", + "v1", + "users", + "current", + "all_time_since_today" + ] + } + }, + "response": [] + }, + { + "name": "Get all time (unauthenticated)", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "pm.test(\"Status code is 401\", function () {", + " pm.response.to.have.status(401);", + "});" + ], + "type": "text/javascript" + } + } + ], + "protocolProfileBehavior": { + "disableCookies": true + }, + "request": { + "auth": { + "type": "noauth" + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{BASE_URL}}/api/compat/wakatime/v1/users/writeuser/all_time_since_today", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "api", + "compat", + "wakatime", + "v1", + "users", + "writeuser", + "all_time_since_today" + ] + } + }, + "response": [] + }, + { + "name": "Get stats (current)", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "pm.test(\"Status code is 200\", function () {", + " pm.response.to.have.status(200);", + "});", + "", + "pm.test(\"Correct content\", function () {", + " const jsonData = pm.response.json();", + " pm.expect(jsonData.data.languages).to.eql(null); // because share_languages is false", + " pm.expect(jsonData.data.projects.length).to.eql(1);", + "});" + ], + "type": "text/javascript" + } + } + ], + "protocolProfileBehavior": { + "disableCookies": true + }, + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{WRITEUSER_TOKEN}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{BASE_URL}}/api/compat/wakatime/v1/users/current/stats", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "api", + "compat", + "wakatime", + "v1", + "users", + "current", + "stats" + ] + } + }, + "response": [] + }, + { + "name": "Get stats (by user)", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "pm.test(\"Status code is 200\", function () {", + " pm.response.to.have.status(200);", + "});", + "", + "pm.test(\"Correct content\", function () {", + " const jsonData = pm.response.json();", + " pm.expect(jsonData.data.projects.length).to.eql(1);", + "});" + ], + "type": "text/javascript" + } + } + ], + "protocolProfileBehavior": { + "disableCookies": true + }, + "request": { + "auth": { + "type": "noauth" + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{BASE_URL}}/api/compat/wakatime/v1/users/writeuser/stats", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "api", + "compat", + "wakatime", + "v1", + "users", + "writeuser", + "stats" + ] + } + }, + "response": [] + }, + { + "name": "Get stats (current, alt 1)", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "pm.test(\"Status code is 200\", function () {", + " pm.response.to.have.status(200);", + "});", + "", + "pm.test(\"Correct content\", function () {", + " const jsonData = pm.response.json();", + " pm.expect(jsonData.data.languages).to.eql(null); // because share_languages is false", + " pm.expect(jsonData.data.projects.length).to.eql(1);", + "});" + ], + "type": "text/javascript" + } + } + ], + "protocolProfileBehavior": { + "disableCookies": true + }, + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{WRITEUSER_TOKEN}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{BASE_URL}}/api/v1/users/current/stats/today", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "api", + "v1", + "users", + "current", + "stats", + "today" + ] + } + }, + "response": [] + }, + { + "name": "Get stats (range)", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "pm.test(\"Status code is 200\", function () {", + " pm.response.to.have.status(200);", + "});", + "", + "pm.test(\"Correct content\", function () {", + " const jsonData = pm.response.json();", + " pm.expect(jsonData.data.projects.length).to.eql(1);", + "});" + ], + "type": "text/javascript" + } + } + ], + "protocolProfileBehavior": { + "disableCookies": true + }, + "request": { + "auth": { + "type": "noauth" + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{BASE_URL}}/api/compat/wakatime/v1/users/writeuser/stats/last_7_days", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "api", + "compat", + "wakatime", + "v1", + "users", + "writeuser", + "stats", + "last_7_days" + ] + } + }, + "response": [] + }, + { + "name": "Get stats (out of range)", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "pm.test(\"Status code is 403\", function () {", + " pm.response.to.have.status(403);", + "});" + ], + "type": "text/javascript" + } + } + ], + "protocolProfileBehavior": { + "disableCookies": true + }, + "request": { + "auth": { + "type": "noauth" + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{BASE_URL}}/api/compat/wakatime/v1/users/writeuser/stats/30_days", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "api", + "compat", + "wakatime", + "v1", + "users", + "writeuser", + "stats", + "30_days" + ] + } + }, + "response": [] + }, + { + "name": "Get stats (not sharing)", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "pm.test(\"Status code is 403\", function () {", + " pm.response.to.have.status(403);", + "});" + ], + "type": "text/javascript" + } + } + ], + "protocolProfileBehavior": { + "disableCookies": true + }, + "request": { + "auth": { + "type": "noauth" + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{BASE_URL}}/api/compat/wakatime/v1/users/readuser/stats/today", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "api", + "compat", + "wakatime", + "v1", + "users", + "readuser", + "stats", + "today" + ] + } + }, + "response": [] + }, + { + "name": "Get projects", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "pm.test(\"Status code is 200\", function () {", + " pm.response.to.have.status(200);", + "});", + "", + "pm.test(\"Correct content\", function () {", + " const jsonData = pm.response.json();", + " pm.expect(jsonData.data.length).to.eql(1);", + "});" + ], + "type": "text/javascript" + } + } + ], + "protocolProfileBehavior": { + "disableCookies": true + }, + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{WRITEUSER_TOKEN}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{BASE_URL}}/api/compat/wakatime/v1/users/current/projects", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "api", + "compat", + "wakatime", + "v1", + "users", + "current", + "projects" + ] + } + }, + "response": [] + }, + { + "name": "Get projects (unauthenticated)", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "pm.test(\"Status code is 401\", function () {", + " pm.response.to.have.status(401);", + "});", + "" + ], + "type": "text/javascript" + } + } + ], + "protocolProfileBehavior": { + "disableCookies": true + }, + "request": { + "auth": { + "type": "noauth" + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{BASE_URL}}/api/compat/wakatime/v1/users/writeuser/projects", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "api", + "compat", + "wakatime", + "v1", + "users", + "writeuser", + "projects" + ] + } + }, + "response": [] + }, + { + "name": "Get user (current)", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "pm.test(\"Status code is 200\", function () {", + " pm.response.to.have.status(200);", + "});", + "", + "pm.test(\"Correct content\", function () {", + " const jsonData = pm.response.json();", + " pm.expect(jsonData.data.id).to.eql('writeuser');", + "});" + ], + "type": "text/javascript" + } + } + ], + "protocolProfileBehavior": { + "disableCookies": true + }, + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{WRITEUSER_TOKEN}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{BASE_URL}}/api/compat/wakatime/v1/users/current", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "api", + "compat", + "wakatime", + "v1", + "users", + "current" + ] + } + }, + "response": [] + }, + { + "name": "Get user (forbidden user)", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "pm.test(\"Status code is 401\", function () {", + " pm.response.to.have.status(401);", + "});", + "" + ], + "type": "text/javascript" + } + } + ], + "protocolProfileBehavior": { + "disableCookies": true + }, + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{WRITEUSER_TOKEN}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{BASE_URL}}/api/compat/wakatime/v1/users/readuser", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "api", + "compat", + "wakatime", + "v1", + "users", + "readuser" + ] + } + }, + "response": [] + }, + { + "name": "Get user (unauthenticated)", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "pm.test(\"Status code is 401\", function () {", + " pm.response.to.have.status(401);", + "});", + "" + ], + "type": "text/javascript" + } + } + ], + "protocolProfileBehavior": { + "disableCookies": true + }, + "request": { + "auth": { + "type": "noauth" + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{BASE_URL}}/api/compat/wakatime/v1/users/writeuser", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "api", + "compat", + "wakatime", + "v1", + "users", + "writeuser" + ] + } + }, + "response": [] + } + ] + }, + { + "name": "Settings", + "item": [ + { + "name": "Use Case: Custom Mappings", + "item": [ + { + "name": "1. Login", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "pm.test(\"Status code is 200\", function () {", + " pm.response.to.have.status(200);", + "});", + "", + "pm.test(\"Body contains string\", function () {", + " pm.expect(pm.response.text()).to.include(\"Showing a total of\");", + "});" + ], + "type": "text/javascript" + } + } + ], + "protocolProfileBehavior": { + "disableCookies": false, + "followRedirects": true + }, + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "urlencoded", + "urlencoded": [ + { + "key": "username", + "value": "writeuser", + "type": "text" + }, + { + "key": "password", + "value": "{{WRITEUSER_PASSWORD}}", + "type": "text" + } + ] + }, + "url": { + "raw": "{{BASE_URL}}/login", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "login" + ] + } + }, + "response": [] + }, + { + "name": "2. Add custom mapping", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "pm.test(\"Status code is 200\", function () {", + " pm.response.to.have.status(200);", + "});", + "", + "pm.test(\"Body contains string\", function () {", + " pm.expect(pm.response.text()).to.include(\"Mapping added successfully\");", + "});" + ], + "type": "text/javascript" + } + } + ], + "protocolProfileBehavior": { + "disableCookies": false, + "followRedirects": true + }, + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "urlencoded", + "urlencoded": [ + { + "key": "action", + "value": "add_mapping", + "type": "text" + }, + { + "key": "extension", + "value": "go", + "type": "text" + }, + { + "key": "language", + "value": "Gogo", + "type": "text" + } + ] + }, + "url": { + "raw": "{{BASE_URL}}/settings", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "settings" + ] + } + }, + "response": [] + }, + { + "name": "3. Check summary", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "pm.test(\"Status code is 200\", function () {", + " pm.response.to.have.status(200);", + "});", + "", + "pm.test(\"Correct language\", function () {", + " const jsonData = pm.response.json();", + " pm.expect(jsonData.languages.length).to.eql(1);", + " pm.expect(jsonData.languages[0].key).to.eql('Gogo');", + "});", + "" + ], + "type": "text/javascript" + } + } + ], + "protocolProfileBehavior": { + "tlsPreferServerCiphers": true, + "disableCookies": true + }, + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{WRITEUSER_TOKEN}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{BASE_URL}}/api/summary?interval=today", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "api", + "summary" + ], + "query": [ + { + "key": "interval", + "value": "today" + } + ] + } + }, + "response": [] + }, + { + "name": "4. Remove custom mapping", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "pm.test(\"Status code is 200\", function () {", + " pm.response.to.have.status(200);", + "});", + "", + "pm.test(\"Body contains string\", function () {", + " pm.expect(pm.response.text()).to.include(\"Mapping deleted successfully\");", + "});" + ], + "type": "text/javascript" + } + } + ], + "protocolProfileBehavior": { + "disableCookies": false, + "followRedirects": true + }, + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "urlencoded", + "urlencoded": [ + { + "key": "action", + "value": "delete_mapping", + "type": "text" + }, + { + "key": "mapping_id", + "value": "0", + "type": "text" + } + ] + }, + "url": { + "raw": "{{BASE_URL}}/settings", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "settings" + ] + } + }, + "response": [] + }, + { + "name": "5. Check summary again", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "pm.test(\"Status code is 200\", function () {", + " pm.response.to.have.status(200);", + "});", + "", + "pm.test(\"Correct language\", function () {", + " const jsonData = pm.response.json();", + " pm.expect(jsonData.languages.length).to.eql(1);", + " pm.expect(jsonData.languages[0].key).to.eql('Go');", + "});", + "" + ], + "type": "text/javascript" + } + } + ], + "protocolProfileBehavior": { + "tlsPreferServerCiphers": true, + "disableCookies": true + }, + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{WRITEUSER_TOKEN}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{BASE_URL}}/api/summary?interval=today", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "api", + "summary" + ], + "query": [ + { + "key": "interval", + "value": "today" + } + ] + } + }, + "response": [] + } + ] + }, + { + "name": "Use Case: Change E-Mail", + "item": [ + { + "name": "1. Login", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "pm.test(\"Status code is 200\", function () {", + " pm.response.to.have.status(200);", + "});", + "", + "pm.test(\"Body contains string\", function () {", + " pm.expect(pm.response.text()).to.include(\"Showing a total of\");", + "});" + ], + "type": "text/javascript" + } + } + ], + "protocolProfileBehavior": { + "disableCookies": false, + "followRedirects": true + }, + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "urlencoded", + "urlencoded": [ + { + "key": "username", + "value": "writeuser", + "type": "text" + }, + { + "key": "password", + "value": "{{WRITEUSER_PASSWORD}}", + "type": "text" + } + ] + }, + "url": { + "raw": "{{BASE_URL}}/login", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "login" + ] + } + }, + "response": [] + }, + { + "name": "2. Set e-mail", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "pm.test(\"Status code is 200\", function () {", + " pm.response.to.have.status(200);", + "});", + "", + "pm.test(\"Body contains string\", function () {", + " pm.expect(pm.response.text()).to.include(\"User updated successfully\");", + "});" + ], + "type": "text/javascript" + } + } + ], + "protocolProfileBehavior": { + "disableCookies": false, + "followRedirects": true + }, + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "urlencoded", + "urlencoded": [ + { + "key": "action", + "value": "update_user", + "type": "text" + }, + { + "key": "location", + "value": "Europe/Berlin", + "type": "text" + }, + { + "key": "email", + "value": "foo@example.org", + "type": "text" + } + ] + }, + "url": { + "raw": "{{BASE_URL}}/settings", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "settings" + ] + } + }, + "response": [] + }, + { + "name": "3. Check e-mail", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "pm.test(\"Status code is 200\", function () {", + " pm.response.to.have.status(200);", + "});", + "", + "pm.test(\"Correct e-mail address\", function () {", + " const jsonData = pm.response.json();", + " pm.expect(jsonData.data.email).to.eql('foo@example.org');", + "});", + "" + ], + "type": "text/javascript" + } + } + ], + "protocolProfileBehavior": { + "tlsPreferServerCiphers": true, + "disableCookies": true + }, + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "{{WRITEUSER_TOKEN}}", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{BASE_URL}}/api/compat/wakatime/v1/users/current", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "api", + "compat", + "wakatime", + "v1", + "users", + "current" + ] + } + }, + "response": [] + } + ] } ] } @@ -1226,6 +2503,14 @@ { "key": "TZ_OFFSET", "value": "+02:00" + }, + { + "key": "READUSER_PASSWORD", + "value": "testpw" + }, + { + "key": "WRITEUSER_PASSWORD", + "value": "testpw" } ] } \ No newline at end of file diff --git a/testing/data.sql b/testing/data.sql index 5e5c9fa..62ff744 100644 --- a/testing/data.sql +++ b/testing/data.sql @@ -3,12 +3,12 @@ INSERT INTO "users" ("id", "api_key", "email", "location", "password", "created_ "share_data_max_days", "share_editors", "share_languages", "share_projects", "share_oss", "share_machines", "is_admin", "has_data", "wakatime_api_key", "reset_token", "reports_weekly") VALUES ('readuser', '33e7f538-0dce-4eba-8ffe-53db6814ed42', '', 'Europe/Berlin', - '$2a$10$RCyfAFdlZdFJVWbxKz4f2uJ/MospiE1EFAIjvRizC4Nop9GfjgKzW', '2021-05-28 12:34:25', + '$2a$10$93CAptdjLGRtc1D3xrZJcu8B/YBAPSjCZOHZRId.xpyrsLAeHOoA.', '2021-05-28 12:34:25', '2021-05-28 14:34:34.178+02:00', 0, 0, 0, 0, 0, 0, 1, 0, '', '', 0); INSERT INTO "users" ("id", "api_key", "email", "location", "password", "created_at", "last_logged_in_at", "share_data_max_days", "share_editors", "share_languages", "share_projects", "share_oss", "share_machines", "is_admin", "has_data", "wakatime_api_key", "reset_token", "reports_weekly") VALUES ('writeuser', 'f7aa255c-8647-4d0b-b90f-621c58fd580f', '', 'Europe/Berlin', - '$2a$10$vsksPpiXZE9/xG9pRrZP.eKkbe/bGWW4wpPoXqvjiImZqMbN5c4Km', '2021-05-28 12:34:56', + '$2a$10$93CAptdjLGRtc1D3xrZJcu8B/YBAPSjCZOHZRId.xpyrsLAeHOoA.', '2021-05-28 12:34:56', '2021-05-28 14:35:05.118+02:00', 7, 0, 0, 1, 0, 0, 0, 1, '', '', 0); COMMIT; diff --git a/testing/run_api_tests.sh b/testing/run_api_tests.sh index 64c3704..d78c701 100755 --- a/testing/run_api_tests.sh +++ b/testing/run_api_tests.sh @@ -1,8 +1,8 @@ #!/bin/bash if [ ! -f "wakapi" ]; then - echo "Wakapi executable not found. Run 'go build' first." - exit 1 + echo "Wakapi executable not found. Compiling." + go build fi if ! command -v newman &> /dev/null diff --git a/views/settings.tpl.html b/views/settings.tpl.html index c208791..db24b21 100644 --- a/views/settings.tpl.html +++ b/views/settings.tpl.html @@ -518,7 +518,7 @@

Wakapi intregrates with GitHub Readme Stats to + class="underline" target="_blank" rel="noopener noreferrer" alt="Readme Stats Card">GitHub Readme Stats to generate fancy cards for you.

{{ if ne .User.ShareDataMaxDays 0 }}