Commit Graph

64 Commits

Author SHA1 Message Date
Juan Font
a36328dbfc Added integration tests 2021-09-25 13:12:44 +02:00
Kristoffer Dalby
024d6ee7c3
Initial work on shared node integration test
This commit adds initial integration tests for shared nodes, it adds
them and verifies that they are shared.

It does not yet manage to ping the shared node because it does not seem
to establish the connection.
2021-09-20 23:21:25 +01:00
Kristoffer Dalby
994b4eef17
Use JSON output and proper datamodel for tailscale status
This commit uses tailscale --json to check status, and unmarshal it into
the proper ipn Status.
2021-09-20 22:53:34 +01:00
Kristoffer Dalby
f905812afa
Test two namespaces
This expands the tests to verify two namespaces instead of only one.

It verifies some of the isolation, and is prework for shared nodes
testing
2021-09-20 20:18:28 +01:00
Kristoffer Dalby
d68d201722
Add version support to integration support
This commit adds a list of tailscale versions to use in the integration
test. An equal distribution of versions will be used across the clients.
2021-09-20 19:23:18 +01:00
Kristoffer Dalby
a054e2514a
Keep tailscale count at 25 in integration tests 2021-08-21 09:26:18 +01:00
Kristoffer Dalby
c49fe26da7
Code clean up, loglevel debug for integration tests 2021-08-21 09:15:16 +01:00
Kristoffer Dalby
1f422af1c8
Save headscale logs if jobs fail 2021-08-20 16:50:55 +01:00
Kristoffer Dalby
6fa61380b2
Up client count, make arguments more explicit and clean up unused assignments 2021-08-18 23:17:09 +01:00
Kristoffer Dalby
7d1a5c00a0
Try with longer timeout 2021-08-13 16:56:28 +01:00
Kristoffer Dalby
a8d9fdce3c
Uncomment ping test 2021-08-13 11:01:23 +01:00
Kristoffer Dalby
9698abbfd5
Resolve merge conflict 2021-08-13 10:33:19 +01:00
Kristoffer Dalby
7141e2ed70
Fix hostname passed to join command 2021-08-11 17:12:39 +01:00
Kristoffer Dalby
4e077b053c Initial work, add integration tests
This commit adds integration tests to headscale. They are currently
quite simple, but it lays the groundwork for more comprehensive testing
and ensuring we dont break things with the official tailscale client.

The test works by leveraging Docker (via dockertest) to spin up a
Headscale container, and a number of tailscale containers (10).

Each tailscale container is joined to the headscale and then "passed on"
to the tests.

Currently three tests have been implemented:

- Have all tailscale containers join headscale (in the setup process)
- Get IP from each container (I plan to extend this with cross-ping)
- List nodes with headscales CLI and verify all has been registered

This test depends on Docker, and currently, I have not looked into
hooking it into Github Actions.
2021-08-08 17:50:32 +01:00