owncast/test
mahmed2000 a7e5f20337
Implement admin password hashing with bcrypt (#3754)
* Add bcrypt hashing helpers

* SetAdminPassword now hashes the password before saving it

* BasicAuth now compares the bcrypt hash for the password

* Modify migration2 to avoid a double password hash when upgrading

* Add migration for bcrypt hashed password

* Do not show admin password hash as initial value

* Update api tests to compare the bcrypt hash of the admin password instead

* Remove old admin password api tests

---------

Co-authored-by: Gabe Kangas <gabek@real-ity.com>
2024-06-26 21:20:22 -07:00
..
automated Implement admin password hashing with bcrypt (#3754) 2024-06-26 21:20:22 -07:00
fixture chore(test): add followers fixture test data 2024-02-19 07:46:48 -08:00
load Bump ws from 7.4.6 to 7.5.10 in /test/load (#3787) 2024-06-17 17:00:18 -07:00
.gitignore Point fakechat test script to localhost by default. Commit package.json 2021-01-02 12:16:53 -08:00
fakeChat.js Chat refactor + persistent backing chat users (#1163) 2021-07-19 19:22:29 -07:00
ocTestStream.sh Fix HLS automatic test (#2572) 2023-01-11 20:11:13 -08:00
package-lock.json Bump ws from 8.2.3 to 8.17.1 in /test (#3790) 2024-06-19 09:23:01 -07:00
package.json Bump ws from 8.2.3 to 8.17.1 in /test (#3790) 2024-06-19 09:23:01 -07:00
populateContent.sh Change host in fixture script 2022-10-02 21:40:15 -07:00
README.md chore(tests): add readme note about remote host testing 2023-04-19 09:40:19 -07:00
test-local.sh chore: add local<->public test script 2023-04-18 18:04:57 -07:00
userColorsTest.js Update chat styling 2020-10-16 17:46:44 -07:00

Tests

Load Tests

  1. Install artillery from NPM/Yarn/Whatever Javascript package manager is popular this week.
  2. Start an instance of the server on localhost.
  3. artillery run httpGetTest.yaml for endpoint load tests.
  4. artillery run websocketTest.yaml for websocket load tests.

Chat test

This will send automated fake chat messages to your localhost instance. Edit the messages, usernames or point to a different instance.

  1. npm install
  2. node fakeChat.js

Public Testing

Run ./test-local.sh and it'll create a public URL that you can access your local Owncast instance from. This is particularly useful for testing mobile and other external devices, as well as webhooks. Make sure Owncast is running under port 8080.

If you'd like your own custom hostname that uses your username follow the instructions printed, otherwise use auto-generated name printed to the console for testing.

$ ./test/test-local.sh
Please wait. Making the local server port 8080 available at https://oc-gabek-develop.serveo.net
Forwarding HTTP traffic from https://oc-gabek-develop.serveo.net