Roberto Hueso Gómez
bc1b958ceb
#915 Validate POST /stop REST API parameters
...
This patch ensures that all required parameters are sent in the request.
2019-11-06 11:26:06 +01:00
Roberto Hueso Gómez
0a41d5d02f
#915 Validate POST /reboot REST API parameters
...
This patch ensures that all required parameters are sent in the request.
2019-11-06 11:25:54 +01:00
Roberto Hueso Gómez
acf9cdf8d1
#915 Validate POST /poweroff REST API parameters
...
This patch ensures that all required parameters are sent in the request.
2019-11-06 11:25:24 +01:00
Roberto Hueso Gómez
8901505bb5
#915 Validate POST /session REST API parameters
...
This patch ensures that all required parameters are sent in the request.
2019-11-06 11:24:24 +01:00
Roberto Hueso Gómez
61059e1b2e
#915 Validate POST /shell/output REST API parameters
...
This patch ensures that all required parameters are sent in the request.
2019-11-06 11:22:35 +01:00
Roberto Hueso Gómez
b403c7ae6c
#915 Validate POST /shell/run REST API parameters
...
This patch ensures that all required parameters are sent in the request.
2019-11-06 11:17:19 +01:00
Roberto Hueso Gómez
ec5fe704cc
#915 Validate POST /wol REST API parameters
...
This patch ensures that all required parameters are sent in the request.
2019-11-06 11:16:59 +01:00
Roberto Hueso Gómez
54ecdbbdf1
#915 Validate POST /clients parameters
...
This patch adds og_msg_params_validate function as well as some flags that can
be used to validate parameters of a REST API request.
This patch ensures that all required parameters are sent in the request.
2019-11-06 11:16:36 +01:00
Roberto Hueso Gómez
64b470514b
#915 Fix ogAdmServer POST /software test parameters
...
This patch adds missing parameters to the test JSON.
2019-11-06 11:16:22 +01:00
Javier Sánchez Parra
8082efd6de
#924 Always check the result of a command to avoid errors
...
Irina reports that if you try to restore an image without success
(for example: the disk does not have enough space), the database changes
as if no error would happen. So you see the computer in the WebConsole
with an image/OS that, actually, does not have.
The bug is caused because the function respuestaEstandar only checks
the result of a command if it has a session. So the problem is that the
commands which use respuestaEstandar without a session can return an
error, but the ogAdmServer always works as no error would occur.
This commit changes the behaviour of respuestaEstadar to always check
the result of a command, whether it has a session or not.
2019-11-04 15:09:04 +01:00
Roberto Hueso Gómez
2bc2490d00
#915 Add test for POST /run/schedule REST API
...
This test covers 3 scenarios:
1. Correct usage.
2. Incorrect usage, without payload.
3. Incorrect usage, use this command with GET.
2019-10-31 13:18:48 +01:00
Roberto Hueso Gómez
1f55beb8f5
#915 Add test for POST /image/restore/incremental REST API
...
This test covers 3 scenarios:
1. Correct usage.
2. Incorrect usage, without payload.
3. Incorrect usage, use this command with GET.
2019-10-31 13:18:48 +01:00
Roberto Hueso Gómez
20f935bb65
#915 Add test for POST /image/restore/basic REST API
...
This test covers 3 scenarios:
1. Correct usage.
2. Incorrect usage, without payload.
3. Incorrect usage, use this command with GET.
2019-10-31 13:18:48 +01:00
Roberto Hueso Gómez
b5722de3fb
#915 Add test for POST /image/create/incremental REST API
...
This test covers 3 scenarios:
1. Correct usage.
2. Incorrect usage, without payload.
3. Incorrect usage, use this command with GET.
2019-10-31 13:18:48 +01:00
Roberto Hueso Gómez
713070ab10
#915 Add test for POST /image/create/basic REST API
...
This test covers 3 scenarios:
1. Correct usage.
2. Incorrect usage, without payload.
3. Incorrect usage, use this command with GET.
2019-10-31 13:18:48 +01:00
Roberto Hueso Gómez
1436d44cc6
#915 Add test for POST /image/setup REST API
...
This test covers 3 scenarios:
1. Correct usage.
2. Incorrect usage, without payload.
3. Incorrect usage, use this command with GET.
2019-10-31 13:18:48 +01:00
Roberto Hueso Gómez
ba3b1ad543
#915 Add test for POST /image/restore REST API
...
This test covers 3 scenarios:
1. Correct usage.
2. Incorrect usage, without payload.
3. Incorrect usage, use this command with GET.
2019-10-31 13:18:48 +01:00
Roberto Hueso Gómez
b4d2890460
#915 Add test for POST /image/create REST API
...
This test covers 3 scenarios:
1. Correct usage.
2. Incorrect usage, without payload.
3. Incorrect usage, use this command with GET.
2019-10-31 13:18:48 +01:00
Roberto Hueso Gómez
723f110308
#915 Use og_cmd_legacy_send in og_cmd_run_schedule for ogAdmServer
...
This patch simplifies the og_cmd_run_schedule function by calling
og_cmd_legacy_send.
2019-10-29 14:22:08 +01:00
Roberto Hueso Gómez
2f7e9da5ab
#915 Add POST "run/schedule" command to REST API in ogAdmServer
...
This patch implements the command "run/schedule" that kicks in pending commands
execution.
Request:
POST /run/schedule
{
"clients": ["192.168.56.11"]
}
Reply:
200 OK
This patch also adds a simple test to cover correction of the command.
2019-10-25 14:12:09 +02:00
Javier Sánchez Parra
61bbcd9251
#915 Fix POST "software" cmd in ogAdmServer and web
...
This patch adds the parameters "disk" and "partition" to
POST "software" command. This way the client can create a software
profile without failure.
New request:
POST /software
{
"clients":[
"192.168.56.12"
],
"disk":"1",
"partition":"1"
}
Reply:
200 OK
2019-10-11 13:45:15 +02:00
Javier Sánchez Parra
90672e4a25
#915 Add test for POST /image/restore/incremental command
...
This test covers correction of the command.
2019-10-11 11:57:08 +02:00
Javier Sánchez Parra
d52c6d085a
#915 Add POST "image/restore/incremental" command to REST API in ogAdmServer
...
This patch implements the command "image/restore/incremental" that provides
partitioning and formatting functionality.
Request:
POST /image/restore/incremental
{
"clients":[
"192.168.56.11",
"192.168.56.12"
],
"disk":"1",
"partition":"1",
"id":"8",
"name":"test",
"repository":"192.168.56.10",
"profile":"25",
"type":"MULTICAST_9000:full-duplex:239.194.2.11:70M:4:60",
"sync_params":{
"diff_id":"10",
"diff_name":"testdiff",
"path":"",
"method":"1",
"sync":"2",
"diff":"0",
"remove":"1",
"compress":"0",
"cleanup":"0",
"cache":"0",
"cleanup_cache":"0",
"remove_dst":"0"
}
}
Reply:
200 OK
2019-10-11 11:57:08 +02:00
Roberto Hueso Gómez
45f414e32c
#915 Add test for POST "image/create/incremental" command
...
This test covers correction of the command.
2019-10-11 11:57:08 +02:00
Roberto Hueso Gómez
43c7da8a72
#915 Add POST "image/create/incremental" command to REST API in ogAdmServer
...
This patch implements the command "image/create/incremental".
Request:
{"clients":["192.168.56.11"],
"disk":"1",
"partition":"1",
"id":"3",
"name":"basica1",
"repository":"192.168.56.10",
"sync_params":{"sync":"1",
"path":"",
"diff":"0",
"diff_id":"4",
"diff_name":"p2",
"remove":"1",
"compress":"0",
"cleanup":"0",
"cache":"0",
"cleanup_cache":"0",
"remove_dst":"0"
}
}
Reply:
200 OK
2019-10-11 11:57:08 +02:00
Javier Sánchez Parra
17eeac1284
#915 Add test for POST /image/restore/basic command
...
This test covers correction of the command.
2019-10-09 15:27:59 +02:00
Javier Sánchez Parra
f61fd9a488
#915 Add POST "image/restore/basic" command to REST API in ogAdmServer
...
This patch implements the command "image/restore/basic" that provides
partitioning and formatting functionality.
Request:
POST /image/restore/basic
{
"clients":[
"192.168.56.11"
],
"disk":"1",
"partition":"1",
"id":"9",
"name":"test",
"repository":"192.168.56.10",
"profile":"17",
"type":"UNICAST",
"sync_params":{
"path":"",
"method":"1",
"sync":"1",
"diff":"0",
"remove":"1",
"compress":"0",
"cleanup":"0",
"cache":"0",
"cleanup_cache":"0",
"remove_dst":"0"
}
}
Reply:
200 OK
2019-10-09 15:27:59 +02:00
Javier Sánchez Parra
74061887ee
#915 Add test for POST /image/create/basic command
...
This test covers correction of the command.
2019-10-08 14:01:14 +02:00
Javier Sánchez Parra
01e77f4cb2
#915 Add POST "image/create/basic" command to REST API in ogAdmServer
...
This patch implements the command "image/create/basic" that provides
partitioning and formatting functionality.
Request:
POST /image/create/basic
{
"clients":[
"192.168.56.11"
],
"disk":"1",
"partition":"1",
"code":"131",
"id":"8",
"name":"debianbasica",
"repository":"192.168.56.10",
"sync_params":{
"sync":"1",
"diff":"0",
"remove":"1",
"compress":"0",
"cleanup":"0",
"cache":"0",
"cleanup_cache":"0",
"remove_dst":"0"
}
}
Reply:
200 OK
2019-10-08 14:00:47 +02:00
Roberto Hueso Gómez
e3af7eed4d
#915 Improve error management for og_json_parse_partition()
...
Validate json input and return an error code when parsing is not correct.
2019-10-07 12:54:53 +02:00
Roberto Hueso Gómez
ad4d4bdbbe
Add test for POST /image/create command
...
This test covers correction of the command.
2019-10-07 11:15:28 +02:00
Roberto Hueso Gómez
dbcc83daa5
#915 Add POST "image/setup" command to REST API in ogAdmServer
...
This patch implements the command "image/setup" that provides partitioning and
formatting functionality.
Request:
POST /image/setup
{ "clients" : [ "192.168.56.11" ], "disk" : "1", "cache" : "1", "cache_size" : "0",
"partition_setup":
[{"partition": "1", "code": "LINUX", "filesystem": "EMPTY", "size": "498688", "format": "0"},
{"partition": "2", "code": "LINUX-SWAP", "filesystem": "EMPTY", "size": "199987", "format": "0"},
{"partition": "3", "code": "LINUX", "filesystem": "EMPTY", "size": "31053824", "format": "0"},
{"partition": "4", "code": "EMPTY", "filesystem": "EMPTY", "size": "0", "format": "0"}]}
Reply:
200 OK
2019-10-07 11:14:41 +02:00
OpenGnSys Support Team
e6cfd83323
#915 Remove Apagar, CrearImagen, RestaurarImagen, InventarioHardware, InventarioSoftware
...
These socketHidra calls have been replaced by the REST API, remove them.
2019-10-03 11:34:02 +02:00
OpenGnSys Support Team
e5cfdd6406
#915 : adapt test to use id and profile fields
...
Update restore_image.json to use id and profile fields.
2019-10-01 12:59:50 +02:00
Roberto Hueso Gómez
1dde02e1ab
#915 : Add POST /image/restore command to REST API in ogAdmServer
...
This patch implements the command "image/create" that creates an image
in a client.
Request:
POST /image/restore
{ "clients" : [ "192.168.56.11" ], "disk" : "1", "partition" : "1", "name" : "test", "repository" : "192.168.56.10", "type" : "UNICAST", "filesystem": "1", "image_id": "1"}
Reply:
200 OK
2019-10-01 12:56:10 +02:00
Roberto Hueso Gómez
c87a1dbdfb
#915 : add og_json_parse_string() and use it
...
This patch avoids repeating similar code by using just one json parser.
2019-10-01 12:56:10 +02:00
Roberto Hueso Gómez
1a8ada191f
#915 : Add POST /image/create command to REST API in ogAdmServer
...
This patch implements the command "image/create" that creates an image
in a client.
Request:
POST /image/create
{ "clients" : [ "192.168.2.1" ], "disk" : "1", "partition" : "1", "code" : "1", "id" : "1", "name" : "test", "repository" : "192.168.2.2" }
Reply:
200 OK
2019-10-01 12:56:10 +02:00
Roberto Hueso Gómez
7bdc8fdf75
#915 : Removes braces for single statement if branch
...
Just a cleanup.
2019-10-01 12:56:10 +02:00
Roberto Hueso Gómez
8b1beddbe4
#915 : Fix file descriptor leak in og_socket_server_init() from exit path
...
Call close() to release the socket in the event of an error.
infer says:
sources/ogAdmServer.cpp:1244: error: RESOURCE_LEAK
resource acquired by call to `socket()` at line 1236, column 6 is not released after line 1244, column 3.
1242. sizeof(on));
1243. if (res < 0) {
1244. > syslog(LOG_ERR, "cannot set broadcast socket\n");
1245. return false;
1246. }
Not a real problem since OS releases process resources if the server
cannot bind to the port, but just to be correct here.
2019-09-19 16:06:07 +02:00
Roberto Hueso Gómez
c1c89e196c
#915 : Return 400 status code in POST methods when no payload is attached
...
If no payload is attached to method that requires a payload, then the API
returns a 400 status code (following RFC 7231) instead of the previous 404.
test_0001_get_clients.py is also modified to fit the new status code.
2019-09-19 16:06:03 +02:00
Roberto Hueso Gómez
55edb404b7
#915 : Fix incorrect method and code in invalid GET requests
...
Some tests should perform GET requests however they incorrectly use POST.
Return codes for these tests have also been fixed.
2019-09-18 17:40:41 +02:00
Roberto Hueso Gómez
72b6c26a49
#915 : Remove duplicated test
...
This test is already performed in test_0001_get_clients.py
2019-09-18 17:40:41 +02:00
Roberto Hueso Gómez
741524f59b
#915 : more descriptive function name in test
...
This test sends a POST with no body, which is illegal, use a function
name that describes this.
2019-09-18 17:40:41 +02:00
Javier Sánchez Parra
46d791ae44
#915 add test for too large HTTP request fields
...
This test checks for wrong headers HTTP requests:
1. POST /clients with a content length larger than a signed int.
2. POST /clients with an auth token larger than 63 characters.
2019-09-10 11:10:34 +02:00
Javier Sánchez Parra
36ad0061d7
#915 check HTTP Content-Length size
...
If Content-Length is too large ogAdmServer, close the connection..
2019-09-10 11:10:34 +02:00
Javier Sánchez Parra
64e653773e
#915 fix missing null-terminated string
...
This patch changes the number of characters stored in cli->auth_token
from 64 to 63. This way the array has the last position available to
store the null character.
2019-09-05 13:14:33 +02:00
Javier Sánchez Parra
784495f5d5
#915 adds test for too large HTTP request
...
This test checks for too large HTTP requests, for example:
POST /clients
with a body of 4096 bytes.
2019-09-04 20:13:11 +02:00
OpenGnSys Support Team
3e8fcf0b40
#915 do not bail out when failing to send message to stale clients
...
Clients might enter power saving mode, hence, closing the connection
with the server. When the server sends a request to refresh its state,
if they are gone, do not break the iteration over the list of clients.
2019-09-02 13:36:50 +02:00
Javier Sánchez Parra
3de93a9503
#559 fix out of bound array access
...
This patch change the size of the array ptrPar from 6 to 7.
cppcheck says:
[sources/ogAdmServer.cpp:598]: (error) Array 'ptrCfg[6]' accessed at index 6, which is out of bounds.
2019-08-28 18:39:33 +02:00
Javier Sánchez Parra
882fec820e
#915 check ogAdmServer binary existence when running pythong tests
...
Currently, if you try to run the python test without the ogAdmServer
binary, it will throw an exception.
This patch adds a check to ensure the existence of the ogAdmServer binary
at the beginning of the script.
# python3 run-tests.py
You need to build the ogAdmServer binary to run these tests :-)
2019-08-28 17:54:57 +02:00