Skip to content
Snippets Groups Projects
exporter_test.go 2.18 KiB
Newer Older
vito.he's avatar
vito.he committed
/*
 * 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 configurable

vito.he's avatar
vito.he committed
import (
vito.he's avatar
vito.he committed
	"github.com/apache/dubbo-go/metadata/service"
vito.he's avatar
vito.he committed
	"testing"
)

import (
	"github.com/stretchr/testify/assert"
)

vito.he's avatar
vito.he committed
import (
	_ "github.com/apache/dubbo-go/common/proxy/proxy_factory"
	"github.com/apache/dubbo-go/config"
	_ "github.com/apache/dubbo-go/filter/filter_impl"
	"github.com/apache/dubbo-go/metadata/service/inmemory"
	"github.com/apache/dubbo-go/protocol/dubbo"
	_ "github.com/apache/dubbo-go/protocol/dubbo"
)

func TestConfigurableExporter(t *testing.T) {
	dubbo.SetServerConfig(dubbo.ServerConfig{
		SessionNumber:  700,
		SessionTimeout: "20s",
		GettySessionParam: dubbo.GettySessionParam{
			CompressEncoding: false,
			TcpNoDelay:       true,
			TcpKeepAlive:     true,
			KeepAlivePeriod:  "120s",
			TcpRBufSize:      262144,
			TcpWBufSize:      65536,
			PkgWQSize:        512,
			TcpReadTimeout:   "1s",
			TcpWriteTimeout:  "5s",
			WaitTimeout:      "1s",
			MaxMsgLen:        10240000000,
			SessionName:      "server",
		}})
	config.MockInitProviderWithSingleRegistry()
	metadataService := inmemory.NewMetadataService()
vito.he's avatar
vito.he committed
	exported := service.NewMetadataServiceExporter(metadataService)
vito.he's avatar
vito.he committed
	assert.Equal(t, false, exported.IsExported())
	assert.NoError(t, exported.Export())
	assert.Equal(t, true, exported.IsExported())
vito.he's avatar
vito.he committed
	assert.Regexp(t, "dubbo://:20000/MetadataService*", exported.GetExportedURLs()[0].String())
	exported.Unexport()
	assert.Equal(t, false, exported.IsExported())
vito.he's avatar
vito.he committed
}