Skip to content
Snippets Groups Projects
Select Git revision
  • 5135d0fc58ee0ab283f56c1a0597d38bb9fd1c5b
  • master default protected
  • 3.0
  • develop
  • revert-2069-tripleVersion
  • 3.1
  • rest-protocol
  • feat/remoting_rocketmq
  • dapr-support
  • 1.5
  • 1.4
  • 1.3
  • 1.2
  • 1.1
  • v3.0.3-rc2
  • v3.0.3-rc1
  • v3.0.2
  • v1.5.8
  • v1.5.9-rc1
  • v3.0.1
  • v1.5.8-rc1
  • v3.0.0
  • v3.0.0-rc4-1
  • v3.0.0-rc4
  • v3.0.0-rc3
  • v1.5.7
  • v1.5.7-rc2
  • v3.0.0-rc2
  • remove
  • v1.5.7-rc1
  • v3.0.0-rc1
  • v1.5.7-rc1-tmp
  • 1.5.6
  • v1.5.6
34 results

event_publishing_service_discovery.go

Blame
  • event_publishing_service_deiscovery_test.go 4.70 KiB
    /*
     * 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 common
    
    import (
    	"reflect"
    	"testing"
    )
    
    import (
    	"github.com/stretchr/testify/assert"
    	"github.com/stretchr/testify/suite"
    )
    
    import (
    	"github.com/apache/dubbo-go/common/extension"
    	"github.com/apache/dubbo-go/common/observer"
    	dispatcher2 "github.com/apache/dubbo-go/common/observer/dispatcher"
    	"github.com/apache/dubbo-go/registry"
    	gxset "github.com/dubbogo/gost/container/set"
    	gxpage "github.com/dubbogo/gost/page"
    )
    
    func TestEventPublishingServiceDiscovery_DispatchEvent(t *testing.T) {
    	dc := NewEventPublishingServiceDiscovery(&ServiceDiscoveryA{})
    	tsd := &TestServiceDiscoveryDestroyingEventListener{}
    	tsd.SetT(t)
    	tsi := &TestServiceInstancePreRegisteredEventListener{}
    	tsi.SetT(t)
    	extension.AddEventListener(tsd)
    	extension.AddEventListener(tsi)
    	extension.SetEventDispatcher("direct", dispatcher2.NewDirectEventDispatcher)
    	extension.SetAndInitGlobalDispatcher("direct")
    	err := dc.Destroy()
    	assert.Nil(t, err)
    	si := &registry.DefaultServiceInstance{Id: "testServiceInstance"}
    	err = dc.Register(si)
    	assert.Nil(t, err)
    
    }
    
    type TestServiceDiscoveryDestroyingEventListener struct {
    	suite.Suite
    	observer.BaseListenable
    }
    
    func (tel *TestServiceDiscoveryDestroyingEventListener) OnEvent(e observer.Event) error {
    	e1, ok := e.(*ServiceDiscoveryDestroyingEvent)
    	assert.Equal(tel.T(), ok, true)
    	assert.Equal(tel.T(), "testServiceDiscovery", e1.GetOriginal().String())
    	assert.Equal(tel.T(), "testServiceDiscovery", e1.GetServiceDiscovery().String())
    	return nil
    }
    
    func (tel *TestServiceDiscoveryDestroyingEventListener) GetPriority() int {
    	return -1
    }
    
    func (tel *TestServiceDiscoveryDestroyingEventListener) GetEventType() reflect.Type {
    	return reflect.TypeOf(ServiceDiscoveryDestroyingEvent{})
    }
    
    type TestServiceInstancePreRegisteredEventListener struct {
    	suite.Suite
    	observer.BaseListenable
    }
    
    func (tel *TestServiceInstancePreRegisteredEventListener) OnEvent(e observer.Event) error {
    	e1, ok := e.(*ServiceInstancePreRegisteredEvent)
    	assert.Equal(tel.T(), ok, true)
    	assert.Equal(tel.T(), "testServiceInstance", e1.getServiceInstance().GetId())
    	return nil
    }
    
    func (tel *TestServiceInstancePreRegisteredEventListener) GetPriority() int {
    	return -1
    }
    
    func (tel *TestServiceInstancePreRegisteredEventListener) GetEventType() reflect.Type {
    	return reflect.TypeOf(ServiceInstancePreRegisteredEvent{})
    }
    
    type ServiceDiscoveryA struct {
    }
    
    // String return mockServiceDiscovery
    func (msd *ServiceDiscoveryA) String() string {
    	return "testServiceDiscovery"
    }
    
    // Destroy do nothing
    func (msd *ServiceDiscoveryA) Destroy() error {
    	return nil
    }
    
    func (msd *ServiceDiscoveryA) Register(instance registry.ServiceInstance) error {
    	return nil
    }
    
    func (msd *ServiceDiscoveryA) Update(instance registry.ServiceInstance) error {
    	return nil
    }
    
    func (msd *ServiceDiscoveryA) Unregister(instance registry.ServiceInstance) error {
    	return nil
    }
    
    func (msd *ServiceDiscoveryA) GetDefaultPageSize() int {
    	return 1
    }
    
    func (msd *ServiceDiscoveryA) GetServices() *gxset.HashSet {
    	return nil
    }
    
    func (msd *ServiceDiscoveryA) GetInstances(serviceName string) []registry.ServiceInstance {
    	return nil
    }
    
    func (msd *ServiceDiscoveryA) GetInstancesByPage(serviceName string, offset int, pageSize int) gxpage.Pager {
    	return nil
    }
    
    func (msd *ServiceDiscoveryA) GetHealthyInstancesByPage(serviceName string, offset int, pageSize int, healthy bool) gxpage.Pager {
    	return nil
    }
    
    func (msd *ServiceDiscoveryA) GetRequestInstances(serviceNames []string, offset int, requestedSize int) map[string]gxpage.Pager {
    	return nil
    }
    
    func (msd *ServiceDiscoveryA) AddListener(listener *registry.ServiceInstancesChangedListener) error {
    	return nil
    }
    
    func (msd *ServiceDiscoveryA) DispatchEventByServiceName(serviceName string) error {
    	return nil
    }
    
    func (msd *ServiceDiscoveryA) DispatchEventForInstances(serviceName string, instances []registry.ServiceInstance) error {
    	return nil
    }
    
    func (msd *ServiceDiscoveryA) DispatchEvent(event *registry.ServiceInstancesChangedEvent) error {
    	return nil
    }