summaryrefslogtreecommitdiff
path: root/docs/src
diff options
context:
space:
mode:
authorjwijenbergh <jeroenwijenbergh@protonmail.com>2022-05-13 16:33:55 +0200
committerjwijenbergh <jeroenwijenbergh@protonmail.com>2022-05-13 16:33:55 +0200
commit6a334df58cf0e12ef21f61a133a822f0b19cb4fc (patch)
tree164f888b79d5cfe121733e50fcd3fc131c06b430 /docs/src
parent4d2f93fa46adc037f1237ebd35e3faafb4a7759a (diff)
Docs: Small changes regarding tests, Python wrapper and overview
Diffstat (limited to 'docs/src')
-rw-r--r--docs/src/about.md6
-rw-r--r--docs/src/gettingstarted/README.md4
-rw-r--r--docs/src/gettingstarted/testing.md14
3 files changed, 15 insertions, 9 deletions
diff --git a/docs/src/about.md b/docs/src/about.md
index 672ae6a..c69f1bf 100644
--- a/docs/src/about.md
+++ b/docs/src/about.md
@@ -2,7 +2,7 @@
This chapter contains background information for the library. We give a general introduction to eduVPN and explain what problems this library aims to solve.
## EduVPN introduction
-eduVPN-common is a library for [eduVPN](https://www.eduvpn.org/), which is a VPN by [SURF](https://www.surf.nl) and a project by [GÉANT](https://geant.org/), for research institutes such as Universities. Each institute that uses eduVPN has its own server. To discover these servers and establish a VPN connection with them, eduVPN clients are used. eduVPN has clients for each common platform:
+eduVPN-common is a library for [eduVPN](https://www.eduvpn.org/), which is a VPN by [SURF](https://www.surf.nl) and a project by [GÉANT](https://geant.org/), for research institutes and universities. Each institute that uses eduVPN has its own server. To discover these servers and establish a VPN connection with them, eduVPN clients are used. eduVPN has clients for each common platform:
- [Android](https://github.com/eduvpn/android)
- [Linux](https://github.com/eduvpn/python-eduvpn-client)
- [MacOS/iOS](https://github.com/eduvpn/apple)
@@ -10,12 +10,12 @@ eduVPN-common is a library for [eduVPN](https://www.eduvpn.org/), which is a VPN
## The problem
However, as these clients are rather similar in functionality, apart from platform specific differences, right now there is duplicate code between them. For example, the process to discover institution's servers, the authorization process (OAuth) and Wireguard key generation.
-This goal of this library is to provide the common functionality between these clients into one codebase. The library is written in the [Go](https://go.dev/) language and has wrapper code for each of the languages that are used by the current clients.
+This goal of this library is to provide the common functionality between these clients into one codebase. The library is written in the [Go](https://go.dev/) language and aims to have wrapper code for each of the languages that are used by the current clients.
The main goal is thus the following:
![](./godifferences.png)
-This library tries to remove non-platform specific common functionality. This way eduVPN clients have less duplicate code.
+This library tries to remove non-platform specific common functionality. This way eduVPN clients have less duplicate code. The building blocks that are removed by the library is not just the four depicted in this figure. You can think of other building blocks, such as logging and local configuration file saving. As can be seen in the figure, no User Interface (UI) code will be implemented. This is left to the eduVPN clients, on top of platform-specific code.
## License
[MIT](https://github.com/jwijenbergh/eduvpn-common/blob/main/LICENSE)
diff --git a/docs/src/gettingstarted/README.md b/docs/src/gettingstarted/README.md
index d2c7455..f73a736 100644
--- a/docs/src/gettingstarted/README.md
+++ b/docs/src/gettingstarted/README.md
@@ -1,4 +1,6 @@
# Getting started
-This chapter contains the steps to get started with the Go library. You will learn how to build the library, how to run the test suite and how to debug possible errors.
+This chapter contains the steps to get started with the Go library and the Python wrapper. You will learn how to build the library/wrapper, how to run the test suite and how to debug possible errors.
+
+Note that the Python wrapper is the most up to date wrapper. For now, we only document the Python wrapper in this documentation and in the future document the other wrappers as well.
The documentation on how to use this library will be given in the next chapter: [API](../api/index.html).
diff --git a/docs/src/gettingstarted/testing.md b/docs/src/gettingstarted/testing.md
index 9ac222f..f3a47b6 100644
--- a/docs/src/gettingstarted/testing.md
+++ b/docs/src/gettingstarted/testing.md
@@ -1,11 +1,13 @@
# Testing
-To test the Go code, issue the following command in a shell
+The Go library right now has tests defined for server interaction and signature verification tests.
+
+To run the test suite, issue the following command in a shell
```bash
make test-go
```
-Note that this runs the tests without any server interaction. To run the tests with an eduVPN server you need to specify environment variables:
+Note that this runs the tests without any server interaction (so for now only the signature verification tests). To run the tests with an eduVPN server you need to specify environment variables:
```bash
SERVER_URI="eduvpn.example.com" PORTAL_USER="example" PORTAL_PASS="example" make test-go
@@ -14,13 +16,13 @@ SERVER_URI="eduvpn.example.com" PORTAL_USER="example" PORTAL_PASS="example" make
This needs [python3-selenium](https://selenium-python.readthedocs.io/) and [geckodriver](https://github.com/mozilla/geckodriver/releases) (extract and put in your `$PATH`).
If you have [Docker](https://www.docker.com/get-started/) installed and [Docker-compose](https://docs.docker.com/compose/install/) you can use a convenient helper script which starts up two containers
-- An EduVPN Server for testing
+- An eduVPN server for testing
- A Go container that builds and runs the test-suite
```bash
PORTAL_USER="example" PORTAL_PASS="example" ./ci/startcompose.sh
```
-Note that this helper script also assumes you have the [openssl](https://www.openssl.org/) command line tool installed. This is used to install the self-signed certificates for testing.
+Note that this helper script also assumes you have the [OpenSSL](https://www.openssl.org/) command line tool installed. This is used to install the self-signed certificates for testing.
This script is also used in the continuous integration, so we recommend to run this before you submit any changes.
@@ -29,7 +31,7 @@ There are other environment variables that can be used:
- `OAUTH_EXPIRED_TTL`: Use this for a server which has a low OAuth access token expiry time, e.g. 10 seconds. You would then set this variable to `"10"` so that a test is ran which waits for 10 seconds for the OAuth tokens to expire
- `SERVER_IS_LOCAL`: Set this to `"1"` such that the server endpoints are taken from `$SERVER_URI/well-known.php` instead of `SERVER_URI/.well-known/vpn-user-portal`. This is common for local development servers
## Testing the wrappers
-To test the wrappers, issue the following command in a shell (you will need compilers for all wrappers if you do this):
+To test the wrappers, issue the following command in a shell (you will need dependencies for all wrappers if you do this[^1]):
```bash
make test-wrappers
@@ -45,3 +47,5 @@ make test
```
This accepts the same environment variables as we have explained before.
+
+[^1]: For now, this is only the Python wrapper as the other wrappers do not implement the newest API just yet.