summaryrefslogtreecommitdiffstats
path: root/gateway/handlers_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'gateway/handlers_test.go')
-rw-r--r--gateway/handlers_test.go75
1 files changed, 75 insertions, 0 deletions
diff --git a/gateway/handlers_test.go b/gateway/handlers_test.go
new file mode 100644
index 00000000..db7988a9
--- /dev/null
+++ b/gateway/handlers_test.go
@@ -0,0 +1,75 @@
+package gateway
+
+import (
+ "github.com/42wim/matterbridge/bridge"
+ "github.com/42wim/matterbridge/bridge/config"
+ "github.com/stretchr/testify/assert"
+
+ "testing"
+)
+
+func TestIgnoreEvent(t *testing.T) {
+ eventTests := map[string]struct {
+ input string
+ dest *bridge.Bridge
+ output bool
+ }{
+ "avatar mattermost": {
+ input: config.EventAvatarDownload,
+ dest: &bridge.Bridge{Protocol: "mattermost"},
+ output: false,
+ },
+ "avatar slack": {
+ input: config.EventAvatarDownload,
+ dest: &bridge.Bridge{Protocol: "slack"},
+ output: true,
+ },
+ "avatar telegram": {
+ input: config.EventAvatarDownload,
+ dest: &bridge.Bridge{Protocol: "telegram"},
+ output: false,
+ },
+ }
+ gw := &Gateway{}
+ for testname, testcase := range eventTests {
+ output := gw.ignoreEvent(testcase.input, testcase.dest)
+ assert.Equalf(t, testcase.output, output, "case '%s' failed", testname)
+ }
+
+}
+
+func TestExtractNick(t *testing.T) {
+ eventTests := map[string]struct {
+ search string
+ extract string
+ username string
+ text string
+ resultUsername string
+ resultText string
+ }{
+ "test1": {
+ search: "fromgitter",
+ extract: "<(.*?)>\\s+",
+ username: "fromgitter",
+ text: "<userx> blahblah",
+ resultUsername: "userx",
+ resultText: "blahblah",
+ },
+ "test2": {
+ search: "<.*?bot>",
+ //extract: `\((.*?)\)\s+`,
+ extract: "\\((.*?)\\)\\s+",
+ username: "<matterbot>",
+ text: "(userx) blahblah (abc) test",
+ resultUsername: "userx",
+ resultText: "blahblah (abc) test",
+ },
+ }
+ // gw := &Gateway{}
+ for testname, testcase := range eventTests {
+ resultUsername, resultText, _ := extractNick(testcase.search, testcase.extract, testcase.username, testcase.text)
+ assert.Equalf(t, testcase.resultUsername, resultUsername, "case '%s' failed", testname)
+ assert.Equalf(t, testcase.resultText, resultText, "case '%s' failed", testname)
+ }
+
+}