Commit 39309d28768f9220acd5e29f14c1bba283dd3f02

Authored by Gabriela Mayoli
Committed by gabrielamayoli
1 parent 6bf47202
Exists in master and in 1 other branch 3.1

Finalização de primeiros testes do primeiro controller da nova coleta.

src/Cacic/CommonBundle/Resources/config/doctrine/Computador.orm.yml
@@ -51,7 +51,7 @@ Cacic\CommonBundle\Entity\Computador: @@ -51,7 +51,7 @@ Cacic\CommonBundle\Entity\Computador:
51 tePalavraChave: 51 tePalavraChave:
52 type: text 52 type: text
53 fixed: true 53 fixed: true
54 - nullable: false 54 + nullable: true
55 column: te_palavra_chave 55 column: te_palavra_chave
56 forcaColeta: 56 forcaColeta:
57 type: text 57 type: text
src/Cacic/WSBundle/Controller/NeoController.php
@@ -116,18 +116,33 @@ class NeoController extends Controller { @@ -116,18 +116,33 @@ class NeoController extends Controller {
116 $status = $request->getContent(); 116 $status = $request->getContent();
117 $em = $this->getDoctrine()->getManager(); 117 $em = $this->getDoctrine()->getManager();
118 118
119 - $response = new JsonResponse();  
120 $dados = json_decode($status, true); 119 $dados = json_decode($status, true);
121 - $logger->debug("JSON get Test status".print_r($dados, true));  
122 -  
123 - $so_json = $dados['so']; 120 + if (empty($dados)) {
  121 + // REtorna erro se o JSON for inválido
  122 + $error_msg = '{
  123 + "message": "JSON Inválido",
  124 + "codigo": 1
  125 + }';
  126 + $response = new JsonResponse();
  127 + $response->setStatusCode('500');
  128 + $response->setContent($error_msg);
  129 + return $response;
  130 + }
  131 + $logger->debug("JSON get Test status".print_r(json_decode($status, true), true));
124 132
125 - $rede_json = $dados['rede']; 133 + $so_json = $dados['computador']['operatingSystem'];
  134 + $rede_json = $dados['computador']['networkDevices'];
126 $rede1 = $rede_json[0]; 135 $rede1 = $rede_json[0];
127 $mac_json = $rede1['mac']; 136 $mac_json = $rede1['mac'];
128 - $rede = $rede1['interface']; 137 + $ip_computador = $rede1['ipv4'];
  138 + $netmask = $rede1['netmask_ipv4'];
129 139
130 - $so = $em->getRepository('CacicCommonBundle:So')->createIfNotExist($so_json); 140 + // Pega rede
  141 + $rede = $this->getDoctrine()->getRepository('CacicCommonBundle:Rede')->getDadosRedePreColeta( $ip_computador, $netmask );
  142 +
  143 + $logger->debug("1111111111111111111111111111111111111111111 ".print_r($so_json, true));
  144 +
  145 + $so = $em->getRepository('CacicCommonBundle:So')->createIfNotExist($so_json['nomeOs']);
131 $computador = $em->getRepository('CacicCommonBundle:Computador')->findOneBy(array( 146 $computador = $em->getRepository('CacicCommonBundle:Computador')->findOneBy(array(
132 'teNodeAddress'=> $mac_json, 147 'teNodeAddress'=> $mac_json,
133 'idSo' => $so 148 'idSo' => $so
@@ -147,6 +162,7 @@ class NeoController extends Controller { @@ -147,6 +162,7 @@ class NeoController extends Controller {
147 $computador->setIdSo( $so ); 162 $computador->setIdSo( $so );
148 $computador->setIdRede( $rede ); 163 $computador->setIdRede( $rede );
149 $computador->setDtHrInclusao( $data); 164 $computador->setDtHrInclusao( $data);
  165 + $computador->setTeIpComputador( $ip_computador);
150 166
151 $em->persist( $computador ); 167 $em->persist( $computador );
152 168
@@ -214,6 +230,7 @@ class NeoController extends Controller { @@ -214,6 +230,7 @@ class NeoController extends Controller {
214 230
215 $em->flush(); 231 $em->flush();
216 232
  233 + $response = new JsonResponse();
217 $response->setStatusCode('200'); 234 $response->setStatusCode('200');
218 return $response; 235 return $response;
219 236
src/Cacic/WSBundle/Tests/Controller/NeoControllerTest.php
@@ -151,17 +151,32 @@ class NeoControllerTest extends WebTestCase @@ -151,17 +151,32 @@ class NeoControllerTest extends WebTestCase
151 'CONTENT_TYPE' => 'application/json', 151 'CONTENT_TYPE' => 'application/json',
152 //'HTTPS' => true 152 //'HTTPS' => true
153 ), 153 ),
154 - '{ "so" : "2.6.1",  
155 - "rede": [  
156 - { "mac" : "e0:3f:49:e4:72:75",  
157 - "ip" : "10.1.0.137",  
158 - "interface": "Rede Local" 154 + '{
  155 + "computador": {
  156 + "networkDevices": [
  157 + {
  158 + "ipv4": "10.1.0.56",
  159 + "ipv6": "fe80::295b:a8db:d433:ebe%4",
  160 + "mac": "9C:D2:1E:EA:E0:89",
  161 + "netmask_ipv4": "255.255.255.0",
  162 + "netmask_ipv6": "ffff:ffff:ffff:ffff::",
  163 + "nome": "Wi-Fi"
  164 + },
  165 + {
  166 + "ipv4": "192.168.56.1",
  167 + "ipv6": "fe80::19f2:4739:8a9e:45e4%16",
  168 + "mac": "08:00:27:00:14:2B",
  169 + "netmask_ipv4": "255.255.255.0",
  170 + "netmask_ipv6": "ffff:ffff:ffff:ffff::",
  171 + "nome": "VirtualBox Host-Only Network"
  172 + }
  173 + ],
  174 + "operatingSystem": {
  175 + "idOs": 176,
  176 + "nomeOs": "Windows_NT"
159 }, 177 },
160 - { "mac" : "e0:3f:49:e4:72:76",  
161 - "ip" : "10.1.0.138",  
162 - "interface": "Rede Local"  
163 - }  
164 - ] 178 + "usuario": "Eric Menezes"
  179 + }
165 }' 180 }'
166 ); 181 );
167 $logger->debug("Dados JSON do computador enviados \n".$this->client->getRequest()->getcontent()); 182 $logger->debug("Dados JSON do computador enviados \n".$this->client->getRequest()->getcontent());