You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shenyu.apache.org by xi...@apache.org on 2022/06/30 03:19:48 UTC

[incubator-shenyu-client-golang] branch main updated: [Refactor: design sdk_client_interface & rename zk_client.] (#19)

This is an automated email from the ASF dual-hosted git repository.

xiaoyu pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-shenyu-client-golang.git


The following commit(s) were added to refs/heads/main by this push:
     new 426a7bf  [Refactor: design sdk_client_interface & rename zk_client.] (#19)
426a7bf is described below

commit 426a7bf79a5fae87224c7791aa831b7d6be91e05
Author: Lisandro <li...@163.com>
AuthorDate: Thu Jun 30 11:19:44 2022 +0800

    [Refactor: design sdk_client_interface & rename zk_client.] (#19)
    
    * [feature: Integrate zk client]
    
    * [feature: renamed zk example.]
    
    * [Refactor: design sdk_client_interface & rename zk_client.]
    
    * [feature: Add OSCS check icon.]
    
    * [feature: remove oscs icon.]
    
    Co-authored-by: lishuo <li...@mesomia-tech.com>
---
 clients/zk_client/zk_client.go                   | 20 +++++++-------
 common/shenyu_sdk_client/sdk_client_interface.go | 33 ++++++++++++++++++++++++
 {clients => example}/zk_client/zk_client_test.go | 15 ++++++-----
 3 files changed, 51 insertions(+), 17 deletions(-)

diff --git a/clients/zk_client/zk_client.go b/clients/zk_client/zk_client.go
index dba1e4c..915aca7 100644
--- a/clients/zk_client/zk_client.go
+++ b/clients/zk_client/zk_client.go
@@ -34,9 +34,9 @@ type ServiceNode struct {
 }
 
 /**
- * zkServer
+ * ZkClient
  **/
-type zkServer struct {
+type ZkClient struct {
 	zkServers []string // zkServers ex: 127.0.0.1
 	zkRoot    string   // zkClient Root
 	zkClient  *zk.Conn // zkClient
@@ -45,8 +45,8 @@ type zkServer struct {
 /**
  * init NewClient
  **/
-func NewClient(zkServers []string, zkRoot string, timeout int) (*zkServer, error) {
-	client := new(zkServer)
+func NewClient(zkServers []string, zkRoot string, timeout int) (*ZkClient, error) {
+	client := new(ZkClient)
 	client.zkServers = zkServers
 	if len(zkRoot) == 0 {
 		logger.Fatal("The param zkRoot must set a value!")
@@ -67,14 +67,14 @@ func NewClient(zkServers []string, zkRoot string, timeout int) (*zkServer, error
 /**
  * close zkClient
  **/
-func (s *zkServer) Close() {
+func (s *ZkClient) Close() {
 	s.zkClient.Close()
 }
 
 /**
  * ensure zkRoot avoid create error
  **/
-func (s *zkServer) ensureRoot() error {
+func (s *ZkClient) ensureRoot() error {
 	exists, _, err := s.zkClient.Exists(s.zkRoot)
 	if err != nil {
 		return err
@@ -91,7 +91,7 @@ func (s *zkServer) ensureRoot() error {
 /**
  * RegisterNodeInstance zk node
  **/
-func (s *zkServer) RegisterNodeInstance(metaData *model.MetaDataRegister) error {
+func (s *ZkClient) RegisterNodeInstance(metaData *model.MetaDataRegister) error {
 	if err := s.ensureName(metaData.AppName); err != nil {
 		return err
 	}
@@ -110,7 +110,7 @@ func (s *zkServer) RegisterNodeInstance(metaData *model.MetaDataRegister) error
 /**
  * DeleteNodeInstance
  **/
-func (s *zkServer) DeleteNodeInstance(metaData *model.MetaDataRegister) error {
+func (s *ZkClient) DeleteNodeInstance(metaData *model.MetaDataRegister) error {
 	if err := s.ensureName(metaData.AppName); err != nil {
 		return err
 	}
@@ -132,7 +132,7 @@ func (s *zkServer) DeleteNodeInstance(metaData *model.MetaDataRegister) error {
 /**
  *  * ensure zkRoot&nodeName
  **/
-func (s *zkServer) ensureName(name string) error {
+func (s *ZkClient) ensureName(name string) error {
 	path := s.zkRoot + "/" + name
 	exists, _, err := s.zkClient.Exists(path) //avoid create error
 	if err != nil {
@@ -150,7 +150,7 @@ func (s *zkServer) ensureName(name string) error {
 /**
  * get zk nodes metaData
  **/
-func (s *zkServer) GetNodesInfo(name string) ([]*model.MetaDataRegister, error) {
+func (s *ZkClient) GetNodesInfo(name string) ([]*model.MetaDataRegister, error) {
 	path := s.zkRoot + "/" + name
 	childs, _, err := s.zkClient.Children(path)
 	if err != nil {
diff --git a/common/shenyu_sdk_client/sdk_client_interface.go b/common/shenyu_sdk_client/sdk_client_interface.go
new file mode 100644
index 0000000..d2a182f
--- /dev/null
+++ b/common/shenyu_sdk_client/sdk_client_interface.go
@@ -0,0 +1,33 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package shenyu_sdk_client
+
+//mockgen -destination /mock_***_client.go  -package ***_client -source common/client_interface.go
+
+/**
+ * common SdkClient interface(except http client)
+ **/
+type SdkClient interface {
+	NewClient(clientParam interface{}) (client interface{}, createResult bool, err error)
+
+	DeregisterServiceInstance(metaData interface{}) (registerResult bool, err error)
+
+	GetServiceInstanceInfo(metaData interface{}) (registerResult bool, err error)
+
+	RegisterServiceInstance(metaData interface{}) (registerResult bool, err error)
+}
diff --git a/clients/zk_client/zk_client_test.go b/example/zk_client/zk_client_test.go
similarity index 87%
rename from clients/zk_client/zk_client_test.go
rename to example/zk_client/zk_client_test.go
index 2d4ec0e..bfe2353 100644
--- a/clients/zk_client/zk_client_test.go
+++ b/example/zk_client/zk_client_test.go
@@ -15,9 +15,10 @@
  * limitations under the License.
  */
 
-package zk_client
+package main
 
 import (
+	"github.com/apache/incubator-shenyu-client-golang/clients/zk_client"
 	"github.com/apache/incubator-shenyu-client-golang/model"
 	"github.com/stretchr/testify/assert"
 	"testing"
@@ -27,8 +28,8 @@ import (
  * TestInitZkClient
  **/
 func TestInitZkClient(t *testing.T) {
-	servers := []string{"127.0.0.1:2181"}         //require user provide
-	client, err := NewClient(servers, "/api", 10) //zkRoot require user provide
+	servers := []string{"127.0.0.1:2181"}                   //require user provide
+	client, err := zk_client.NewClient(servers, "/api", 10) //zkRoot require user provide
 	if err != nil {
 		panic(err)
 	}
@@ -40,8 +41,8 @@ func TestInitZkClient(t *testing.T) {
  * TestRegisterNodeInstanceAndPrint
  **/
 func TestRegisterNodeInstanceAndPrint(t *testing.T) {
-	servers := []string{"127.0.0.1:2181"}         //require user provide
-	client, err := NewClient(servers, "/api", 10) //zkRoot require user provide
+	servers := []string{"127.0.0.1:2181"}                   //require user provide
+	client, err := zk_client.NewClient(servers, "/api", 10) //zkRoot require user provide
 	if err != nil {
 		panic(err)
 	}
@@ -96,8 +97,8 @@ func TestRegisterNodeInstanceAndPrint(t *testing.T) {
  * TestDeleteNodeInstance
  **/
 func TestDeleteNodeInstance(t *testing.T) {
-	servers := []string{"127.0.0.1:2181"}         //require user provide
-	client, err := NewClient(servers, "/api", 10) //zkRoot require user provide
+	servers := []string{"127.0.0.1:2181"}                   //require user provide
+	client, err := zk_client.NewClient(servers, "/api", 10) //zkRoot require user provide
 	if err != nil {
 		panic(err)
 	}