123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184 |
- package webhooks
- import (
- "testing"
- "time"
- "github.com/owncast/owncast/core/chat/events"
- "github.com/owncast/owncast/models"
- )
- func TestSendChatEvent(t *testing.T) {
- timestamp := time.Unix(72, 6).UTC()
- user := models.User{
- ID: "user id",
- DisplayName: "display name",
- DisplayColor: 4,
- CreatedAt: time.Unix(3, 26).UTC(),
- DisabledAt: nil,
- PreviousNames: []string{"somebody"},
- NameChangedAt: nil,
- Scopes: []string{},
- IsBot: false,
- AuthenticatedAt: nil,
- Authenticated: false,
- }
- checkPayload(t, models.MessageSent, func() {
- SendChatEvent(&events.UserMessageEvent{
- Event: events.Event{
- Type: events.MessageSent,
- ID: "id",
- Timestamp: timestamp,
- },
- UserEvent: events.UserEvent{
- User: &user,
- ClientID: 51,
- HiddenAt: nil,
- },
- MessageEvent: events.MessageEvent{
- OutboundEvent: nil,
- Body: "body",
- RawBody: "raw body",
- },
- })
- }, `{
- "body": "body",
- "clientId": 51,
- "id": "id",
- "rawBody": "raw body",
- "timestamp": "1970-01-01T00:01:12.000000006Z",
- "user": {
- "authenticated": false,
- "createdAt": "1970-01-01T00:00:03.000000026Z",
- "displayColor": 4,
- "displayName": "display name",
- "id": "user id",
- "isBot": false,
- "previousNames": ["somebody"]
- },
- "visible": true
- }`)
- }
- func TestSendChatEventUsernameChanged(t *testing.T) {
- timestamp := time.Unix(72, 6).UTC()
- user := models.User{
- ID: "user id",
- DisplayName: "display name",
- DisplayColor: 4,
- CreatedAt: time.Unix(3, 26).UTC(),
- DisabledAt: nil,
- PreviousNames: []string{"somebody"},
- NameChangedAt: nil,
- Scopes: []string{},
- IsBot: false,
- AuthenticatedAt: nil,
- Authenticated: false,
- }
- checkPayload(t, models.UserNameChanged, func() {
- SendChatEventUsernameChanged(events.NameChangeEvent{
- Event: events.Event{
- Type: events.UserNameChanged,
- ID: "id",
- Timestamp: timestamp,
- },
- UserEvent: events.UserEvent{
- User: &user,
- ClientID: 51,
- HiddenAt: nil,
- },
- NewName: "new name",
- })
- }, `{
- "clientId": 51,
- "id": "id",
- "newName": "new name",
- "timestamp": "1970-01-01T00:01:12.000000006Z",
- "type": "NAME_CHANGE",
- "user": {
- "authenticated": false,
- "createdAt": "1970-01-01T00:00:03.000000026Z",
- "displayColor": 4,
- "displayName": "display name",
- "id": "user id",
- "isBot": false,
- "previousNames": ["somebody"]
- }
- }`)
- }
- func TestSendChatEventUserJoined(t *testing.T) {
- timestamp := time.Unix(72, 6).UTC()
- user := models.User{
- ID: "user id",
- DisplayName: "display name",
- DisplayColor: 4,
- CreatedAt: time.Unix(3, 26).UTC(),
- DisabledAt: nil,
- PreviousNames: []string{"somebody"},
- NameChangedAt: nil,
- Scopes: []string{},
- IsBot: false,
- AuthenticatedAt: nil,
- Authenticated: false,
- }
- checkPayload(t, models.UserJoined, func() {
- SendChatEventUserJoined(events.UserJoinedEvent{
- Event: events.Event{
- Type: events.UserJoined,
- ID: "id",
- Timestamp: timestamp,
- },
- UserEvent: events.UserEvent{
- User: &user,
- ClientID: 51,
- HiddenAt: nil,
- },
- })
- }, `{
- "clientId": 51,
- "id": "id",
- "type": "USER_JOINED",
- "timestamp": "1970-01-01T00:01:12.000000006Z",
- "user": {
- "authenticated": false,
- "createdAt": "1970-01-01T00:00:03.000000026Z",
- "displayColor": 4,
- "displayName": "display name",
- "id": "user id",
- "isBot": false,
- "previousNames": ["somebody"]
- }
- }`)
- }
- func TestSendChatEventSetMessageVisibility(t *testing.T) {
- timestamp := time.Unix(72, 6).UTC()
- checkPayload(t, models.VisibiltyToggled, func() {
- SendChatEventSetMessageVisibility(events.SetMessageVisibilityEvent{
- Event: events.Event{
- Type: events.VisibiltyUpdate,
- ID: "id",
- Timestamp: timestamp,
- },
- UserMessageEvent: events.UserMessageEvent{},
- MessageIDs: []string{"message1", "message2"},
- Visible: false,
- })
- }, `{
- "MessageIDs": [
- "message1",
- "message2"
- ],
- "Visible": false,
- "body": "",
- "id": "id",
- "timestamp": "1970-01-01T00:01:12.000000006Z",
- "type": "VISIBILITY-UPDATE",
- "user": null
- }`)
- }
|