Commit 0f2e66b788d8d6ff824c3a75f1ba597409a93779
1 parent
558c4cac
Exists in
master
test e alterações feitas no wscserver
Showing
3 changed files
with
110 additions
and
2 deletions
Show diff stats
| @@ -0,0 +1 @@ | @@ -0,0 +1 @@ | ||
| 1 | +# |
| @@ -0,0 +1,89 @@ | @@ -0,0 +1,89 @@ | ||
| 1 | +#!/usr/env python | ||
| 2 | +# -*- coding: utf-8 -* | ||
| 3 | +import unittest | ||
| 4 | +import requests | ||
| 5 | +import json | ||
| 6 | +#import hashlib | ||
| 7 | +#from pyramid_restler.view import RESTfulView | ||
| 8 | +#from collections import defaultdict | ||
| 9 | + | ||
| 10 | +class TestConect(unittest.TestCase): | ||
| 11 | + """ | ||
| 12 | + Testando WSCserver | ||
| 13 | + """ | ||
| 14 | + def setUp(self): | ||
| 15 | + self.rest_url = 'http://10.1.0.121/wscserver' | ||
| 16 | + pass | ||
| 17 | + | ||
| 18 | + | ||
| 19 | + def test_carrega_classe(self): | ||
| 20 | + """ | ||
| 21 | + Testa carregar instanciar classe do REST | ||
| 22 | + """ | ||
| 23 | + url = self.rest_url + '/rest/coleta' | ||
| 24 | + r = requests.get(url) | ||
| 25 | + coleta = r.json() | ||
| 26 | + coleta_str = r.text | ||
| 27 | + fd = open('/tmp/coleta.json', 'w+') | ||
| 28 | + fd.write(coleta_str) | ||
| 29 | + fd.close() | ||
| 30 | + | ||
| 31 | + assert(coleta) | ||
| 32 | + | ||
| 33 | + def test_carrega_resultados(self): | ||
| 34 | + """ | ||
| 35 | + Carrega resultados em uma variavel | ||
| 36 | + """ | ||
| 37 | + url = self.rest_url + '/rest/coleta' | ||
| 38 | + r = requests.get(url) | ||
| 39 | + coleta = r.json() | ||
| 40 | + results = coleta.get('results') | ||
| 41 | + | ||
| 42 | + assert(results) | ||
| 43 | + | ||
| 44 | + | ||
| 45 | + def test_carrega_computador(self): | ||
| 46 | + """ | ||
| 47 | + Carrega resultados para um computador | ||
| 48 | + """ | ||
| 49 | + url = self.rest_url + '/rest/coleta' | ||
| 50 | + r = requests.get(url) | ||
| 51 | + coleta = r.json() | ||
| 52 | + results = coleta.get('results') | ||
| 53 | + computador = results[0] | ||
| 54 | + | ||
| 55 | + assert(computador) | ||
| 56 | + | ||
| 57 | + | ||
| 58 | + def test_carrega_elemento(self): | ||
| 59 | + """ | ||
| 60 | + Carrega um elemento de um computador | ||
| 61 | + """ | ||
| 62 | + url = self.rest_url + '/rest/coleta' | ||
| 63 | + r = requests.get(url) | ||
| 64 | + coleta = r.json() | ||
| 65 | + results = coleta.get('results') | ||
| 66 | + computador = results[0] | ||
| 67 | + software = computador.get('SoftwareList') | ||
| 68 | + | ||
| 69 | + assert(software) | ||
| 70 | + | ||
| 71 | + def test_url_rest(self): | ||
| 72 | + """ | ||
| 73 | + Testa URL do rest | ||
| 74 | + """ | ||
| 75 | + url = self.rest_url +'/rest/coleta' | ||
| 76 | + get_url = requests.get(url) | ||
| 77 | + assert(get_url) | ||
| 78 | + | ||
| 79 | + def test_url_zip(self): | ||
| 80 | + """ | ||
| 81 | + Testa URL do zip | ||
| 82 | + """ | ||
| 83 | + url = self.rest_url +'/zip/coleta' | ||
| 84 | + get_url = requests.get(url) | ||
| 85 | + assert(get_url) | ||
| 86 | + | ||
| 87 | + def tearDown(self): | ||
| 88 | + pass | ||
| 89 | + |
wscserver/view/restfulview.py
| @@ -17,6 +17,7 @@ class CustomRESTfulView(RESTfulView): | @@ -17,6 +17,7 @@ class CustomRESTfulView(RESTfulView): | ||
| 17 | 17 | ||
| 18 | saida = {} | 18 | saida = {} |
| 19 | results = [] | 19 | results = [] |
| 20 | + | ||
| 20 | for computador in dados_banco: | 21 | for computador in dados_banco: |
| 21 | # Cria as chaves dos computadores | 22 | # Cria as chaves dos computadores |
| 22 | saida[computador['id_computador']] = {} | 23 | saida[computador['id_computador']] = {} |
| @@ -27,8 +28,9 @@ class CustomRESTfulView(RESTfulView): | @@ -27,8 +28,9 @@ class CustomRESTfulView(RESTfulView): | ||
| 27 | 28 | ||
| 28 | for x in dados_banco: | 29 | for x in dados_banco: |
| 29 | # cria as chaves de propriedades nas classes | 30 | # cria as chaves de propriedades nas classes |
| 31 | + class_name = x['nm_class_name'] | ||
| 30 | saida[x['id_computador']][x['nm_class_name']][ | 32 | saida[x['id_computador']][x['nm_class_name']][ |
| 31 | - x['nm_property_name']] = x['te_class_property_value'] | 33 | + class_name +'_'+ x['nm_property_name']] = x['te_class_property_value'] |
| 32 | 34 | ||
| 33 | # Ordena os objetos json | 35 | # Ordena os objetos json |
| 34 | for computador in saida: | 36 | for computador in saida: |
| @@ -49,12 +51,28 @@ class CustomRESTfulView(RESTfulView): | @@ -49,12 +51,28 @@ class CustomRESTfulView(RESTfulView): | ||
| 49 | 51 | ||
| 50 | results.append(classes) | 52 | results.append(classes) |
| 51 | 53 | ||
| 52 | - | ||
| 53 | valores = { | 54 | valores = { |
| 54 | 'results': results, | 55 | 'results': results, |
| 55 | 'result_count': len(results) | 56 | 'result_count': len(results) |
| 56 | } | 57 | } |
| 57 | 58 | ||
| 59 | + results = valores['results'] | ||
| 60 | + for computador in results: | ||
| 61 | + | ||
| 62 | + SoftwareList = computador['SoftwareList'] | ||
| 63 | + new_SoftwareList = [ ] | ||
| 64 | + | ||
| 65 | + for soft_key, soft_value in SoftwareList.items(): | ||
| 66 | + | ||
| 67 | + new_SoftwareList_element = { | ||
| 68 | + 'name': soft_key, | ||
| 69 | + 'value': soft_value | ||
| 70 | + } | ||
| 71 | + new_SoftwareList.append(new_SoftwareList_element) | ||
| 72 | + | ||
| 73 | + computador['SoftwareList'] = new_SoftwareList | ||
| 74 | + | ||
| 75 | + | ||
| 58 | response_data = dict( | 76 | response_data = dict( |
| 59 | body=json.dumps(valores), | 77 | body=json.dumps(valores), |
| 60 | content_type='application/json' | 78 | content_type='application/json' |