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)
}