Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: avoid sub-queries when searching for data to be deleted #2606

Merged
merged 3 commits into from
Oct 18, 2024

fix(ImportDeleteService): rework to use using instead of sub-queries

8c42327
Select commit
Loading
Failed to load commit list.
Sign in for the full log view
Merged

fix: avoid sub-queries when searching for data to be deleted #2606

fix(ImportDeleteService): rework to use using instead of sub-queries
8c42327
Select commit
Loading
Failed to load commit list.
GitHub Actions / Backend Tests succeeded Oct 18, 2024 in 0s

163 passed, 0 failed and 0 skipped

Tests passed successfully

Report Passed Failed Skipped Time
backend/app/build/test-results/runContextRecreatingTests/TEST-io.tolgee.api.v2.controllers.batch.StartBatchJobControllerTest.xml 12✅ 48s
backend/app/build/test-results/runContextRecreatingTests/TEST-io.tolgee.api.v2.controllers.contentDelivery.ContentDeliveryConfigControllerTest.xml 21✅ 5s
backend/app/build/test-results/runContextRecreatingTests/TEST-io.tolgee.api.v2.controllers.V2ExportControllerTest.xml 9✅ 7s
backend/app/build/test-results/runContextRecreatingTests/TEST-io.tolgee.api.v2.controllers.v2ImageUploadController.SecuredV2ImageUploadControllerTest.xml 4✅ 1s
backend/app/build/test-results/runContextRecreatingTests/TEST-io.tolgee.api.v2.controllers.v2ProjectsController.ProjectsControllerWithCacheTest.xml 14✅ 6s
backend/app/build/test-results/runContextRecreatingTests/TEST-io.tolgee.api.v2.controllers.v2ScreenshotController.SecuredKeyScreenshotControllerTest.xml 6✅ 2s
backend/app/build/test-results/runContextRecreatingTests/TEST-io.tolgee.api.v2.controllers.V2UserControllerTest.xml 16✅ 8s
backend/app/build/test-results/runContextRecreatingTests/TEST-io.tolgee.automation.AutomationCachingTest.xml 4✅ 1s
backend/app/build/test-results/runContextRecreatingTests/TEST-io.tolgee.automation.AutomationCachingWithRedisTest.xml 4✅ 1s
backend/app/build/test-results/runContextRecreatingTests/TEST-io.tolgee.autoTranslating.AutoTranslatingTest.xml 13✅ 9s
backend/app/build/test-results/runContextRecreatingTests/TEST-io.tolgee.cache.CacheWithoutRedisTest.xml 11✅ 2s
backend/app/build/test-results/runContextRecreatingTests/TEST-io.tolgee.cache.CacheWithRedisTest.xml 11✅ 3s
backend/app/build/test-results/runContextRecreatingTests/TEST-io.tolgee.component.AesTest.xml 1✅ 18ms
backend/app/build/test-results/runContextRecreatingTests/TEST-io.tolgee.component.bucket.TokenBucketManagerTestWithRedis.xml 7✅ 2s
backend/app/build/test-results/runContextRecreatingTests/TEST-io.tolgee.component.fileStorage.FileStorageS3Test.xml 6✅ 374ms
backend/app/build/test-results/runContextRecreatingTests/TEST-io.tolgee.controllers.internal.SqlControllerTest.xml 3✅ 1s
backend/app/build/test-results/runContextRecreatingTests/TEST-io.tolgee.initialUserCreation.CreateEnabledTest.xml 5✅ 246ms
backend/app/build/test-results/runContextRecreatingTests/TEST-io.tolgee.initialUserCreation.LegacyMigrationTest.xml 1✅ 398ms
backend/app/build/test-results/runContextRecreatingTests/TEST-io.tolgee.security.DenyInternalTest.xml 2✅ 554ms
backend/app/build/test-results/runContextRecreatingTests/TEST-io.tolgee.security.rateLimits.RateLimitsTest.xml 4✅ 2s
backend/app/build/test-results/runContextRecreatingTests/TEST-io.tolgee.security.rateLimits.RedisRateLimitsTest.xml 1✅ 293ms
backend/app/build/test-results/runContextRecreatingTests/TEST-io.tolgee.service.organizationRole.OrganizationRoleCachingWithRedisTest.xml 6✅ 2s
backend/app/build/test-results/runContextRecreatingTests/TEST-io.tolgee.service.recaptchaValidation.RecaptchaValidationTest.xml 2✅ 362ms

✅ backend/app/build/test-results/runContextRecreatingTests/TEST-io.tolgee.api.v2.controllers.batch.StartBatchJobControllerTest.xml

