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) // sandbox //jdapi = New("c8854ef2-f80a-45ee-aceb-dc8014d646f8", "06692746f7224695ad4788ce340bc854", "d6b42a35a7414a5490d811654d745c84") // prod jdapi = New("91633f2a-c5f5-4982-a925-a220d19095c3", "1dba76d40cac446ca500c0391a0b6c9d", "a88d031a1e7b462cb1579f12e97fe7f4") } 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, 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, totalCount, 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 || totalCount == 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 := utils.GenerateGetURL(prodURL, "address/allcities", params) response, err := http.Get(fullURL) if err != nil { t.Fatalf("Get return error:%v", err) } defer response.Body.Close() }