From ca0a62f9c69e13e0c74b099de85f52a9daf0df54 Mon Sep 17 00:00:00 2001 From: Roberto Hueso Gómez Date: Tue, 21 Jan 2020 12:06:12 +0100 Subject: Fix /software command Linux operation This patch runs the script InventarioSoftware with the right arguments. This also increases the recv buffer size for the test server. --- src/linux/ogOperations.py | 8 +++++++- src/ogRest.py | 6 +++--- tests/units/server.py | 3 ++- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/linux/ogOperations.py b/src/linux/ogOperations.py index 357dd2f..e58256f 100644 --- a/src/linux/ogOperations.py +++ b/src/linux/ogOperations.py @@ -75,7 +75,13 @@ def software(request, path, ogRest): partition = request.getPartition() try: - ogRest.proc = subprocess.Popen([OG_PATH + 'interfaceAdm/InventarioSoftware', disk, partition, path], stdout=subprocess.PIPE, shell=True) + cmd = OG_PATH + 'interfaceAdm/InventarioSoftware ' + cmd += str(disk) + ' ' + cmd += str(partition) + ' ' + cmd += path + ogRest.proc = subprocess.Popen([cmd], + stdout=subprocess.PIPE, + shell=True) (output, error) = ogRest.proc.communicate() except: raise ValueError('Error: Incorrect command value') diff --git a/src/ogRest.py b/src/ogRest.py index f46a331..65a2731 100644 --- a/src/ogRest.py +++ b/src/ogRest.py @@ -114,9 +114,9 @@ class ogThread(): jsonResp.addElement('partition', request.getPartition()) f = open(path, "r") - lines = f.readlines() + output = f.read() f.close() - jsonResp.addElement('software', lines[0]) + jsonResp.addElement('software', output) response = restResponse(ogResponses.OK, jsonResp) client.send(response.get()) @@ -295,7 +295,7 @@ class ogRest(): threading.Thread(target=ogThread.session, args=(client, request, self,)).start() def process_software(self, client, request): - path = '/tmp/CSft-' + client.ip + '-' + request.getPartition() + path = '/tmp/CSft-' + client.ip + '-' + str(request.getPartition()) threading.Thread(target=ogThread.software, args=(client, request, path, self,)).start() def process_hardware(self, client): diff --git a/tests/units/server.py b/tests/units/server.py index 6020112..864b75c 100644 --- a/tests/units/server.py +++ b/tests/units/server.py @@ -15,6 +15,7 @@ class Server(): _probe_msg = 'POST /probe HTTP/1.0\r\nContent-Length:'+ \ str(len(_probe_json)) + \ '\r\nContent-Type:application/json\r\n\r\n' + _probe_json + _recv_buffer_size = 16384 def __init__(self, host='127.0.0.1', port=1234): self.host = host @@ -40,7 +41,7 @@ class Server(): self.conn.send(msg.encode()) def recv(self): - return self.conn.recv(1024).decode('utf-8') + return self.conn.recv(self._recv_buffer_size).decode('utf-8') def stop(self): self.conn.close() -- cgit v1.2.3-18-g5258