12 tests were completed in 48s with 12 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
io.tolgee.api.v2.controllers.batch.StartBatchJobControllerTest 12✅ 48s

✅ io.tolgee.api.v2.controllers.batch.StartBatchJobControllerTest

✅ it clears translations()
✅ it moves to other namespace()
✅ it tags keys()
✅ it copies translations()
✅ it pre-translates by mt()
✅ it deletes tags when not used()
✅ it deletes keys()
✅ it machine translates()
✅ it changes translation state()
✅ it untags keys()
✅ it validates tag length()
✅ it fails on collision when setting namespaces()

✅ backend/app/build/test-results/runContextRecreatingTests/TEST-io.tolgee.api.v2.controllers.contentDelivery.ContentDeliveryConfigControllerTest.xml

21 tests were completed in 5s with 21 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
io.tolgee.api.v2.controllers.contentDelivery.ContentDeliveryConfigControllerTest 21✅ 5s

✅ io.tolgee.api.v2.controllers.contentDelivery.ContentDeliveryConfigControllerTest

✅ throws when custom slug is used with default storage()
✅ creates content delivery config with auto publish()
✅ does not set custom slug on update without custom storage()
✅ deletes content delivery config()
✅ throws when custom storage removed and generated slug is kept()
✅ creates content delivery config()
✅ does not regenerate slug when not using custom storage()
✅ adds custom slug on update()
✅ lists content delivery configs()
✅ creates content delivery config without pruning()
✅ publishes to default server content delivery config()
✅ updates content delivery config()
✅ publishes to s3()
✅ does not create with custom slug without custom storage()
✅ does not regenerate slug when custom storage not removed()
✅ get single()
✅ publishes to azure()
✅ removes the automation on update()
✅ creates with custom slug()
✅ regenerates slug on update()
✅ doesnt create when feature not enabled()

✅ backend/app/build/test-results/runContextRecreatingTests/TEST-io.tolgee.api.v2.controllers.V2ExportControllerTest.xml

9 tests were completed in 7s with 9 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
io.tolgee.api.v2.controllers.V2ExportControllerTest 9✅ 7s

✅ io.tolgee.api.v2.controllers.V2ExportControllerTest

✅ it exports to json with namespaces()
✅ it exports to json()
✅ it exports all languages by default()
✅ it exports only allowed languages()
✅ it filters by keyId in()
✅ the structureDelimiter works()
✅ it exports to single xliff()
✅ it exports to single json()
✅ it reports business event once in a day()

✅ backend/app/build/test-results/runContextRecreatingTests/TEST-io.tolgee.api.v2.controllers.v2ImageUploadController.SecuredV2ImageUploadControllerTest.xml

4 tests were completed in 1s with 4 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
io.tolgee.api.v2.controllers.v2ImageUploadController.SecuredV2ImageUploadControllerTest 4✅ 1s

✅ io.tolgee.api.v2.controllers.v2ImageUploadController.SecuredV2ImageUploadControllerTest

✅ upload()
✅ getScreenshotFileInvalidTimestamp()
✅ getFile()
✅ getScreenshotFileNoTimestamp()

✅ backend/app/build/test-results/runContextRecreatingTests/TEST-io.tolgee.api.v2.controllers.v2ProjectsController.ProjectsControllerWithCacheTest.xml

14 tests were completed in 6s with 14 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
io.tolgee.api.v2.controllers.v2ProjectsController.ProjectsControllerWithCacheTest 14✅ 6s

✅ io.tolgee.api.v2.controllers.v2ProjectsController.ProjectsControllerWithCacheTest

✅ getNotPermitted()
✅ get all has language permissions()
✅ setUsersPermissionsNoAccess()
✅ getAll()
✅ revokeUsersAccessOwn()
✅ setUsersPermissionsOwner()
✅ getAllWithStats()
✅ deleteProject()
✅ getAllUsers()
✅ get single returns permissions()
✅ setUsersPermissionsOwn()
✅ revokeUsersAccess()
✅ with-stats returns permitted languages()
✅ revokeUsersAccessIsOrganizationMember()

✅ backend/app/build/test-results/runContextRecreatingTests/TEST-io.tolgee.api.v2.controllers.v2ScreenshotController.SecuredKeyScreenshotControllerTest.xml

6 tests were completed in 2s with 6 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
io.tolgee.api.v2.controllers.v2ScreenshotController.SecuredKeyScreenshotControllerTest 6✅ 2s

✅ io.tolgee.api.v2.controllers.v2ScreenshotController.SecuredKeyScreenshotControllerTest

