aboutsummaryrefslogtreecommitdiff
path: root/test/main.go
diff options
context:
space:
mode:
Diffstat (limited to 'test/main.go')
-rw-r--r--test/main.go146
1 files changed, 146 insertions, 0 deletions
diff --git a/test/main.go b/test/main.go
new file mode 100644
index 0000000..60dfe5a
--- /dev/null
+++ b/test/main.go
@@ -0,0 +1,146 @@
+package main
+
+import (
+ "strings"
+ "time"
+ "fmt"
+ "log"
+
+ "git.deuxfleurs.fr/Deuxfleurs/easybridge/connector"
+ "git.deuxfleurs.fr/Deuxfleurs/easybridge/connector/irc"
+ "git.deuxfleurs.fr/Deuxfleurs/easybridge/connector/xmpp"
+)
+
+type TmpHandler struct{
+ exit chan bool
+}
+
+func (h *TmpHandler) Joined(roomId connector.RoomID) {
+ fmt.Printf("C Joined: %s\n", roomId)
+}
+
+func (h *TmpHandler) Left(roomId connector.RoomID) {
+ fmt.Printf("C Joined: %s\n", roomId)
+}
+
+func (h *TmpHandler) UserInfoUpdated(u connector.UserID, i *connector.UserInfo) {
+ fmt.Printf("C User info: %s => %#v\n", u, i)
+}
+
+func (h *TmpHandler) RoomInfoUpdated(r connector.RoomID, i *connector.RoomInfo) {
+ fmt.Printf("C Room info: %s => %#v\n", r, i)
+}
+func (h *TmpHandler) Event(e *connector.Event) {
+ if e.Type == connector.EVENT_JOIN {
+ fmt.Printf("C E Join %s %s\n", e.Author, e.Room)
+ } else if e.Type == connector.EVENT_LEAVE {
+ fmt.Printf("C E Leave %s %s\n", e.Author, e.Room)
+ } else if e.Type == connector.EVENT_MESSAGE {
+ fmt.Printf("C E Message %s %s %s\n", e.Author, e.Room, e.Text)
+ if strings.Contains(e.Text, "ezbrexit") {
+ fmt.Printf("we have to exit\n")
+ h.exit <- true
+ }
+ } else if e.Type == connector.EVENT_ACTION {
+ fmt.Printf("C E Action %s %s %s\n", e.Author, e.Room, e.Text)
+ }
+}
+
+func testIrc() {
+ irc := &irc.IRC{}
+ h := TmpHandler{
+ exit: make(chan bool),
+ }
+ irc.SetHandler(&h)
+
+ err := irc.Configure(connector.Configuration{
+ "server": "irc.ulminfo.fr",
+ "port": "6666",
+ "ssl": "true",
+ "nick": "ezbr",
+ })
+ if err != nil {
+ log.Fatalf("Connect: %s", err)
+ }
+
+ err = irc.Join(connector.RoomID("#ezbrtest@irc.ulminfo.fr"))
+ if err != nil {
+ log.Fatalf("Join: %s", err)
+ }
+
+ time.Sleep(time.Duration(1)*time.Second)
+ err = irc.Send(&connector.Event{
+ Room: connector.RoomID("#ezbrtest@irc.ulminfo.fr"),
+ Type: connector.EVENT_MESSAGE,
+ Text: "EZBR TEST",
+ })
+ if err != nil {
+ log.Fatalf("Send: %s", err)
+ }
+
+ time.Sleep(time.Duration(1)*time.Second)
+ err = irc.Send(&connector.Event{
+ Recipient: connector.UserID("lx@irc.ulminfo.fr"),
+ Type: connector.EVENT_MESSAGE,
+ Text: "EZBR TEST direct message lol",
+ })
+ if err != nil {
+ log.Fatalf("Send: %s", err)
+ }
+
+ fmt.Printf("waiting exit signal\n")
+ <-h.exit
+ fmt.Printf("got exit signal\n")
+ irc.Close()
+}
+
+func testXmpp() {
+ xmpp := &xmpp.XMPP{}
+ h := TmpHandler{
+ exit: make(chan bool),
+ }
+ xmpp.SetHandler(&h)
+
+ err := xmpp.Configure(connector.Configuration{
+ "server": "jabber.fr",
+ "jid": "ezbr@jabber.fr",
+ "password": "azerty1234",
+ })
+ if err != nil {
+ log.Fatalf("Connect: %s", err)
+ }
+
+ err = xmpp.Join(connector.RoomID("ezbrtest@muc.linkmauve.fr"))
+ if err != nil {
+ log.Fatalf("Join: %s", err)
+ }
+
+ time.Sleep(time.Duration(1)*time.Second)
+ err = xmpp.Send(&connector.Event{
+ Room: connector.RoomID("ezbrtest@muc.linkmauve.fr"),
+ Type: connector.EVENT_MESSAGE,
+ Text: "EZBR TEST",
+ })
+ if err != nil {
+ log.Fatalf("Send: %s", err)
+ }
+
+ time.Sleep(time.Duration(1)*time.Second)
+ err = xmpp.Send(&connector.Event{
+ Recipient: connector.UserID("alexis211@jabber.fr"),
+ Type: connector.EVENT_MESSAGE,
+ Text: "EZBR TEST direct message lol",
+ })
+ if err != nil {
+ log.Fatalf("Send: %s", err)
+ }
+
+ fmt.Printf("waiting exit signal\n")
+ <-h.exit
+ fmt.Printf("got exit signal\n")
+ xmpp.Close()
+}
+
+func main() {
+ testXmpp()
+}