From 0f2e66b788d8d6ff824c3a75f1ba597409a93779 Mon Sep 17 00:00:00 2001 From: Eduardo Date: Thu, 14 Aug 2014 10:08:54 -0300 Subject: [PATCH] test e alterações feitas no wscserver --- wscserver/tests/__init__.py | 1 + wscserver/tests/test_conect.py | 89 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ wscserver/view/restfulview.py | 22 ++++++++++++++++++++-- 3 files changed, 110 insertions(+), 2 deletions(-) create mode 100644 wscserver/tests/__init__.py create mode 100644 wscserver/tests/test_conect.py diff --git a/wscserver/tests/__init__.py b/wscserver/tests/__init__.py new file mode 100644 index 0000000..792d600 --- /dev/null +++ b/wscserver/tests/__init__.py @@ -0,0 +1 @@ +# diff --git a/wscserver/tests/test_conect.py b/wscserver/tests/test_conect.py new file mode 100644 index 0000000..f8f78f4 --- /dev/null +++ b/wscserver/tests/test_conect.py @@ -0,0 +1,89 @@ +#!/usr/env python +# -*- coding: utf-8 -* +import unittest +import requests +import json +#import hashlib +#from pyramid_restler.view import RESTfulView +#from collections import defaultdict + +class TestConect(unittest.TestCase): + """ + Testando WSCserver + """ + def setUp(self): + self.rest_url = 'http://10.1.0.121/wscserver' + pass + + + def test_carrega_classe(self): + """ + Testa carregar instanciar classe do REST + """ + url = self.rest_url + '/rest/coleta' + r = requests.get(url) + coleta = r.json() + coleta_str = r.text + fd = open('/tmp/coleta.json', 'w+') + fd.write(coleta_str) + fd.close() + + assert(coleta) + + def test_carrega_resultados(self): + """ + Carrega resultados em uma variavel + """ + url = self.rest_url + '/rest/coleta' + r = requests.get(url) + coleta = r.json() + results = coleta.get('results') + + assert(results) + + + def test_carrega_computador(self): + """ + Carrega resultados para um computador + """ + url = self.rest_url + '/rest/coleta' + r = requests.get(url) + coleta = r.json() + results = coleta.get('results') + computador = results[0] + + assert(computador) + + + def test_carrega_elemento(self): + """ + Carrega um elemento de um computador + """ + url = self.rest_url + '/rest/coleta' + r = requests.get(url) + coleta = r.json() + results = coleta.get('results') + computador = results[0] + software = computador.get('SoftwareList') + + assert(software) + + def test_url_rest(self): + """ + Testa URL do rest + """ + url = self.rest_url +'/rest/coleta' + get_url = requests.get(url) + assert(get_url) + + def test_url_zip(self): + """ + Testa URL do zip + """ + url = self.rest_url +'/zip/coleta' + get_url = requests.get(url) + assert(get_url) + + def tearDown(self): + pass + diff --git a/wscserver/view/restfulview.py b/wscserver/view/restfulview.py index 4bb840b..c54d5da 100644 --- a/wscserver/view/restfulview.py +++ b/wscserver/view/restfulview.py @@ -17,6 +17,7 @@ class CustomRESTfulView(RESTfulView): saida = {} results = [] + for computador in dados_banco: # Cria as chaves dos computadores saida[computador['id_computador']] = {} @@ -27,8 +28,9 @@ class CustomRESTfulView(RESTfulView): for x in dados_banco: # cria as chaves de propriedades nas classes + class_name = x['nm_class_name'] saida[x['id_computador']][x['nm_class_name']][ - x['nm_property_name']] = x['te_class_property_value'] + class_name +'_'+ x['nm_property_name']] = x['te_class_property_value'] # Ordena os objetos json for computador in saida: @@ -49,12 +51,28 @@ class CustomRESTfulView(RESTfulView): results.append(classes) - valores = { 'results': results, 'result_count': len(results) } + results = valores['results'] + for computador in results: + + SoftwareList = computador['SoftwareList'] + new_SoftwareList = [ ] + + for soft_key, soft_value in SoftwareList.items(): + + new_SoftwareList_element = { + 'name': soft_key, + 'value': soft_value + } + new_SoftwareList.append(new_SoftwareList_element) + + computador['SoftwareList'] = new_SoftwareList + + response_data = dict( body=json.dumps(valores), content_type='application/json' -- libgit2 0.21.2