Commit Graph
26 Commits
Author SHA1 Message Date
Sebastian Martinez ef7a2659b5 Fixes e2e test suite relation with seed.radicle.garden
- Due to missing preferredSeed config option we where trying to connect to
seed.radicle.garden on the fixture creation.
- This commit also starts first nodes before httpds due to the config
being updated by the node.
2024-01-29 17:17:03 +01:00
Thomas Scholtes 922b8edd73 tests: Add PeerManager#shutdown to ensure cleanup during tests
Signed-off-by: Thomas Scholtes <geigerzaehler@axiom.fm>
2023-12-11 12:13:51 +01:00
Thomas Scholtes 7d61539d95 Renaming confusing method startPeer to createPeer
The name was confusing because the function does not actually start any
services.
2023-12-11 12:13:51 +01:00
Sebastian Martinez bac15bfdc7 Rename tracking to seeding
Following the heartwood release 6ca7da2 we also rename tracking
to seeding, and update our `radicle-httpd` endpoints and configs.

Also updates test suites to handle new CLI commands.
2023-12-07 09:45:06 +01:00
Thomas Scholtes 3717a18fc8 Consolidate duplicate code to start global HTTP API server 2023-12-04 10:44:58 +01:00
Thomas Scholtes 999adff9c1 Ensure correct order when setting up fixtures
When setting up the global fixtures we need to ensure that the peers
that create changes sync their changes to the seed (palm). The only
thing necessary is for the peer to discover palm as the seed for the
project. Then `git push rad --all` will sync all changes to palm.

It’s not necessary to listen for any other event and we remove the
corresponding calls to `waitForEvent` or `waitForRoutes`.

In fact, these calls never did anything besides sleep since the
implementation of `waitForEvent` was faulty. We fix that, too.

Signed-off-by: Thomas Scholtes <geigerzaehler@axiom.fm>
2023-11-25 06:40:30 +01:00
Thomas Scholtes 72fd099ecd Stop confirming removal of test tmp files
We stop asking for confirmation to remove the folders containing the
static generated fixtures. All the data is programatically generated so
it’s not a big deal if it is lost. In any case the data is retained
after a test run and only deleted before the next test run.

Signed-off-by: Thomas Scholtes <geigerzaehler@axiom.fm>
2023-11-23 16:47:14 +01:00
Sebastian Martinez 1ef0f9dfd1 Add issue embeds
Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-09-27 16:40:49 +02:00
Sebastian Martinez cccee12477 Add a NodeConfigurator class, to modify a config.json
Since Heartwood is removing some of the radicle-node options we were
relying on when starting nodes for our tests, we need to move those to
the `config.json` file.

To make it more DX friendly, I added a `NodeConfigurator` class which
reads the correspondig `config.json`, stores it and allows to configure
it before starting a node.

Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-08-22 09:54:34 +02:00
Sebastian Martinez 14ba807e55 Set the httpd port for the test suite to be 8081.
Also where possible use the `config.seeds.defaultHttpdPort` instead of
hardcoding it.

Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-07-17 15:19:31 +02:00
Sebastian Martinez db94969f8a Allow httpd API ports to be generated randomly.
To avoid port collisions between tests that can eventually run in
parallel, we need to be able to generate random port numbers.

This commit generates random httpd port numbers for inline tests,
while keeping the current palm seed with the default port number 8080.

Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-07-09 14:19:47 +02:00
Sebastian Martinez 3e797a2d08 Make a globalSetup for the httpd-client tests
Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-07-04 09:56:23 +02:00
Sebastian Martinez 78663937d1 Add ability to stop test nodes and httpds
Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-07-04 09:56:23 +02:00
Sebastian Martinez e5dccba3ff Teardown hanging processes in Vitest
After setting up the global env for the httpd:api tests, there were
tests hanging until the timeout of 10 seconds killed them.

By returning an async function from the globalSetup we can kill them
preemptively.

Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-07-04 09:56:23 +02:00
Thomas Scholtes 40f2b3e516 Tests automatically use heartwood binaries from local test folder
It’s not necessary anymore to add the folder with the heartwood test
binaries to `PATH` before running the end-to-end tests.

Signed-off-by: Thomas Scholtes <geigerzaehler@axiom.fm>
2023-06-29 11:34:53 +02:00
Sebastian Martinez 107696c3c9 Add a cobs fixture and issue and patch tests
Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-06-08 11:13:28 +02:00
Sebastian Martinez 889b13303b Extract markdown from source-browsing fixture
Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-06-05 15:08:32 +02:00
Sebastian Martinez d5d665f070 Reduce e2e tests flakiness
Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-05-23 10:56:47 +02:00
Sebastian Martinez c32b303744 Add CLI tooling to create seed fixtures on the fly
Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-05-12 14:23:10 +02:00
Rūdolfs Ošiņš 069b0949d5 Enable the @typescript-eslint/no-floating-promises rule
Signed-off-by: Rūdolfs Ošiņš <rudolfs@osins.org>
2023-04-12 15:05:05 +02:00
Sebastian Martinez 3ea6a07dc4 Update seed fixture to latest heartwood commit
Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-03-14 11:13:15 +01:00
Rūdolfs Ošiņš 2bad94457c Migrate to the heartwood protocol stack
Signed-off-by: Rūdolfs Ošiņš <rudolfs@osins.org>
2023-03-03 14:23:46 +01:00
xphoniexandRūdolfs Ošiņš f72405a3e4 Add support for Heartwood
Co-authored-by: Rūdolfs Ošiņš <rudolfs@osins.org>
Signed-off-by: xphoniex <dj.2dixx@gmail.com>
Signed-off-by: Rūdolfs Ošiņš <rudolfs@osins.org>
2023-01-04 11:20:14 +01:00
Rūdolfs Ošiņšandxphoniex 26f96990a4 Extract fixture specific variables
Co-authored-by: xphoniex <dj.2dixx@gmail.com>
Signed-off-by: Rūdolfs Ošiņš <rudolfs@osins.org>
2022-12-28 12:23:28 +01:00
Sebastian Martinez e86accafae Handle errors in Browser.svelte
Updates also the seed fixture to fix some minor issues and add a
relative image markdown example

Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2022-12-21 17:10:20 +01:00
Rūdolfs OšiņšandSebastian Martinez 9cb9332e88 Replace Cypress with Playwright
Playwright is more flexible and has better developer experience than Cypress.
We add end to end tests covering:

  - project source browsing
    - tree view
    - commit list view
    - commit view
  - routing
    - hash based
    - history API based
  - clipboard copy paste functionality
  - seed view
  - project search
  - landing page view
  - settings

Co-authored-by: Sebastian Martinez <me@sebastinez.dev>
Signed-off-by: Rūdolfs Ošiņš <rudolfs@osins.org>
2022-12-01 15:54:56 +01:00