Commit Graph

106 Commits

Author SHA1 Message Date
Rory Powell 0b2a445a9a
Replace ts-jest with swc/jest (#9289)
- Add swc dependencies
- Add transform change to jest.config.ts
- Replace `export =` with `export default` in src code to enable code coverage to work with swc transformer
- Restructure backend-core errors package to allow for exporting error classes with ESM syntax
- Update backend-core to no longer use `export =`, export individual packages instead of replacing with `export default` for backwards compatibility
- Update event publishers to use `export default` - this was required for the `jest.spyOn` usage inside backend-core common mocks
- Restructure some jest.mock usages where declaring the jest.fn as a variable outside of the package mock threw an error
2023-01-11 09:37:37 +00:00
Martin McKeaveney 8a2a5a1f76
fixes for google sheets, admin checklist, and deleting an app from API (#8846)
* fixes for google sheets, admin checklist, and deleting an app from API

* code review

* splitting unpublish endpoint, moving deploy endpoint to applications controller. Still to do public API work and move deployment controller into application controller

* updating REST method for unpublish in API test

* unpublish and publish endpoint on public API, delete endpoint unpublishes and deletes app

* removing skip_setup from prodAppDb call

* removing commented code

* unit tests and open API spec updates

* unpublish, publish unit tests - delete still in progress

* remove line updating app name in API test

* unit tests

* v2.1.46

* Update pro version to 2.1.46

* v2.2.0

* Update pro version to 2.2.0

* Fix for budibase plugin skeleton, which utilises the old import style.

* Fix side nav styles

* v2.2.1

* Update pro version to 2.2.1

* using dist folder to allow importing constants for openAPI specs

* v2.2.2

* Update pro version to 2.2.2

* Fix for user enrichment call (updating to @budibase/nano fork) (#9038)

* Fix for #9029 - this should fix the issue users have been experiencing with user enrichment calls in apps, essentially it utilises a fork of the nano library we use to interact with CouchDB, which has been updated to use a POST request rather than a GET request as it supports a larger set of data being sent as query parameters.

* Incrementing Nano version to attempt to fix yarn registry issues.

* v2.2.3

* Update pro version to 2.2.3

* Fix SQL table `_id` filtering (#9030)

* Re-add support for filtering on _id using external SQL tables and fix filter key prefixes not working with _id field

* Remove like operator from internal tables and only allow basic operators on SQL table _id column

* Update data section filtering to respect new rules

* Update automation section filtering to respect new rules

* Update dynamic filter component to respect new rules

* v2.2.4

* Update pro version to 2.2.4

* lock changes (#9047)

* v2.2.5

* Update pro version to 2.2.5

* Make looping arrow point in right direction (#9053)

* v2.2.6

* Update pro version to 2.2.6

* Types/attaching license to account (#9065)

* adding license type to account

* removing planDuration

* v2.2.7

* Update pro version to 2.2.7

* Environment variable type coercion fix (#9074)

* Environment variable type coercion fix

* Update .gitignore

* v2.2.8

* Update pro version to 2.2.8

* tests passing

* all tests passing, updates to public API response

* update unpublish call to return 204, openAPI spec and unit

* fixing API tests

Co-authored-by: Budibase Release Bot <>
Co-authored-by: mike12345567 <me@michaeldrury.co.uk>
Co-authored-by: Andrew Kingston <andrew@kingston.dev>
Co-authored-by: melohagan <101575380+melohagan@users.noreply.github.com>
Co-authored-by: Rory Powell <rory.codes@gmail.com>
2022-12-19 13:18:00 +00:00
Rory Powell 7ef9e9dc51
File authentication using presigned URLs (#8883)
* file auth wip

* Private plugin bucket wip

* Add etag to logo request, fix circular dependency

* Resolve cyclic dependency

* Ensure browser doesn't cache custom component

* Global file fixes

* File fixes / remove permaUrl

* Add ctx local storage

* Enable presigned url to work from any host

* Test fix

* Self hosting w/ S3 + other fixes

* Fix for serving dev app in multi tenant

* Fix backup restore and import attachment url processing, never store attachment urls

* Test fixes

* Unit tests WIP

* Replace file path with base64 encoded private key

* Multi tenancy tests for files

* Environment files fixes

* Post-merge build and test fixes

* Add debug conditional to all jest logging and revert/fix prod minio proxy_pass

* Re-add default '/' minio route :(

* Rename iconFile -> iconFileName

* Add cloudfront vars to k8s templates

* Remove public bucket policy

* Remove duplicated test
2022-12-15 11:35:22 +00:00
Peter Clement 9bf37b34ae
Server and Worker tests (#8928)
* automation unit tests

* row processor tests

* update executeQuery test

* update groups assertion

* some more worker tests

* plugin tests and tidying up

* linting

* temporarily disable group tests

* more tests

* fix import

* fix backup tests

* add pro mocks to worker

* check for app existence in import test

* test new tsconfig

* testing changes

* Pro test utils (#9020)

* Pro test utils changes

* Add test fixes

* Remove ts-ignore

Co-authored-by: mike12345567 <me@michaeldrury.co.uk>
Co-authored-by: Rory Powell <rory.codes@gmail.com>
2022-12-12 22:02:32 +00:00
mike12345567 ab914bcca2 Final fixes after re-running all test suites. 2022-11-28 19:12:23 +00:00
mike12345567 ce1b626f68 Updates to fix build. 2022-11-28 13:24:39 +00:00
mike12345567 ee4ebbfb56 Some typescript conversions, moving a few imports around. 2022-11-21 18:33:34 +00:00
mike12345567 fcb6f985a6 Updating some enums, plural to single. 2022-11-17 14:59:18 +00:00
mike12345567 4f64798ada Updating middlewares to Typescript, as well as some fixes based on running tests. 2022-11-16 17:24:13 +00:00
mike12345567 b0f6224c18 Some major reworks towards higher levels of typescript. 2022-11-16 17:23:12 +00:00
Rory Powell d205b5136b ensure fetch and aws are always mocked 2022-11-15 15:50:15 +00:00
Rory Powell 2212305f08 Bump jest and ts-jest to be consistent across backend packages to fix CI issue, test config updates 2022-11-14 22:55:47 +00:00
mike12345567 a12045917e Minor test rework after improving startup, a lot of mocks weren't being used correctly. 2022-10-27 15:15:08 +01:00
Rory Powell 0274b6755a Replace isTest check with mock for triggering app backup 2022-10-24 13:05:40 +01:00
mike12345567 eeda89725d Renaming data source -> datasource as per Mel's request. 2022-09-14 12:11:20 +01:00
mike12345567 b920f8cb05 Replacing all plural TS enumerations with singular - this involves a major rename of the DocumentTypes. 2022-08-11 13:50:05 +01:00
Rory Powell 4525cf4c6e Trigger served events on ping endpoint 2022-08-10 11:01:54 +01:00
mike12345567 8deab4be06 Merge branch 'master' of github.com:Budibase/budibase into fix/memory-leak 2022-07-14 16:40:23 +01:00
Rory Powell 917cbbb6b1 WIP: Memory leak fix 2022-07-13 08:22:21 -04:00
Dean 18f2e13a30 Fixes for Rest API request UI. Rest test fixes for XML API request body. Fix for raw XML api request body parsing issue. General fixes for query testing. 2022-06-17 12:00:42 +01:00
Rory Powell 429f379431 Failover protection with event cache 2022-05-31 21:04:41 +01:00
Rory Powell 6ea7912a73 Merge branch 'feature/posthog-v2' into feature/event-backfill 2022-05-23 10:29:33 +01:00
Rory Powell 63dd69f5b3 Finish global migration 2022-05-20 21:16:29 +01:00
Rory Powell 8ae358d237 App migrations finished 2022-05-20 12:29:31 +01:00
Rory Powell ca3206f4e4 Stub out migrations + start tests + add build watching for backend-core 2022-05-18 10:56:44 +01:00
Rory Powell bd33c827eb Merge branch 'develop' into feature/posthog-v2 2022-04-27 16:32:00 +01:00
mike12345567 fe846f86a5 Fixing issues with test cases - a lot of test cases didn't setup tenancy in any format, which now means that the API endpoints they call would not have access to a Global DB instance. Also had to disable the closing of the database in test as this was removing the database from memory, meaning future calls would find an empty database when they opened it. 2022-04-21 14:56:14 +01:00
mike12345567 1d61ff906a Fixing some issues detected by the test cases, making the in-use mechanism for context more clear to complete avoid stack up of contexts (leading to loss of knowledge around previous databases. 2022-04-20 23:10:39 +01:00
mike12345567 ea6f580501 Initial version of memory leak protection, making sure that PouchDB databases are closed correctly after use, using a combination of closures wrapping DB gets (this replaces the getDB, leaving only a dangerousGetDB function which can be used in very very specific scenarios) and then closing the DB as part of CLS hooked functions finishing. Also moving the GlobalDB init to the tenancy middleware as this is used everywhere in the worker/app services - means that not all getGlobalDB calls require an async closure around them. 2022-04-19 19:42:52 +01:00
Rory Powell 769f48f935 Remove remaining direct usage of CouchDB. Add common pouch config to backend-core 2022-04-19 16:45:27 +01:00
Rory Powell 23b68660c2 Merge branch 'feature/licensing' into feature/posthog-v2 2022-04-12 17:12:46 +01:00
Rory Powell b650863a2b smtp events + centralise worker test config 2022-04-06 17:00:17 +01:00
Rory Powell 1a131f3e19 Refactor automation tests to run independently 2022-04-06 12:34:31 +01:00
Rory Powell a4b49c3633 Logout events 2022-04-05 16:56:28 +01:00
Rory Powell 39ef2438a3 sso auth + datasource events, test updates 2022-04-05 15:46:04 +01:00
Rory Powell 7a5df9010c App events 2022-04-04 15:59:00 +01:00
Rory Powell 4ad846f116 Remove remaining direct usage of CouchDB. Add common pouch config to backend-core 2022-03-29 16:03:44 +01:00
Rory Powell bcc84bf1fd Link app context with tenancy, remove app tenancy middleware 2022-03-24 13:04:49 +00:00
mike12345567 3028c34564 Fixing test case. 2022-02-28 18:53:03 +00:00
mike12345567 f3418044dc Starting to fix up test cases. 2022-02-25 15:55:19 +00:00
Michael Drury 46d23cfb25 Adding a testing system which generates the schema and compares against responses. 2022-02-24 23:21:10 +00:00
Maurits Lourens 7b182b16ad fix tests 2022-02-11 17:28:19 +01:00
mike12345567 09cfa9508e Merge branch 'develop' of github.com:Budibase/budibase into lab-day/refactor-app-db 2022-01-31 17:16:59 +00:00
mike12345567 76e24018be Merge branch 'develop' of github.com:Budibase/budibase into lab-day/refactor-app-db 2022-01-31 14:09:07 +00:00
Rory Powell a153e920c9 Merge branch 'develop' into feature/migrations-2.0 2022-01-30 22:37:11 +00:00
mike12345567 417bf98ec9 Tests updating, all now passing, fixed some issues discovered by them. 2022-01-28 15:43:51 +00:00
Michael Drury 91c2a40c89 Final pass refactoring - need to test but all code in server converted. 2022-01-28 00:05:39 +00:00
mike12345567 40c6eb2007 Main body of work, refactoring most usages. 2022-01-27 18:18:31 +00:00
Rory Powell e8e6fc549d Add app db support + app url migration 2022-01-27 10:40:31 +00:00
Rory Powell 5cb6e19274 Add CSRF Token 2022-01-25 22:54:50 +00:00