✅ uploadScreenshot()
✅ findAll()
✅ getScreenshotFile()
✅ getScreenshotFileInvalidTimestamp()
✅ it applies project permissions when accessing the screenshot()
✅ getScreenshotFileNoTimestamp()

✅ backend/app/build/test-results/runContextRecreatingTests/TEST-io.tolgee.api.v2.controllers.V2UserControllerTest.xml

16 tests were completed in 8s with 16 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
io.tolgee.api.v2.controllers.V2UserControllerTest 16✅ 8s

✅ io.tolgee.api.v2.controllers.V2UserControllerTest

✅ it validates the user update request data()
✅ it doesn't allow updating the email without password()
✅ returns correct single owned organizations()
✅ it allows updating the display name without password()
✅ it updates the user profile()
✅ it generates super token (with OTP)()
✅ it doesn't allow updating the password without password()
✅ it deletes user()
✅ it sends an email when updating user email()
✅ it invalidates tokens generated prior a password change()
✅ it doesn't allow updating the email with an invalid password()
✅ it doesn't allow updating the password with an invalid password()
✅ it updates the user password()
✅ it validates the password change request data()
✅ it deletes member user and keeps not owning org()
✅ it generates super token (with password)()

✅ backend/app/build/test-results/runContextRecreatingTests/TEST-io.tolgee.automation.AutomationCachingTest.xml

4 tests were completed in 1s with 4 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
io.tolgee.automation.AutomationCachingTest 4✅ 1s

✅ io.tolgee.automation.AutomationCachingTest

✅ delete clears the cache()
✅ save clears the cache()
✅ correctly caches when when request for null activity type()
✅ caches the automation()

✅ backend/app/build/test-results/runContextRecreatingTests/TEST-io.tolgee.automation.AutomationCachingWithRedisTest.xml

4 tests were completed in 1s with 4 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
io.tolgee.automation.AutomationCachingWithRedisTest 4✅ 1s

✅ io.tolgee.automation.AutomationCachingWithRedisTest

✅ delete clears the cache()
✅ save clears the cache()
✅ correctly caches when when request for null activity type()
✅ caches the automation()

✅ backend/app/build/test-results/runContextRecreatingTests/TEST-io.tolgee.autoTranslating.AutoTranslatingTest.xml

13 tests were completed in 9s with 13 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
io.tolgee.autoTranslating.AutoTranslatingTest 13✅ 9s

✅ io.tolgee.autoTranslating.AutoTranslatingTest

✅ consumes last positive credits()
✅ config test tm enabled()
✅ auto translates when base provided (non-existing)()
✅ it returns per language settings()
✅ auto translates when base provided (existing, but untranslated)()
✅ config test mt disabled()
✅ config test mt enabled()
✅ it returns autoTranslateConfig()
✅ doesn't fail when out of credits()
✅ it sets and returns per language settings()
✅ auto translates new key()
✅ auto translates using TM()
✅ config test tm disabled()

✅ backend/app/build/test-results/runContextRecreatingTests/TEST-io.tolgee.cache.CacheWithoutRedisTest.xml

11 tests were completed in 2s with 11 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
io.tolgee.cache.CacheWithoutRedisTest 11✅ 2s

✅ io.tolgee.cache.CacheWithoutRedisTest

✅ caches permission by organization()
✅ is not caching machine translations (different sourceLang)()
✅ is not caching machine translations (different input)()
✅ is caching()
✅ caches project()
✅ caches user account()
✅ caches permission by project and user()
✅ is not caching machine translations (different service)()
✅ is caching machine translations()
✅ is not caching machine translations (different targetLang)()
✅ it has proper cache manager()

✅ backend/app/build/test-results/runContextRecreatingTests/TEST-io.tolgee.cache.CacheWithRedisTest.xml

11 tests were completed in 3s with 11 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
io.tolgee.cache.CacheWithRedisTest 11✅ 3s

✅ io.tolgee.cache.CacheWithRedisTest

✅ caches permission by organization()
✅ is not caching machine translations (different sourceLang)()
✅ is not caching machine translations (different input)()
✅ is caching()
✅ caches project()
✅ caches user account()
✅ caches permission by project and user()
✅ is not caching machine translations (different service)()
✅ is caching machine translations()
✅ is not caching machine translations (different targetLang)()
✅ it has proper cache manager()

✅ backend/app/build/test-results/runContextRecreatingTests/TEST-io.tolgee.component.AesTest.xml

1 tests were completed in 18ms with 1 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
io.tolgee.component.AesTest 1✅ 18ms

✅ io.tolgee.component.AesTest

✅ it works()

