You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
matterbridge/gateway/samechannel/samechannel_test.go

78 lines
1.7 KiB
Go

package samechannel
import (
"io/ioutil"
"testing"
"github.com/42wim/matterbridge/bridge/config"
"github.com/sirupsen/logrus"
"github.com/stretchr/testify/assert"
)
const testConfig = `
[mattermost.test]
[slack.test]
[[samechannelgateway]]
enable = true
name = "blah"
accounts = [ "mattermost.test","slack.test" ]
channels = [ "testing","testing2","testing10"]
`
var (
expectedConfig = config.Gateway{
Name: "blah",
Enable: true,
In: []config.Bridge(nil),
Out: []config.Bridge(nil),
InOut: []config.Bridge{
{
Account: "mattermost.test",
Channel: "testing",
Options: config.ChannelOptions{Key: ""},
SameChannel: true,
},
{
Account: "mattermost.test",
Channel: "testing2",
Options: config.ChannelOptions{Key: ""},
SameChannel: true,
},
{
Account: "mattermost.test",
Channel: "testing10",
Options: config.ChannelOptions{Key: ""},
SameChannel: true,
},
{
Account: "slack.test",
Channel: "testing",
Options: config.ChannelOptions{Key: ""},
SameChannel: true,
},
{
Account: "slack.test",
Channel: "testing2",
Options: config.ChannelOptions{Key: ""},
SameChannel: true,
},
{
Account: "slack.test",
Channel: "testing10",
Options: config.ChannelOptions{Key: ""},
SameChannel: true,
},
},
}
)
func TestGetConfig(t *testing.T) {
logger := logrus.New()
logger.SetOutput(ioutil.Discard)
cfg := config.NewConfigFromString(logger, []byte(testConfig))
sgw := New(cfg)
configs := sgw.GetConfig()
assert.Equal(t, []config.Gateway{expectedConfig}, configs)
}