Commit Graph

345 Commits

Author SHA1 Message Date
Taras Kushnir
79965c7e72 Fix tests 2026-01-10 12:01:07 +02:00
Taras Kushnir
341d071c65 Add cosmetic validation for email domains 2026-01-10 11:52:02 +02:00
Taras Kushnir
2c98081185 Improve org invitation functionality. related PrivateCaptcha/issues#227
- Prefill email address for the invite link
- show masked email in members list
- improve usual register flow too
2026-01-10 11:50:09 +02:00
Taras Kushnir
8442b9e7b2 Allow inviting users without accounts. closes PrivateCaptcha/issues#227 2026-01-10 09:51:54 +02:00
Taras Kushnir
f02b7fca9e Remove unused code 2026-01-09 15:54:12 +02:00
Taras Kushnir
336353e551 Add negative test coverage for portal endpoint
Done by copilot, merged manually due to conflicts
2026-01-09 09:59:26 +02:00
Taras Kushnir
19991f1fb7 Cosmetic improvements 2026-01-08 20:31:08 +02:00
Copilot
7d1247848b Add organization transfer feature (#240)
* Initial plan

* Initial plan for organization transfer feature

Co-authored-by: ribtoks <505555+ribtoks@users.noreply.github.com>

* Add organization transfer feature with UI, DB layer, and integration test

Co-authored-by: ribtoks <505555+ribtoks@users.noreply.github.com>

* Address PR feedback: verify old owner in property transfer, swap org membership, show masked email in audit, add negative tests

Co-authored-by: ribtoks <505555+ribtoks@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: ribtoks <505555+ribtoks@users.noreply.github.com>
2026-01-08 20:25:09 +02:00
Copilot
bc5f8a9d6e Add test coverage for maintenance jobs, rate limiter, cache, and portal handlers (#241)
* Initial plan

* Add unit tests for improved test coverage

Co-authored-by: ribtoks <505555+ribtoks@users.noreply.github.com>

* Address code review feedback

Co-authored-by: ribtoks <505555+ribtoks@users.noreply.github.com>

* Move integration tests to pkg/api and pkg/portal, fix TestResend2FA logic

Co-authored-by: ribtoks <505555+ribtoks@users.noreply.github.com>

* Fix code review issues: remove unused import and fix job name generation

Co-authored-by: ribtoks <505555+ribtoks@users.noreply.github.com>

* Fix TestResend2FA tests: add CSRF token and verify codes are different

Co-authored-by: ribtoks <505555+ribtoks@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: ribtoks <505555+ribtoks@users.noreply.github.com>
2026-01-08 19:56:39 +02:00
Taras Kushnir
ae0972b1d1 Fix build 2026-01-08 08:46:13 +02:00
Taras Kushnir
bb82daa529 Make global variables in tests consistent 2026-01-08 08:44:33 +02:00
Copilot
b9a3945ff0 Add negative codepath tests for API endpoints (#242)
* Initial plan

* Add negative codepath tests for API endpoints

Co-authored-by: ribtoks <505555+ribtoks@users.noreply.github.com>

* Fix task test for invalid UUID format

Co-authored-by: ribtoks <505555+ribtoks@users.noreply.github.com>

* Fix code review feedback - use t.Fatalf for consistency

Co-authored-by: ribtoks <505555+ribtoks@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: ribtoks <505555+ribtoks@users.noreply.github.com>
2026-01-07 20:25:08 +02:00
Taras Kushnir
18ec9715a0 Cosmetic improvements 2026-01-07 18:37:13 +02:00
Copilot
d00d9ce9cb Add unit and integration tests for code coverage improvements (#238)
* Initial plan

* Initial planning for code coverage improvements

Co-authored-by: ribtoks <505555+ribtoks@users.noreply.github.com>

* Add unit tests for code coverage improvements

Co-authored-by: ribtoks <505555+ribtoks@users.noreply.github.com>

* Fix integration test failures and add more tests for code coverage

Co-authored-by: ribtoks <505555+ribtoks@users.noreply.github.com>

* Address code review feedback - simplify status code conversion

Co-authored-by: ribtoks <505555+ribtoks@users.noreply.github.com>

* Address PR review feedback: use config.NewStaticValue() and improve test assertions

Co-authored-by: ribtoks <505555+ribtoks@users.noreply.github.com>

* Add remaining tests: ChunkedCleanup, audit_enterprise, echoPuzzle

Co-authored-by: ribtoks <505555+ribtoks@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: ribtoks <505555+ribtoks@users.noreply.github.com>
2026-01-07 18:29:04 +02:00
Taras
55d9612fa5 Add more portal tests (#237)
* Initial plan

* Initial plan for increasing test coverage in pkg/portal

Co-authored-by: ribtoks <505555+ribtoks@users.noreply.github.com>

* Add smoke tests for org.go, org_enterprise.go, property.go, settings.go and audit.go handlers

Co-authored-by: ribtoks <505555+ribtoks@users.noreply.github.com>

* Fix code review feedback: use t.Context() consistently

Co-authored-by: ribtoks <505555+ribtoks@users.noreply.github.com>

* Fix failing tests: correct paths and use admin plan for org limits

Co-authored-by: ribtoks <505555+ribtoks@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2026-01-07 09:54:27 +02:00
Taras Kushnir
2435770e2f Add tests for in-memory time series 2026-01-06 18:48:08 +02:00
Taras Kushnir
f534ee7ec5 Add a mode to run tests without ClickHouse 2026-01-06 15:46:24 +02:00
Taras Kushnir
787f1d4c0b Add missing 2FA timestamp to context 2026-01-04 17:00:44 +02:00
Taras Kushnir
05ecc9cc6d Cosmetic improvements 2026-01-02 20:53:15 +02:00
Taras Kushnir
0e7ef0c8b0 Register time.Time for 2FA code expiration serialization 2026-01-02 20:48:17 +02:00
Taras Kushnir
d1a23760b1 Enforce 2FA code expiration timeout before session timeout 2026-01-02 20:37:42 +02:00
Taras Kushnir
8112359ef9 Add more tests 2026-01-02 18:44:17 +02:00
github-actions[bot]
094dfdd67d Fix code style issues (#234) 2025-12-27 12:18:30 +00:00
Taras Kushnir
acc2e09427 Add timeout config for periodic jobs 2025-12-25 13:33:19 +01:00
Taras Kushnir
6e1eef1992 Fix test 2025-12-23 10:11:48 +01:00
Taras Kushnir
998a7b1395 Rename puzzle scope to captcha in UI 2025-12-23 10:00:40 +01:00
Taras Kushnir
a113c35188 Add new fields to audit event for API keys 2025-12-23 10:00:40 +01:00
Taras Kushnir
cbdc994e0d Add Org scope to API keys. closes PrivateCaptcha/issues#237 2025-12-22 18:54:47 +01:00
Taras Kushnir
1478f7a376 Add read-only attribute to the scope of API key 2025-12-22 14:33:26 +01:00
Taras Kushnir
782dbb5f34 Validate API requests while reading JSON 2025-12-22 12:50:08 +01:00
Taras Kushnir
727fbfa93e Preallocate map size 2025-12-22 12:47:18 +01:00
Taras Kushnir
f308e55d91 Make properties API to use PUT 2025-12-19 20:02:27 +01:00
Taras Kushnir
207d8a0f68 Fix api key scope migration 2025-12-19 14:44:24 +01:00
Taras Kushnir
a25fd054c8 Cosmetic improvements 2025-12-19 13:19:04 +01:00
Taras Kushnir
207a28e674 Fix build 2025-12-19 12:38:34 +01:00
Taras Kushnir
9c69d83edb Generate 2FA code with better rng 2025-12-19 12:21:45 +01:00
Taras Kushnir
24b43ade8f Refactor email verification 2025-12-19 10:36:09 +01:00
Taras Kushnir
77cb6e987d Cleanup user caches on logout 2025-12-19 10:09:31 +01:00
Taras Kushnir
f446e2884d Add API to get a single property. related PrivateCaptcha/issues#45 2025-12-18 18:17:51 +01:00
Taras Kushnir
6e6174bedf Fix cosmetic GitHub Code Quality findings 2025-12-18 14:36:59 +01:00
Taras Kushnir
3475c9c1e2 Add API to batch-update properties. related PrivateCaptcha/issues#45 2025-12-18 14:28:55 +01:00
Taras Kushnir
8386d16fe6 Cosmetic improvement 2025-12-18 11:02:33 +01:00
Taras Kushnir
50945a6480 Fix typo 2025-12-17 19:27:53 +01:00
Taras Kushnir
a01792ffd8 Add API to get properties. related PrivateCaptcha/issues#45 2025-12-17 19:16:18 +01:00
Taras Kushnir
66d842413a Split portal and DB page size for properties 2025-12-17 19:01:35 +01:00
Taras Kushnir
d1ac04d09d Cosmetic improvements
some found by CodeRabbit review
2025-12-17 19:00:37 +01:00
Taras Kushnir
05e653631e Add pagination support for org properties. related PrivateCaptcha/issues#45 2025-12-17 18:32:41 +01:00
Taras Kushnir
b0c7b4c957 Cosmetic improvement 2025-12-17 18:16:02 +01:00
Taras Kushnir
b0c520eb4f Fix new API errors metric namespace 2025-12-17 17:49:04 +01:00
Taras Kushnir
bbdf596e6e Remove refactoring leftover 2025-12-17 14:05:50 +01:00