package jdapi import ( "net/http" "testing" "go.uber.org/zap" ) var ( jdapi *JDAPI sugarLogger *zap.SugaredLogger ) func init() { logger, _ := zap.NewDevelopment() sugarLogger = logger.Sugar() jdapi = NewJDAPI("91633f2a-c5f5-4982-a925-a220d19095c3", "1dba76d40cac446ca500c0391a0b6c9d", "a88d031a1e7b462cb1579f12e97fe7f4", logger) } func TestTest(t *testing.T) { sugarLogger.Debug(getCurTimeStr()) } func TestAccessJDQuery(t *testing.T) { result, err := jdapi.accessJDQuery("address/allcities", nil) if err != nil { t.Fatalf("Error when accessing accessJDQuery: %v", err) } else { code := result["code"].(string) if code != "0" { t.Fatalf("code is not 0, %v", code) } } } func TestAccessJDQueryNoPage(t *testing.T) { result, err := jdapi.accessJDQueryNoPage("address/allcities", nil, []string{"yn"}, nil) if err != nil { t.Fatalf("accessJDQueryNoPage 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 TestAccessJDQueryHavePage(t *testing.T) { result, err := jdapi.accessJDQueryHavePage("pms/querySkuInfos", nil, nil, []string{"skuName", "skuId"}, 1, 50, nil) if err != nil { t.Fatalf("accessJDQueryHavePage return error:%v", err) } skuInfo := result.([]interface{}) 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 TestGenGetURL(t *testing.T) { params := make(map[string]string) params["key"] = "v" params["key2"] = "v2" fullURL := genGetURL(jdAPIURL, "address/allcities", params) response, err := http.Get(fullURL) if err != nil { t.Fatalf("Get return error:%v", err) } defer response.Body.Close() }