Updates flaky test documentation with observed flakiness rates and corrects npm script syntax for isolating tests. Introduces a generic isolate runner and clarifies harness behavior regarding database state, removing the claim of automatic resets and noting reliance on Mocha hooks for cleanup.
Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 3be0ef95-aa69-441e-a33e-a8bd64e908de
Replit-Commit-Checkpoint-Type: intermediate_checkpoint
Replit-Commit-Event-Id: b7dbc77f-8b96-4ac3-8453-8976ddb7ee24
Replit-Helium-Checkpoint-Created: true
* * Simplified bundling to just one bundle
* Removed cache invalidation token from bundling
* Generate strong persistent random string on deploy to use for JWT signing
* WIP: moving api-secret and JWT signing to a separate centralized security component
* Moved some server components away from project root
* Fix issues reported by linter
* Ignore detect-object-injection everywhere but the client
* Make admin message button red
* Remove alarms for some security alerts on code
* api_secret is now fully contained in the enclave
* Adds a new method for the server to push notifies to the client, which require administration privileges from the user. If there are messages in queue but user is not privileged, she is notified of pending messages
* Fix unit tests
* Increase timeouts on tests
* Add translations
* * Aggregate admin messages
* Send admin message on auth fail
* Sending messages over bus
* XSS filtering of objects sent over the REST API
* Warn users if their instance is world readable
* Fix adminnotifies init()
* Fix couple issues from Codacy
* Run tests using GitHub Actions
* Node 10
* Test CI fails
* Use npm to run tests
* Fix package json to run tests
* Enable v3 TEST api for both development env and CI
* Run CI on both Node 10 and 12
* Allow downgrading Mongo
* extended .gitignore for Visual Studio 2017
* creating a lib for api3 and exposing it's swagger file
* adding pilot test (for /swagger.yaml)
* implementing public GET /version
* setting api version to 3.0.0-alpha
* creating authorization skeleton + fetching some API env variables
* reusing authorization library
* implementing security
* forcing HTTPS and removing x-powered-by from response
* moving messages to constants, creating https instance fixture
* testing HTTPS requiring
* testing Date header
* testing permission check
* testing allowed operation
* refactoring + storage stub
* create architecture for generic operations
* beginning of READ operation
* tidying the code up
* basic READ part
* going further with READ operation
* DELETE operation
* handling fields parameter
* refactoring to classes
* going further with SEARCH operation
* refactoring file structure
* filtering for SEARCH operation
* preparations for fallback deduplication
* CREATE operation
* UPDATE operation
* PATCH operation
* HISTORY operation
* creating more precise variant of HISTORY operation
* autopruning
* long for timestamps in swagger
* bug fix (when search fields=srvCreated)
* creating skeleton for generic collection API test
* specific HISTORY skeleton
* distinguish between collection logical and storage name
* renaming operation to LAST MODIFIED and getting it to work
* fallback for LAST MODIFIED operation
* tidying a bit
* LAST MODIFIED documentation
* bugfix + emitting data-received
* adding some validations
* bugfix - remove 'token' parameter from filtering
* testing and debugging generic workflow
* test fix for empty db
* fixing security test fixture
* trying to fix Travis CI testing DB problem
* multiple auth callback bugfix + adding user field on authed create/update
* messages for Travis CI debugging
* messages for Travis CI debugging
* messages for Travis CI debugging
* test fix (to be prepared for future dates in db)
* test fix
* adding fallback created_at filling on each create/update
* STATUS operation with API permissions
* querying srvDate from storage + include storage version info
* bugfix of missing apiConst require
* getting mongo version with read-only user rights
* getting mongo current date with read-only user rights
* trying to diagnose travis CI timeout
* refactoring storage version caching (due to some environments problems)
* making VERSION work on empty database
* more fixes
* skipping API HTTPS test for node 8
* making code more readable using ES6 (Promises, async + await)
* extending treatments collection docs by inspecting the careportal code
* tidying existing API3 tests up to allow further grow
* tidying the authorization code up to increase readability and performance a bit
* more refactoring to ES6 and making APIv3 files structure more extendable
* normalizing incoming dates to UTC and storing utcOffset
* fixing srvDate to be of node.js server, not the mongo DB
* preparing test fixtures for permissions testing + skeleton for CREATE operation test
* intensive CREATE operation testing + minor bug fixes
* correcting the deduplication test
* more deduplication testing of CREATE operation
* adding test skeletons for other generic operations
* added variability in filtering by date, created_at, srvModified, srvCreated fields
* fixing test accordingly to previous commit
* adding new collection settings for centralized apps' settings storage
* trying to solve travis CI testing problem - adding default collections names
* another attempt to travis CI test fix
* adding some tests for READ operation
* adding custom error handler (overriding bodyparser's errors)
* securing settings collection more and updating swagger accordingly
* making HISTORY timestamp parameter more flexible + updating swagger documentation
* more testing and bug fixing
* sending only HTTP status with empty body, when there is no message + minor bug fixing
* more refactoring and testing (especially of UPDATE operation)
* PATCH testing + adding userModified field for troubleshooting purposes
* basic SEARCH operation testing
* more SEARCH operation testing
* adding alternative 'now' query parameter to 'Date' header to make GET easier
* adding 'now' to reserved query parameters for SEARCH operation
* more testing
* renaming field user to subject (and modifiedBy)
* bugfix - fixing RFC 2822 constant for moment parsing
* storageSocket: creating skeleton for new Socket.IO namespace
* storageSocket: authentication by accessToken
* storageSocket: authorizing to subscribe rooms
* storageSocket: emitting create, update and delete events
* APIv3: adding support for swagger UI at /api/v3/swagger-ui-dist
* solving some problems detected by eslint
* solving some problems detected by eslint
* APIv3: testing and debugging Socket.IO
* APIv3: testing and debugging Socket.IO
* APIv3: Socket.IO documentation
* APIv3: making the sample real
* APIv3: starting to create a simple tutorial MD file
* APIv3: small corrections
* APIv3: minor corrections after dev merge
* APIv3: adding CREATE and READ operations to the tutorial.md
* APIv3: adding SEARCH, LAST MODIFIED, UPDATE operations to the tutorial.md
* APIv3: finishing the tutorial.md
* APIv3: minor bugfix (bad location after upsert)
* APIv3: refactoring SEARCH complexity
* APIv3: refactoring mongoCollection complexity
* APIv3: refactoring complexity
* APIv3: tidying up a bit
* APIv3: refactoring security (start)
* APIv3: refactoring lastModified
* APIv3: refactoring create (start)
* APIv3: refactoring create (finish)
* APIv3: refactoring delete
* APIv3: refactoring history
* APIv3: refactoring update
* APIv3: refactoring patch
* APIv3: refactoring read
* APIv3: refactoring search + removing deprecated authorizationBuilder
* APIv3: adding best practise for identifier constructing
* APIv3: refactoring and enhancing the validation (immutable fields)
* APIv3: adding security.md documentation file
* APIv3: refactoring - splitting index.js into multiple files
* APIv3: calculating identifier on server side + deduplicating
* APIv3: refactoring cosmetics
* APIv3: updating the documentation
* APIv3: making basic and security tests more readable using async/await
* APIv3: making the rest of tests more readable using async/await
* APIv3: adapting test of previous API
* APIv3: adapting test of previous API
Tested by deleting everything, running npm install from scratch.
This helps ensure that only the files in the static subdirectory can be served.
Should eliminate serving config files via http.