mirror of
https://github.com/openziti/ziti.git
synced 2026-09-11 13:29:03 +00:00
a9dd2fc8f8
* fixes #3597, enable OIDC by default - adds ability to have different sets of environment configs for tests - adds ConfigSet struct as a configuration device for integration tests - allows entire environments to be defined as needed - original ats config set at "default-ats" - tests that do not specify a config set, use "default-ats" as before - standardizes configuration location, naming, etc. - adds README.md for the above - updates testContext to now be config set aware - add config value to disable, update tests, changelog - add defense against cached version data for tests
40 lines
1.5 KiB
Go
40 lines
1.5 KiB
Go
package tests
|
|
|
|
import (
|
|
"math/big"
|
|
|
|
"github.com/openziti/channel/v4"
|
|
"github.com/openziti/foundation/v2/versions"
|
|
"github.com/openziti/transport/v2"
|
|
"github.com/openziti/ziti/v2/common/capabilities"
|
|
"github.com/openziti/ziti/v2/common/pb/ctrl_pb"
|
|
"github.com/openziti/ziti/v2/controller/config"
|
|
)
|
|
|
|
func (ctx *TestContext) NewControlChannelListener() channel.UnderlayListener {
|
|
config, err := config.LoadConfig(ctx.configSet.CtrlConfig)
|
|
ctx.Req.NoError(err)
|
|
ctx.Req.NoError(config.Db.Close())
|
|
|
|
versionHeader, err := versions.StdVersionEncDec.Encode(versions.NewDefaultVersionProvider().AsVersionInfo())
|
|
ctx.Req.NoError(err)
|
|
|
|
capabilityMask := &big.Int{}
|
|
capabilityMask.SetBit(capabilityMask, capabilities.ControllerCreateTerminatorV2, 1)
|
|
capabilityMask.SetBit(capabilityMask, capabilities.ControllerSingleRouterLinkSource, 1)
|
|
capabilityMask.SetBit(capabilityMask, capabilities.ControllerSupportsJWTLegacySessions, 1)
|
|
headers := map[int32][]byte{
|
|
channel.HelloVersionHeader: versionHeader,
|
|
int32(ctrl_pb.ControlHeaders_CapabilitiesHeader): capabilityMask.Bytes(),
|
|
}
|
|
|
|
ctrlChannelListenerConfig := channel.ListenerConfig{
|
|
ConnectOptions: config.Ctrl.Options.ConnectOptions,
|
|
Headers: headers,
|
|
TransportConfig: transport.Configuration{"protocol": "ziti-ctrl"},
|
|
}
|
|
ctrlListener := channel.NewClassicListener(config.Id, config.Ctrl.Listener, ctrlChannelListenerConfig)
|
|
ctx.Req.NoError(ctrlListener.Listen())
|
|
return ctrlListener
|
|
}
|