Thumbnail

rani/matterbridge.git

Clone URL: https://git.buni.party/rani/matterbridge.git

Viewing file on branch master

1package gateway
2
3import (
4 "github.com/matterbridge-org/matterbridge/bridge"
5 "github.com/matterbridge-org/matterbridge/bridge/config"
6 "github.com/stretchr/testify/assert"
7
8 "testing"
9)
10
11func TestIgnoreEvent(t *testing.T) {
12 eventTests := map[string]struct {
13 input string
14 dest *bridge.Bridge
15 output bool
16 }{
17 "avatar mattermost": {
18 input: config.EventAvatarDownload,
19 dest: &bridge.Bridge{Protocol: "mattermost"},
20 output: false,
21 },
22 "avatar slack": {
23 input: config.EventAvatarDownload,
24 dest: &bridge.Bridge{Protocol: "slack"},
25 output: true,
26 },
27 "avatar telegram": {
28 input: config.EventAvatarDownload,
29 dest: &bridge.Bridge{Protocol: "telegram"},
30 output: false,
31 },
32 }
33 gw := &Gateway{}
34 for testname, testcase := range eventTests {
35 output := gw.ignoreEvent(testcase.input, testcase.dest)
36 assert.Equalf(t, testcase.output, output, "case '%s' failed", testname)
37 }
38
39}
40
41func TestExtractNick(t *testing.T) {
42 eventTests := map[string]struct {
43 search string
44 extract string
45 username string
46 text string
47 resultUsername string
48 resultText string
49 }{
50 "test1": {
51 search: "fromsomething",
52 extract: "<(.*?)>\\s+",
53 username: "fromsomething",
54 text: "<userx> blahblah",
55 resultUsername: "userx",
56 resultText: "blahblah",
57 },
58 "test2": {
59 search: "<.*?bot>",
60 //extract: `\((.*?)\)\s+`,
61 extract: "\\((.*?)\\)\\s+",
62 username: "<matterbot>",
63 text: "(userx) blahblah (abc) test",
64 resultUsername: "userx",
65 resultText: "blahblah (abc) test",
66 },
67 }
68 // gw := &Gateway{}
69 for testname, testcase := range eventTests {
70 resultUsername, resultText, _ := extractNick(testcase.search, testcase.extract, testcase.username, testcase.text)
71 assert.Equalf(t, testcase.resultUsername, resultUsername, "case '%s' failed", testname)
72 assert.Equalf(t, testcase.resultText, resultText, "case '%s' failed", testname)
73 }
74
75}
76