Mainflux.mainflux/tools/e2e
b1ackd0t 6da9a5da21
NOISSUE - Fix Linting (#1938)
* Fix linting

Signed-off-by: rodneyosodo <blackd0t@protonmail.com>

* Remove parentID when creating groups

Signed-off-by: rodneyosodo <blackd0t@protonmail.com>

---------

Signed-off-by: rodneyosodo <blackd0t@protonmail.com>
2023-10-21 23:26:47 +02:00
..
cmd
Makefile
README.md
doc.go
e2e.go NOISSUE - Fix Linting (#1938) 2023-10-21 23:26:47 +02:00

README.md

Mainflux Users Groups Things and Channels E2E Testing Tool

A simple utility to create a list of groups and users connected to these groups and channels and things connected to these channels.

Installation

cd tools/e2e
make

Usage

./e2e --help
Tool for testing end-to-end flow of mainflux by doing a couple of operations namely:
1. Creating, viewing, updating and changing status of users, groups, things and channels.
2. Connecting users and groups to each other and things and channels to each other.
3. Sending messages from things to channels on all 4 protocol adapters (HTTP, WS, CoAP and MQTT).
Complete documentation is available at https://docs.mainflux.io


Usage:

  e2e [flags]


Examples:

Here is a simple example of using e2e tool.
Use the following commands from the root mainflux directory:

go run tools/e2e/cmd/main.go
go run tools/e2e/cmd/main.go --host 142.93.118.47
go run tools/e2e/cmd/main.go --host localhost --num 10 --num_of_messages 100 --prefix e2e


Flags:

  -h, --help                   help for e2e
  -H, --host string            address for a running mainflux instance (default "localhost")
  -n, --num uint               number of users, groups, channels and things to create and connect (default 10)
  -N, --num_of_messages uint   number of messages to send (default 10)
  -p, --prefix string          name prefix for users, groups, things and channels

To use -H option, you can specify the address for the Mainflux instance as an argument when running the program. For example, if the Mainflux instance is running on another computer with the IP address 192.168.0.1, you could use the following command:

go run tools/e2e/cmd/main.go --host 142.93.118.47

This will tell the program to connect to the Mainflux instance running on the specified IP address.

If you want to create a list of channels with certificates:

go run tools/e2e/cmd/main.go --host localhost --num 10 --num_of_messages 100 --prefix e2e

Example of output:

created user with token eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2ODEyMDYwMjMsImlhdCI6MTY4MTIwNTEyMywiaWRlbnRpdHkiOiJlMmUtbGF0ZS1zaWxlbmNlQGVtYWlsLmNvbSIsImlzcyI6ImNsaWVudHMuYXV0aCIsInN1YiI6IjdlZDIyY2IyLTRlMzQtNDhiZi04Y2RlLTIxMjZiYzYyYzY4MyIsInR5cGUiOiJhY2Nlc3MifQ.AdExNYs5mVQNpo_ejJDq7KTC5dKkZWmgM9FJvTM2T_GM2LE9ASQv0ymC4wS3PDXKWf-OcaR8DJIxE6WiG3fztQ
created users of ids:
9e87bc1d-0889-4252-a3df-36e02edfc859
c1e4901a-fb7f-45e9-b934-c55194b1d028
c341a9cb-542b-4c3b-afd6-c98e04ed5e7e
8cfc886b-21fa-4205-80b4-3601827b94ff
334984d7-30eb-4b06-92b8-5ec182bebac5
created groups of ids:
7744ec55-c767-4137-be96-0d79699772a4
c8fe4d9d-3ad6-4687-83c0-171356f3e4f6
513f7295-0923-4e21-b41a-3cfd1cb7b9b9
54bd71ea-3c22-401e-89ea-d58162b983c0
ae91b327-4c40-4e68-91fe-cd6223ee4e99
created things of ids:
5909a907-7413-47d4-b793-e1eb36988a5f
f9b6bc18-1862-4a24-8973-adde11cb3303
c2bd6eed-6f38-464c-989c-fe8ec8c084ba
8c76702c-0534-4246-8ed7-21816b4f91cf
25005ca8-e886-465f-9cd1-4f3c4a95c6c1
created channels of ids:
ebb0e5f3-2241-4770-a7cc-f4bbd06134ca
d654948d-d6c1-4eae-b69a-29c853282c3d
2c2a5496-89cf-47e6-9d38-5fd5542337bd
7ab3319d-269c-4b07-9dc5-f9906693e894
5d8fa139-10e7-4683-94f3-4e881b4db041
created policies for users, groups, things and channels
viewed users, groups, things and channels
updated users, groups, things and channels
sent messages to channels