diff options
| author | Mistivia <i@mistivia.com> | 2025-11-02 15:27:18 +0800 |
|---|---|---|
| committer | Mistivia <i@mistivia.com> | 2025-11-02 15:27:18 +0800 |
| commit | e9c24f4af7ed56760f6db7941827d09f6db9020b (patch) | |
| tree | 62128c43b883ce5e3148113350978755779bb5de /teleirc/matterbridge/gateway/handlers_test.go | |
| parent | 58d5e7cfda4781d8a57ec52aefd02983835c301a (diff) | |
add matterbridge
Diffstat (limited to 'teleirc/matterbridge/gateway/handlers_test.go')
| -rw-r--r-- | teleirc/matterbridge/gateway/handlers_test.go | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/teleirc/matterbridge/gateway/handlers_test.go b/teleirc/matterbridge/gateway/handlers_test.go new file mode 100644 index 0000000..db7988a --- /dev/null +++ b/teleirc/matterbridge/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) + } + +} |