✅ backend/app/build/test-results/runContextRecreatingTests/TEST-io.tolgee.component.bucket.TokenBucketManagerTestWithRedis.xml

7 tests were completed in 2s with 7 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
io.tolgee.component.bucket.TokenBucketManagerTestWithRedis 7✅ 2s

✅ io.tolgee.component.bucket.TokenBucketManagerTestWithRedis

✅ it adds tokens()
✅ sets empty even when not initialized()
✅ it is thread safe()
✅ it checks positive balance()
✅ it consumes credits()
✅ updates tokens()
✅ empties the bucket until specific time()

✅ backend/app/build/test-results/runContextRecreatingTests/TEST-io.tolgee.component.fileStorage.FileStorageS3Test.xml

6 tests were completed in 374ms with 6 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
io.tolgee.component.fileStorage.FileStorageS3Test 6✅ 374ms

✅ io.tolgee.component.fileStorage.FileStorageS3Test

✅ testStoreFile()
✅ testPruneDirectory()
✅ testGetFile()
✅ testFileExists()
✅ testDeleteFile()
✅ is S3FileStorage()

✅ backend/app/build/test-results/runContextRecreatingTests/TEST-io.tolgee.controllers.internal.SqlControllerTest.xml

3 tests were completed in 1s with 3 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
io.tolgee.controllers.internal.SqlControllerTest 3✅ 1s

✅ io.tolgee.controllers.internal.SqlControllerTest

✅ delete()
✅ getList()
✅ listEndpoints()

✅ backend/app/build/test-results/runContextRecreatingTests/TEST-io.tolgee.initialUserCreation.CreateEnabledTest.xml

5 tests were completed in 246ms with 5 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
io.tolgee.initialUserCreation.CreateEnabledTest 5✅ 246ms

✅ io.tolgee.initialUserCreation.CreateEnabledTest

✅ passwordUpdated()
✅ passwordStoredInDb()
✅ passwordNotUpdatedAfterChange()
✅ creates demo project for initial user()
✅ storesPassword()

✅ backend/app/build/test-results/runContextRecreatingTests/TEST-io.tolgee.initialUserCreation.LegacyMigrationTest.xml

1 tests were completed in 398ms with 1 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
io.tolgee.initialUserCreation.LegacyMigrationTest 1✅ 398ms

✅ io.tolgee.initialUserCreation.LegacyMigrationTest

✅ it migrates the old implicit user when creating the user account()

✅ backend/app/build/test-results/runContextRecreatingTests/TEST-io.tolgee.security.DenyInternalTest.xml

2 tests were completed in 554ms with 2 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
io.tolgee.security.DenyInternalTest 2✅ 554ms

✅ io.tolgee.security.DenyInternalTest

✅ getListFail()
✅ setPropertyFail()

✅ backend/app/build/test-results/runContextRecreatingTests/TEST-io.tolgee.security.rateLimits.RateLimitsTest.xml

4 tests were completed in 2s with 4 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
io.tolgee.security.rateLimits.RateLimitsTest 4✅ 2s

✅ io.tolgee.security.rateLimits.RateLimitsTest

✅ user request limit works()
✅ email verification request limit works()
✅ limits auth endpoints()
✅ ip request limit works()

✅ backend/app/build/test-results/runContextRecreatingTests/TEST-io.tolgee.security.rateLimits.RedisRateLimitsTest.xml

1 tests were completed in 293ms with 1 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
io.tolgee.security.rateLimits.RedisRateLimitsTest 1✅ 293ms

✅ io.tolgee.security.rateLimits.RedisRateLimitsTest

✅ ip request limit works()

✅ backend/app/build/test-results/runContextRecreatingTests/TEST-io.tolgee.service.organizationRole.OrganizationRoleCachingWithRedisTest.xml

6 tests were completed in 2s with 6 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
io.tolgee.service.organizationRole.OrganizationRoleCachingWithRedisTest 6✅ 2s

✅ io.tolgee.service.organizationRole.OrganizationRoleCachingWithRedisTest

✅ it evicts cache on grant role()
✅ it caches organization roles()
✅ it evicts on set member role()
✅ it evicts on invitation accept()
✅ it evicts on remove user()
✅ it evicts on leave()

✅ backend/app/build/test-results/runContextRecreatingTests/TEST-io.tolgee.service.recaptchaValidation.RecaptchaValidationTest.xml

2 tests were completed in 362ms with 2 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
io.tolgee.service.recaptchaValidation.RecaptchaValidationTest 2✅ 362ms

✅ io.tolgee.service.recaptchaValidation.RecaptchaValidationTest

✅ validates token()
✅ returns false when invalid()