You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by tu...@apache.org on 2022/11/30 06:17:39 UTC
[shardingsphere-on-cloud] branch main updated: chore: add unit test for reconcile ConstructCascadingService
This is an automated email from the ASF dual-hosted git repository.
tuichenchuxin pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/shardingsphere-on-cloud.git
The following commit(s) were added to refs/heads/main by this push:
new ac0343f chore: add unit test for reconcile ConstructCascadingService
new 8407647 Merge pull request #123 from mlycore/add-ut
ac0343f is described below
commit ac0343fc6757ea857f5b7b426051b2dc9223fcc5
Author: mlycore <ma...@126.com>
AuthorDate: Wed Nov 30 14:10:00 2022 +0800
chore: add unit test for reconcile ConstructCascadingService
Signed-off-by: mlycore <ma...@126.com>
---
.../pkg/reconcile/reconcile_test.go | 61 ++++++++++++++++++++++
shardingsphere-operator/pkg/reconcile/resource.go | 3 ++
2 files changed, 64 insertions(+)
diff --git a/shardingsphere-operator/pkg/reconcile/reconcile_test.go b/shardingsphere-operator/pkg/reconcile/reconcile_test.go
index ab6dd55..6dbad0d 100644
--- a/shardingsphere-operator/pkg/reconcile/reconcile_test.go
+++ b/shardingsphere-operator/pkg/reconcile/reconcile_test.go
@@ -463,7 +463,68 @@ func Test_ConstructCascadingDeployment(t *testing.T) {
}
func Test_ConstructCascadingService(t *testing.T) {
+ cases := []struct {
+ proxy *v1alpha1.ShardingSphereProxy
+ exp *v1.Service
+ message string
+ }{
+ {
+ exp: &v1.Service{},
+ message: "Nil ShardingSphereProxy definition should lead to empty Service",
+ },
+ {
+ proxy: &v1alpha1.ShardingSphereProxy{},
+ exp: &v1.Service{},
+ message: "Empty ShardingSphereProxy definition should lead to empty Service",
+ },
+ {
+ proxy: &v1alpha1.ShardingSphereProxy{
+ ObjectMeta: metav1.ObjectMeta{
+ Name: "testname",
+ Namespace: "testnamespace",
+ },
+ Spec: v1alpha1.ProxySpec{
+ ServiceType: v1alpha1.ServiceType{
+ Type: v1.ServiceTypeNodePort,
+ NodePort: 33007,
+ },
+ Port: 3307,
+ },
+ },
+ exp: &v1.Service{
+ ObjectMeta: metav1.ObjectMeta{
+ Name: "testname",
+ Namespace: "testnamespace",
+ },
+ Spec: v1.ServiceSpec{
+ Selector: map[string]string{
+ "apps": "testname",
+ },
+ Type: v1.ServiceTypeNodePort,
+ Ports: []v1.ServicePort{
+ {
+ Name: "proxy-port",
+ TargetPort: fromInt32(3307),
+ Port: 3307,
+ NodePort: 33007,
+ },
+ },
+ },
+ },
+ message: "Normal ShardingSphereProxy definition should lead to normal Service",
+ },
+ }
+ for _, c := range cases {
+ act := ConstructCascadingService(c.proxy)
+ assert.Equal(t, c.exp.ObjectMeta.Name, act.ObjectMeta.Name, c.message)
+ assert.Equal(t, c.exp.ObjectMeta.Namespace, act.ObjectMeta.Namespace, c.message)
+ if c.proxy != nil {
+ assert.EqualValues(t, c.exp.Spec.Selector, act.Spec.Selector, c.message)
+ assert.Equal(t, c.exp.Spec.Type, act.Spec.Type, c.message)
+ assert.Equal(t, c.exp.Spec.Ports, act.Spec.Ports, c.message)
+ }
+ }
}
func Test_addInitContaienr(t *testing.T) {
diff --git a/shardingsphere-operator/pkg/reconcile/resource.go b/shardingsphere-operator/pkg/reconcile/resource.go
index 66f0be0..3ace3d5 100644
--- a/shardingsphere-operator/pkg/reconcile/resource.go
+++ b/shardingsphere-operator/pkg/reconcile/resource.go
@@ -159,6 +159,9 @@ func ConstructCascadingDeployment(proxy *v1alpha1.ShardingSphereProxy) *appsv1.D
}
func ConstructCascadingService(proxy *v1alpha1.ShardingSphereProxy) *v1.Service {
+ if proxy == nil || reflect.DeepEqual(proxy, &v1alpha1.ShardingSphereProxy{}) {
+ return &v1.Service{}
+ }
svc := v1.Service{
ObjectMeta: metav1.ObjectMeta{