2019-11-29 09:02:46 +00:00
|
|
|
//
|
|
|
|
// Created by xajhu on 2019/11/29 0029.
|
|
|
|
//
|
|
|
|
|
|
|
|
#include <iostream>
|
2019-12-02 07:30:51 +00:00
|
|
|
|
2019-11-29 09:02:46 +00:00
|
|
|
using namespace std;
|
|
|
|
|
2019-11-29 09:09:09 +00:00
|
|
|
#include "gtest/gtest.h"
|
|
|
|
|
2019-11-29 09:02:46 +00:00
|
|
|
extern "C" {
|
2019-12-02 07:30:51 +00:00
|
|
|
#include "err_code.h"
|
2019-11-29 09:02:46 +00:00
|
|
|
#include "json_interface.h"
|
2019-12-02 07:30:51 +00:00
|
|
|
#include "restful.h"
|
2019-11-29 09:02:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
TEST(json_encode_test, retOK)
|
|
|
|
{
|
|
|
|
int ret = 0;
|
|
|
|
const char *pJson;
|
|
|
|
AUTH_ZTH_REQ ztpReq;
|
|
|
|
|
|
|
|
memset(&ztpReq, 0, sizeof(AUTH_ZTH_REQ));
|
2019-12-02 07:30:51 +00:00
|
|
|
ztpReq.pESN = (char *)"ace08484843";
|
2019-11-29 09:02:46 +00:00
|
|
|
|
|
|
|
pJson = Struct2Json(&ztpReq, JE_AUTH_ZTP, false, &ret);
|
|
|
|
|
|
|
|
if(pJson) {
|
|
|
|
free((void *)pJson);
|
|
|
|
}
|
|
|
|
|
2019-12-02 07:30:51 +00:00
|
|
|
ASSERT_EQ(ERR_OK, ret);
|
|
|
|
}
|
|
|
|
|
|
|
|
TEST(json_decode_test, retOK)
|
|
|
|
{
|
|
|
|
#define JSON_STR ("{\"code\":\"fBBx8Q\",\"ip\":\"172.28.73.38\",\"iptype\":\"1\",\"status\":\"SUCCESS\"}")
|
|
|
|
int ret = 0;
|
|
|
|
PAUTH_ZTH_RSP pZTPRsp;
|
|
|
|
char *pJson = (char*)JSON_STR;
|
|
|
|
|
|
|
|
ret = Json2Struct(pJson, &pZTPRsp, JE_AUTH_ZTP, false);
|
|
|
|
|
|
|
|
if(pZTPRsp) {
|
|
|
|
if(pZTPRsp->status) {
|
|
|
|
free(pZTPRsp->status);
|
|
|
|
}
|
|
|
|
|
|
|
|
if(pZTPRsp->code) {
|
|
|
|
free(pZTPRsp->code);
|
|
|
|
}
|
|
|
|
|
|
|
|
if(pZTPRsp->ip) {
|
|
|
|
free(pZTPRsp->ip);
|
|
|
|
}
|
|
|
|
free(pZTPRsp);
|
|
|
|
}
|
|
|
|
|
|
|
|
ASSERT_EQ(0, ret);
|
|
|
|
}
|
|
|
|
|
|
|
|
TEST(ztp_auth, success)
|
|
|
|
{
|
|
|
|
#define JSON_REQ ("{\"ESN\": \"tt21\"}")
|
|
|
|
#define REQ_URL ("http://172.28.73.43:8088/device/esn")
|
|
|
|
int ret;
|
|
|
|
int size = 4096;
|
|
|
|
char buf[4096];
|
|
|
|
PAUTH_ZTH_RSP pZTPRsp;
|
|
|
|
|
|
|
|
memset(buf, 0, 4096);
|
|
|
|
ret = http_post_request(REQ_URL, JSON_REQ, (unsigned char*)buf, &size);
|
|
|
|
|
|
|
|
EXPECT_EQ(ERR_OK, ret);
|
|
|
|
|
|
|
|
ret = Json2Struct(buf, &pZTPRsp, JE_AUTH_ZTP, false);
|
|
|
|
|
|
|
|
ASSERT_EQ(ERR_OK, ret);
|
|
|
|
|
|
|
|
ASSERT_STRCASEEQ(pZTPRsp->status, "SUCCESS");
|
|
|
|
|
|
|
|
if(pZTPRsp) {
|
|
|
|
if(pZTPRsp->status) {
|
|
|
|
free(pZTPRsp->status);
|
|
|
|
}
|
|
|
|
|
|
|
|
if(pZTPRsp->code) {
|
|
|
|
free(pZTPRsp->code);
|
|
|
|
}
|
|
|
|
|
|
|
|
if(pZTPRsp->ip) {
|
|
|
|
free(pZTPRsp->ip);
|
|
|
|
}
|
|
|
|
free(pZTPRsp);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
TEST(ztp_auth, failed)
|
|
|
|
{
|
|
|
|
#define JSON_REQ_FAIL ("{\"ESN\": \"ace08484843\"}")
|
|
|
|
int ret;
|
|
|
|
int size = 4096;
|
|
|
|
char buf[4096];
|
|
|
|
PAUTH_ZTH_RSP pZTPRsp;
|
|
|
|
|
|
|
|
memset(buf, 0, 4096);
|
|
|
|
ret = http_post_request(REQ_URL, JSON_REQ_FAIL, (unsigned char*)buf, &size);
|
|
|
|
|
|
|
|
EXPECT_EQ(ERR_OK, ret);
|
|
|
|
|
|
|
|
ret = Json2Struct(buf, &pZTPRsp, JE_AUTH_ZTP, false);
|
|
|
|
|
|
|
|
ASSERT_EQ(ERR_OK, ret);
|
|
|
|
|
|
|
|
ASSERT_STRCASEEQ(pZTPRsp->status, "FAILED");
|
|
|
|
|
|
|
|
if(pZTPRsp) {
|
|
|
|
if(pZTPRsp->status) {
|
|
|
|
free(pZTPRsp->status);
|
|
|
|
}
|
|
|
|
|
|
|
|
if(pZTPRsp->code) {
|
|
|
|
free(pZTPRsp->code);
|
|
|
|
}
|
|
|
|
|
|
|
|
if(pZTPRsp->ip) {
|
|
|
|
free(pZTPRsp->ip);
|
|
|
|
}
|
|
|
|
free(pZTPRsp);
|
|
|
|
}
|
2019-11-29 09:02:46 +00:00
|
|
|
}
|
|
|
|
|
2019-12-02 07:30:51 +00:00
|
|
|
auto main(int argc, char *argv[]) -> int
|
2019-11-29 09:02:46 +00:00
|
|
|
{
|
|
|
|
testing::InitGoogleTest(&argc, argv);
|
2019-11-29 09:34:14 +00:00
|
|
|
return RUN_ALL_TESTS();
|
2019-11-29 09:02:46 +00:00
|
|
|
}
|