diff --git a/events_test.go b/events_test.go deleted file mode 100644 index 3ac5cca..0000000 --- a/events_test.go +++ /dev/null @@ -1,110 +0,0 @@ -package gomatrix - -import ( - "encoding/json" - "strings" - "testing" -) - -// example events from docs -var testEvents = map[string]string{ - "withFields": `{ - "content": { - "body": "eventbody123", - "msgtype": "m.text", - "format": "org.matrix.custom.html", - "formatted_body": "This is an example text message" - }, - "type": "m.room.message", - "event_id": "$143273582443PhrSn:example.org", - "room_id": "!726s6s6q:example.com", - "sender": "@example:example.org", - "origin_server_ts": 1432735824653, - "unsigned": { - "age": 1234 - } - }`, - - "withoutFields": `{ - "content": { - "avatar_url": "mxc://example.org/SEsfnsuifSDFSSEF", - "displayname": "Alice Margatroid", - "membership": "join" - }, - "event_id": "$143273582443PhrSn:example.org", - "origin_server_ts": 1432735824653, - "room_id": "!jEsUZKDJdhlrceRyVU:example.org", - "sender": "@example:example.org", - "state_key": "@alice:example.org", - "type": "m.room.member", - "unsigned": { - "age": 1234 - } - }`, -} - -func TestEventWithBody(t *testing.T) { - var e Event - err := json.NewDecoder(strings.NewReader(testEvents["withFields"])).Decode(&e) - if err != nil { - t.Fatalf("TestFetchEventBody: Something went wrong while parsing: %s", testEvents["withFields"]) - } - body, ok := e.Body() - if !ok || body != "eventbody123" { - t.Fatal("TestEventWithBody: Failed to fetch value of 'body' key in event content") - } -} - -func TestEventWithoutBody(t *testing.T) { - var e Event - err := json.NewDecoder(strings.NewReader(testEvents["withoutFields"])).Decode(&e) - if err != nil { - t.Fatalf("TestEventWithoutBody: Something went wrong while parsing: %s", testEvents["withFields"]) - } - body, ok := e.Body() - if ok || body != "" { - t.Fatal("TestEventWithoutBody: Failed on 'Event.Body' call for event without a 'body' key") - } -} - -func TestEventWithMessageType(t *testing.T) { - var e Event - err := json.NewDecoder(strings.NewReader(testEvents["withFields"])).Decode(&e) - if err != nil { - t.Fatalf("TestEventWithMessageType: Something went wrong while parsing: %s", testEvents["withFields"]) - } - msgtype, ok := e.MessageType() - if !ok || msgtype != "m.text" { - t.Fatal("TestEventWithMessageType: Failed to fetch value of 'msgtype' key in event content") - } -} - -func TestEventWithoutMessageType(t *testing.T) { - var e Event - err := json.NewDecoder(strings.NewReader(testEvents["withoutFields"])).Decode(&e) - if err != nil { - t.Fatalf("TestEventWithMessageType: Something went wrong while parsing: %s", testEvents["withFields"]) - } - msgtype, ok := e.MessageType() - if ok || msgtype != "" { - t.Fatal("TestEventWithoutBody: Failed on 'Event.Body' call for event without a 'msgtype' key") - } -} - -var testHTML = `
a

bc

d

efghi

j

k
lmno

pqrs
` - -func TestGetHTMLMessage(t *testing.T) { - msg := GetHTMLMessage("m.text", testHTML) - if expected := "abcdefghijklmnopqrs"; msg.Body != expected { - t.Fatalf("TestGetHTMLMessage: got '%s', expected '%s'", msg.Body, expected) - } - if msg.FormattedBody != testHTML { - t.Fatalf("TestGetHTMLMessage: got '%s', expected '%s'", msg.FormattedBody, testHTML) - } - if msg.MsgType != "m.text" { - t.Fatalf("TestGetHTMLMessage: got '%s', expected 'm.text'", msg.FormattedBody) - } - if expected := "org.matrix.custom.html"; msg.Format != expected { - t.Fatalf("TestGetHTMLMessage: got '%s', expected '%s'", msg.Format, expected) - } -} diff --git a/filter_test.go b/filter_test.go deleted file mode 100644 index ffe6c8e..0000000 --- a/filter_test.go +++ /dev/null @@ -1,89 +0,0 @@ -package gomatrix - -import ( - "encoding/json" - "reflect" - "strings" - "testing" -) - -// sample from docs -var testFilter = ` -{ - "room": { - "state": { - "types": [ - "m.room.*" - ], - "not_rooms": [ - "!726s6s6q:example.com" - ] - }, - "timeline": { - "limit": 10, - "types": [ - "m.room.message" - ], - "not_rooms": [ - "!726s6s6q:example.com" - ], - "not_senders": [ - "@spam:example.com" - ] - }, - "ephemeral": { - "types": [ - "m.receipt", - "m.typing" - ], - "not_rooms": [ - "!726s6s6q:example.com" - ], - "not_senders": [ - "@spam:example.com" - ] - } - }, - "presence": { - "types": [ - "m.presence" - ], - "not_senders": [ - "@alice:example.com" - ] - }, - "event_format": "client", - "event_fields": [ - "type", - "content", - "sender" - ] -}` - -func TestFilterValidate(t *testing.T) { - var f Filter - err := json.NewDecoder(strings.NewReader(testFilter)).Decode(&f) - if err != nil { - t.Fatalf("TestFilterValidate: Failed to parse %s", testFilter) - } - // test validadtion success - if err = f.Validate(); err != nil { - t.Fatalf("TestFilterValidate: Filter validation has failed, event_format: '%s'", f.EventFormat) - } - // test validation fail - f.EventFormat = "unkown" - err = f.Validate() - if err == nil || err.Error() != "Bad event_format value. Must be one of [\"client\", \"federation\"]" { - t.Fatalf("TestFilterValidate: Filter validation false positive, event_format: '%s'", f.EventFormat) - } -} - -func TestDefaultFilter(t *testing.T) { - defaultFilter := DefaultFilter() - if reflect.TypeOf(defaultFilter) != reflect.TypeOf(Filter{}) { - t.Fatal("TestDefaultFilter: Invalid type for default filter") - } - if defaultFilter.EventFormat != "client" { - t.Fatalf("TestDefaultFilter: expected EventFormat %s, got %s", "client", defaultFilter.EventFormat) - } -}