| 1366 | |
| 1367 | #[tokio::test] |
| 1368 | async fn test_sync_request() { |
| 1369 | let server = MockServer::start(); |
| 1370 | |
| 1371 | let c = Client::new(ClientConfig { |
| 1372 | sender_id: vec![1, 2, 3], |
| 1373 | server: server.url("/"), |
| 1374 | ..Default::default() |
| 1375 | }) |
| 1376 | .unwrap(); |
| 1377 | |
| 1378 | let mut req = HomeNSReqPayload { |
| 1379 | base: BasePayload { |
| 1380 | sender_id: vec![1, 2, 3], |
| 1381 | receiver_id: vec![1, 2, 3, 4, 5, 6, 7, 8], |
| 1382 | message_type: MessageType::HomeNSReq, |
| 1383 | transaction_id: 1234, |
| 1384 | ..Default::default() |
| 1385 | }, |
| 1386 | dev_eui: vec![8, 7, 6, 5, 4, 3, 2, 1], |
| 1387 | }; |
| 1388 | |
| 1389 | let ans = HomeNSAnsPayload { |
| 1390 | base: BasePayloadResult { |
| 1391 | base: BasePayload { |
| 1392 | sender_id: vec![1, 2, 3, 4, 5, 6, 7, 8], |
| 1393 | receiver_id: vec![1, 2, 3], |
| 1394 | message_type: MessageType::HomeNSAns, |
| 1395 | transaction_id: 1234, |
| 1396 | ..Default::default() |
| 1397 | }, |
| 1398 | result: ResultPayload { |
| 1399 | result_code: ResultCode::Success, |
| 1400 | description: "".into(), |
| 1401 | }, |
| 1402 | }, |
| 1403 | h_net_id: vec![3, 2, 1], |
| 1404 | }; |
| 1405 | |
| 1406 | // OK |
| 1407 | let mut mock = server.mock(|when, then| { |
| 1408 | when.method(POST) |
| 1409 | .path("/") |
| 1410 | .body(serde_json::to_string(&req).unwrap()); |
| 1411 | then.body(serde_json::to_vec(&ans).unwrap()).status(200); |
| 1412 | }); |
| 1413 | let resp = c |
| 1414 | .home_ns_req(vec![1, 2, 3, 4, 5, 6, 7, 8], &mut req, None) |
| 1415 | .await |
| 1416 | .unwrap(); |
| 1417 | mock.assert(); |
| 1418 | mock.delete(); |
| 1419 | assert_eq!(resp, ans); |
| 1420 | |
| 1421 | // Error status |
| 1422 | let mut mock = server.mock(|when, then| { |
| 1423 | when.method(POST) |
| 1424 | .path("/") |
| 1425 | .body(serde_json::to_string(&req).unwrap()); |