package jdapi import ( "net/http" "testing" "git.rosy.net.cn/baseapi" "git.rosy.net.cn/baseapi/utils" "go.uber.org/zap" ) var ( jdapi *API sugarLogger *zap.SugaredLogger ) func init() { logger, _ := zap.NewDevelopment() sugarLogger = logger.Sugar() baseapi.Init(sugarLogger) jdapi = New("91633f2a-c5f5-4982-a925-a220d19095c3", "1dba76d40cac446ca500c0391a0b6c9d", "a88d031a1e7b462cb1579f12e97fe7f4") // jdapi = New("c8854ef2-f80a-45ee-aceb-dc8014d646f8", "06692746f7224695ad4788ce340bc854", "d6b42a35a7414a5490d811654d745c84") } func TestTest(t *testing.T) { sugarLogger.Debug(utils.GetCurTimeStr()) } func TestAccessAPI(t *testing.T) { result, err := jdapi.AccessAPI("address/allcities", nil) if err != nil { t.Fatalf("Error when accessing AccessAPI: %v", err) } else { code := result["code"].(string) if code != "0" { t.Fatalf("code is not 0, %v", code) } } } func TestAccessAPINoPage(t *testing.T) { result, err := jdapi.AccessAPINoPage("address/allcities", nil, []string{"yn"}, nil) if err != nil { t.Fatalf("TestAccessAPINoPage return error:%v", err) } cityInfo := result.([]interface{}) if len(cityInfo) == 0 { t.Fatal("city info is empty") } oneCity := cityInfo[0].(map[string]interface{}) if _, ok := oneCity["areaName"]; !ok { t.Fatal("no areaName key") } if _, ok := oneCity["yn"]; ok { t.Fatal("yn field havn't been removed") } } func TestAccessAPIHavePage(t *testing.T) { jdParams := map[string]interface{}{ "pageNo": 1, "pageSize": 20, } skuInfo, err := jdapi.AccessAPIHavePage("pms/querySkuInfos", jdParams, nil, []string{"skuName", "skuId"}, nil) if err != nil { t.Fatalf("AccessAPIHavePage return error:%v", err) } if len(skuInfo) == 0 { t.Fatal("sku info is empty") } oneSku := skuInfo[0].(map[string]interface{}) if _, ok := oneSku["skuName"]; !ok { t.Fatal("no skuName key") } if _, ok := oneSku["outSkuId"]; ok { t.Fatal("outSkuId key not removed") } } func TestGenerateURL(t *testing.T) { params := make(map[string]interface{}) params["key"] = "v" params["key2"] = "v2" fullURL := generateURL(prodURL, "address/allcities", params) response, err := http.Get(fullURL) if err != nil { t.Fatalf("Get return error:%v", err) } defer response.Body.Close() } func TestOrderQuery(t *testing.T) { jdParams := map[string]interface{}{ "orderId": "813452298000322", } result, err := jdapi.OrderQuery(jdParams) if err != nil { t.Fatalf("OrderQuery return error:%v", err) } if len(result) == 0 { t.Fatal("OrderQuery return empty data") } buyerCityOk := false orderInfo, _ := result[0].(map[string]interface{}) if buyerCity1, ok := orderInfo["buyerCity"]; ok { if buyerCity, ok := buyerCity1.(string); ok && buyerCity == "1930" { buyerCityOk = true } } if !buyerCityOk { t.Fatal("OrderQuery get data wrong") } }