sqlite的api,便于内部使用
liuxiaolong
2020-06-28 42d187053e45b763713c3963117cd8b65b0bc06c
api_test.go
@@ -1 +1,220 @@
package dbapi
import (
   "basic.com/pubsub/protomsg.git"
   "crypto/rand"
   "encoding/json"
   "fmt"
   "reflect"
   "testing"
   "time"
)
func Add(a,b string) (string,string) {
   ret := a+" "+b
   return ret,ret
}
func PseudoUuid() (uuid string) {
   b := make([]byte, 16)
   rand.Read(b)
   uuid = fmt.Sprintf("%X-%X-%X-%X-%X", b[0:4], b[4:6], b[6:8], b[8:10], b[10:])
   return uuid
}
var funcMap = map[string]interface{}{"add":Add}
func Call(name string, params ...interface{}) ([]reflect.Value){
   fun :=reflect.ValueOf(funcMap[name])
   if len(params) != fun.Type().NumIn() {
      return nil
   }
   in := make([]reflect.Value,len(params))
   for k,v :=range params {
      in[k] = reflect.ValueOf(v)
   }
   return fun.Call(in)
}
func TestGetLocalCameraTree(t *testing.T) {
   //var api AreaApi
   //body := api.GetLocalCameraTree("0", "0", "c")
   //fmt.Println(body)
   ret := Call("add", "hello", "world")
   fmt.Println("NewUUID:",PseudoUuid())
   fmt.Println(ret)
}
func TestAreaAdd(t *testing.T) {
   var api AreaApi
   var area = protomsg.Area{
      Parentid: 0,
      Name:     "哈哈哈",
   }
   dataBytes, _ := json.Marshal(area)
   paramBody := make(map[string]interface{},0)
   json.Unmarshal(dataBytes,paramBody)
   flag := api.AreaAdd(paramBody)
   fmt.Println(flag)
}
func TestAreaUpdate(t *testing.T) {
   var api AreaApi
   var area = protomsg.Area{
      Id:       1,
      Name:     "区域更新测试",
      Parentid: 0,
   }
   dataBytes, _ := json.Marshal(area)
   paramBody := make(map[string]interface{},0)
   json.Unmarshal(dataBytes,paramBody)
   flag := api.AreaUpdate(paramBody)
   fmt.Println(flag)
}
func TestGetCameraById(t *testing.T) {
   var api CameraApi
   camera, _ := api.GetCameraById("cid0")
   fmt.Println(camera)
}
func TestCameraApi_Add(t *testing.T) {
   var api CameraApi
   camera := protomsg.Camera{
      Name:"测试啊啊啊啊啊啊啊啊",
      Areaid:0,
   }
   dataBytes, _ := json.Marshal(camera)
   paramBody := make(map[string]interface{},0)
   json.Unmarshal(dataBytes,paramBody)
   result := api.CameraAdd(paramBody)
   fmt.Println("add result: ",result)
}
func TestSdkApi_Save(t *testing.T) {
   for {
      time.Sleep(10 * time.Second)
      var api SdkApi
      sdk := protomsg.Sdk{
         SdkName:"awfewagewag",
         Icon:"bbb",
         Url:"baidu",
      }
      dataBytes, _ := json.Marshal(sdk)
      paramBody := make(map[string]interface{},0)
      json.Unmarshal(dataBytes,paramBody)
      result,data := api.Save(paramBody)
      fmt.Println("add result: ",result,data)
   }
}
type Point struct {
   X float64 `json:"x"`
   Y float64 `json:"y"`
}
func TestMangosReqClient(t *testing.T){
   location := make([]Point, 0)
   if err := json.Unmarshal([]byte(""), &location); err == nil {
      fmt.Println("location:",location)
   } else {
      fmt.Println("unmarshal err:",err)
   }
}
func TestSdkApi_FindAll(t *testing.T) {
   var api SdkApi
   all := api.FindAll("")
   fmt.Println(all)
}
func TestSdkApi_GetById(t *testing.T) {
   var api SdkApi
   _,data := api.GetById("812b674b-2375-4589-919a-5c1c3278a97e")
   dataBytes, _ := json.Marshal(data)
   var sdkInfo protomsg.Sdk
   err := json.Unmarshal(dataBytes,&sdkInfo)
   if err !=nil {
      fmt.Println("sdk Unmarshal err",err)
   }
   fmt.Println(sdkInfo.Args)
}
func TestTaskApi_FindAllForIpc(t *testing.T) {
   var api TaskApi
   taskSdks := api.FindAllTaskSdkRun()
   fmt.Println(taskSdks)
}
func TestSdkApi_FindAllSdkRun(t *testing.T) {
   var api SdkApi
   sdkRuns := api.FindAllSdkRun()
   fmt.Println(sdkRuns)
}
func TestSdkApi_GetAllSdkIds(t *testing.T) {
   var api SdkApi
   sdkIds := api.GetAllSdkIds()
   fmt.Println(sdkIds)
}
func TestTaskApi_FindAll(t *testing.T) {
   var api TaskApi
   taskInfos := api.FindAll()
   fmt.Println(taskInfos)
}
func TestCameraApi_FindAll(t *testing.T) {
   var api CameraApi
   cameras := api.FindAll()
   fmt.Println(cameras)
}
//查找所有的多边形
func TestCameraApi_FindAllPolygons(t *testing.T) {
   var api CameraApi
   data := api.FindAllPolygons()
   fmt.Println("polygons:",data)
}
//查找所有时间规则
func TestCameraApi_FindAllTimeRules(t *testing.T) {
   var api CameraApi
   _, rules := api.FindAllTimeRules()
   fmt.Println("timeRules:",rules)
}
//查找所有任务规则
func TestCameraTaskArgsApi_FindAll(t *testing.T) {
   var api CameraTaskArgsApi
   all := api.FindAll()
   fmt.Println("all:",all)
}
func TestSysSetApi_GetServerInfo(t *testing.T) {
   var api SysSetApi
   flag, sysconf := api.GetServerInfo()
   fmt.Println("flag:",flag)
   fmt.Println("server.Info:",sysconf)
}
func TestCameraApi_GetCamerasByRunType(t *testing.T) {
   var api CameraApi
   flag, cameras := api.GetCamerasByRunType(1,"")
   fmt.Println("flag:",flag)
   fmt.Println("cameras:",cameras)
}
func TestSysSetApi_GetPollConfig(t *testing.T) {
   var api SysSetApi
   _, config := api.GetPollConfig()
   fmt.Println("config:",config)
}