Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Flaky tests for the message cache #681

Open
jchristgit opened this issue Mar 9, 2025 · 2 comments
Open

Flaky tests for the message cache #681

jchristgit opened this issue Mar 9, 2025 · 2 comments
Assignees
Labels
Milestone

Comments

@jchristgit
Copy link
Collaborator

The message cache tests fail occasionally, most recently on GitHub, see https://github.com/Kraigie/nostrum/actions/runs/13746316824/job/38441618262:

Failing assertion:

1) test get_by_author/4 it allows constraining the messages by timestamp (Nostrum.Cache.MessageCache.MnesiaAdditionalTest)
Error:      test/nostrum/cache/message_cache/mnesia_additional_test.exs:263
   Assertion with == failed
   code:  assert [expected_message_one] ==
            MessageCache.Mnesia.get_by_author(
              @test_message_two.author.id,
              5_000_000_000_000_000,
              11_000_000_000_000_000
            )
   left:  [
            %Nostrum.Struct.Message{
              activity: nil,
              application: nil,
              application_id: nil,
              attachments: nil,
              author: %Nostrum.Struct.User{
                id: 54321000,
                username: "test two",
                discriminator: nil,
                global_name: nil,
                avatar: nil,
                bot: false,
                public_flags: nil
              },
              channel_id: 1234567000,
              content: "Goodbye, world!",
              components: nil,
              edited_timestamp: nil,
              embeds: [
                %Nostrum.Struct.Embed{
                  title: "Test Embed",
                  type: nil,
                  description: "This is a test embed",
                  url: "https://example.com",
                  timestamp: "2038-01-01T00:00:00Z",
                  color: 65280,
                  footer: %Nostrum.Struct.Embed.Footer{
                    text: "Test Footer",
                    icon_url: nil,
                    proxy_icon_url: nil
                  },
                  image: nil,
                  thumbnail: nil,
                  video: nil,
                  provider: nil,
                  author: nil,
                  fields: [
                    %Nostrum.Struct.Embed.Field{
                      name: "Test Field",
                      value: "Test Value",
                      inline: false
                    }
                  ]
                }
              ],
              id: 7654321000000000,
              interaction: nil,
              guild_id: nil,
              member: nil,
              mention_everyone: nil,
              mention_roles: nil,
              mention_channels: nil,
              mentions: nil,
              message_reference: nil,
              nonce: nil,
              pinned: nil,
              poll: nil,
              reactions: nil,
              referenced_message: nil,
              sticker_items: nil,
              timestamp: ~U[2038-01-01 00:00:00Z],
              thread: nil,
              tts: nil,
              type: nil,
              webhook_id: nil
            }
          ]
   right: [
            %Nostrum.Struct.Message{
              activity: nil,
              application: nil,
              application_id: nil,
              attachments: nil,
              author: %Nostrum.Struct.User{
                id: 54321000,
                username: "test two",
                discriminator: nil,
                global_name: nil,
                avatar: nil,
                bot: false,
                public_flags: nil
              },
              channel_id: 1234567000,
              content: "Goodbye, world!",
              components: nil,
              edited_timestamp: nil,
              embeds: [
                %Nostrum.Struct.Embed{
                  title: "Test Embed",
                  type: nil,
                  description: "This is a test embed",
                  url: "https://example.com",
                  timestamp: "2038-01-01T00:00:00Z",
                  color: 65280,
                  footer: %Nostrum.Struct.Embed.Footer{
                    text: "Test Footer",
                    icon_url: nil,
                    proxy_icon_url: nil
                  },
                  image: nil,
                  thumbnail: nil,
                  video: nil,
                  provider: nil,
                  author: nil,
                  fields: [
                    %Nostrum.Struct.Embed.Field{
                      name: "Test Field",
                      value: "Test Value",
                      inline: false
                    }
                  ]
                }
              ],
              id: 7654321000000000,
              interaction: nil,
              guild_id: nil,
              member: nil,
              mention_everyone: nil,
              mention_roles: nil,
              mention_channels: nil,
              mentions: nil,
              message_reference: nil,
              nonce: nil,
              pinned: nil,
              poll: nil,
              reactions: nil,
              referenced_message: nil,
              sticker_items: nil,
              timestamp: ~U[2038-01-01 00:00:00Z],
              thread: nil,
              tts: nil,
              type: nil,
              webhook_id: nil
            },
            %Nostrum.Struct.Message{
              activity: nil,
              application: nil,
              application_id: nil,
              attachments: nil,
              author: %Nostrum.Struct.User{
                id: 54321000,
                username: "test two",
                discriminator: nil,
                global_name: nil,
                avatar: nil,
                bot: false,
                public_flags: nil
              },
              channel_id: 1234567000,
              content: "Goodbye, world!",
              components: nil,
              edited_timestamp: nil,
              embeds: [
                %Nostrum.Struct.Embed{
                  title: "Test Embed",
                  type: nil,
                  description: "This is a test embed",
                  url: "https://example.com",
                  timestamp: "2038-01-01T00:00:00Z",
                  color: 65280,
                  footer: %Nostrum.Struct.Embed.Footer{
                    text: "Test Footer",
                    icon_url: nil,
                    proxy_icon_url: nil
                  },
                  image: nil,
                  thumbnail: nil,
                  video: nil,
                  provider: nil,
                  author: nil,
                  fields: [
                    %Nostrum.Struct.Embed.Field{
                      name: "Test Field",
                      value: "Test Value",
                      inline: false
                    }
                  ]
                }
              ],
              id: 10000000000000000,
              interaction: nil,
              guild_id: nil,
              member: nil,
              mention_everyone: nil,
              mention_roles: nil,
              mention_channels: nil,
              mentions: nil,
              message_reference: nil,
              nonce: nil,
              pinned: nil,
              poll: nil,
              reactions: nil,
              referenced_message: nil,
              sticker_items: nil,
              timestamp: ~U[2038-01-01 00:00:00Z],
              thread: nil,
              tts: nil,
              type: nil,
              webhook_id: nil
            }
          ]
   stacktrace:
     test/nostrum/cache/message_cache/mnesia_additional_test.exs:266: (test)
@jchristgit
Copy link
Collaborator Author

Another one:

 1) test bulk_delete/2 does not include messages not found in the cache in the returned list (Nostrum.Cache.MessageCache.MnesiaAdditionalTest)
     test/nostrum/cache/message_cache/mnesia_additional_test.exs:167
     Assertion with == failed
     code:  assert [expected_message] ==
              MessageCache.Mnesia.bulk_delete(@test_message.channel_id, [
                @test_message.id,
                @test_message_two.id
              ])
     left:  [
              %Nostrum.Struct.Message{
                activity: nil,
                application: nil,
                application_id: nil,
                attachments: nil,
                author: %Nostrum.Struct.User{id: 12345000, username: "test", discriminator: nil, global_name: nil, avatar: nil, bot: true, public_flags: nil},
                channel_id: 7654321000,
                content: "Hello, world!",
                components: nil,
                edited_timestamp: nil,
                embeds: nil,
                id: 1234567000,
                interaction: nil,
                guild_id: nil,
                member: nil,
                mention_everyone: nil,
                mention_roles: nil,
                mention_channels: nil,
                mentions: nil,
                message_reference: nil,
                nonce: nil,
                pinned: nil,
                poll: nil,
                reactions: nil,
                referenced_message: nil,
                sticker_items: nil,
                timestamp: ~U[1970-01-01 00:00:00Z],
                thread: nil,
                tts: nil,
                type: nil,
                webhook_id: nil
              }
            ]
     right: [
              %Nostrum.Struct.Message{
                activity: nil,
                application: nil,
                application_id: nil,
                attachments: nil,
                author: %Nostrum.Struct.User{id: 12345000, username: "test", discriminator: nil, global_name: nil, avatar: nil, bot: true, public_flags: nil},
                channel_id: 7654321000,
                content: "Hello, world!",
                components: nil,
                edited_timestamp: nil,
                embeds: nil,
                id: 1234567000,
                interaction: nil,
                guild_id: nil,
                member: nil,
                mention_everyone: nil,
                mention_roles: nil,
                mention_channels: nil,
                mentions: nil,
                message_reference: nil,
                nonce: nil,
                pinned: nil,
                poll: nil,
                reactions: nil,
                referenced_message: nil,
                sticker_items: nil,
                timestamp: ~U[1970-01-01 00:00:00Z],
                thread: nil,
                tts: nil,
                type: nil,
                webhook_id: nil
              },
              %Nostrum.Struct.Message{
                activity: nil,
                application: nil,
                application_id: nil,
                attachments: nil,
                author: %Nostrum.Struct.User{id: 54321000, username: "test two", discriminator: nil, global_name: nil, avatar: nil, bot: false, public_flags: nil},
                channel_id: 7654321000,
                content: "Goodbye, world!",
                components: nil,
                edited_timestamp: nil,
                embeds: [
                  %Nostrum.Struct.Embed{
                    title: "Test Embed",
                    type: nil,
                    description: "This is a test embed",
                    url: "https://example.com",
                    timestamp: "2038-01-01T00:00:00Z",
                    color: 65280,
                    footer: %Nostrum.Struct.Embed.Footer{text: "Test Footer", icon_url: nil, proxy_icon_url: nil},
                    image: nil,
                    thumbnail: nil,
                    video: nil,
                    provider: nil,
                    author: nil,
                    fields: [%Nostrum.Struct.Embed.Field{name: "Test Field", value: "Test Value", inline: false}]
                  }
                ],
                id: 7654321000000000,
                interaction: nil,
                guild_id: nil,
                member: nil,
                mention_everyone: nil,
                mention_roles: nil,
                mention_channels: nil,
                mentions: nil,
                message_reference: nil,
                nonce: nil,
                pinned: nil,
                poll: nil,
                reactions: nil,
                referenced_message: nil,
                sticker_items: nil,
                timestamp: ~U[2038-01-01 00:00:00Z],
                thread: nil,
                tts: nil,
                type: nil,
                webhook_id: nil
              }
            ]
     stacktrace:
       test/nostrum/cache/message_cache/mnesia_additional_test.exs:170: (test)

@jchristgit jchristgit self-assigned this Mar 9, 2025
@jchristgit
Copy link
Collaborator Author

Another one:

  1) test get_by_channel_id_and_author/5 it allows constraining the messages by timestamp (Nostrum.Cache.MessageCache.MnesiaAdditionalTest)
     test/nostrum/cache/message_cache/mnesia_additional_test.exs:310
     Assertion with == failed
     code:  assert [expected_message_one] ==
              MessageCache.Mnesia.get_by_channel_and_author(
                @test_message.channel_id,
                @test_message.author.id,
                0,
                5_000_000_000_000
              )
     left:  [
              %Nostrum.Struct.Message{
                activity: nil,
                application: nil,
                application_id: nil,
                attachments: nil,
                author: %Nostrum.Struct.User{id: 12345000, username: "test", discriminator: nil, global_name: nil, avatar: nil, bot: true, public_flags: nil},
                channel_id: 7654321000,
                content: "Hello, world!",
                components: nil,
                edited_timestamp: nil,
                embeds: nil,
                id: 1234567000,
                interaction: nil,
                guild_id: nil,
                member: nil,
                mention_everyone: nil,
                mention_roles: nil,
                mention_channels: nil,
                mentions: nil,
                message_reference: nil,
                nonce: nil,
                pinned: nil,
                poll: nil,
                reactions: nil,
                referenced_message: nil,
                sticker_items: nil,
                timestamp: ~U[1970-01-01 00:00:00Z],
                thread: nil,
                tts: nil,
                type: nil,
                webhook_id: nil
              }
            ]
     right: [
              %Nostrum.Struct.Message{
                activity: nil,
                application: nil,
                application_id: nil,
                attachments: nil,
                author: %Nostrum.Struct.User{id: 12345000, username: "test", discriminator: nil, global_name: nil, avatar: nil, bot: true, public_flags: nil},
                channel_id: 7654321000,
                content: "Hello, world!",
                components: nil,
                edited_timestamp: nil,
                embeds: nil,
                id: 5,
                interaction: nil,
                guild_id: nil,
                member: nil,
                mention_everyone: nil,
                mention_roles: nil,
                mention_channels: nil,
                mentions: nil,
                message_reference: nil,
                nonce: nil,
                pinned: nil,
                poll: nil,
                reactions: nil,
                referenced_message: nil,
                sticker_items: nil,
                timestamp: ~U[1970-01-01 00:00:00Z],
                thread: nil,
                tts: nil,
                type: nil,
                webhook_id: nil
              },
              %Nostrum.Struct.Message{
                activity: nil,
                application: nil,
                application_id: nil,
                attachments: nil,
                author: %Nostrum.Struct.User{id: 12345000, username: "test", discriminator: nil, global_name: nil, avatar: nil, bot: true, public_flags: nil},
                channel_id: 7654321000,
                content: "Hello, world!",
                components: nil,
                edited_timestamp: nil,
                embeds: nil,
                id: 6,
                interaction: nil,
                guild_id: nil,
                member: nil,
                mention_everyone: nil,
                mention_roles: nil,
                mention_channels: nil,
                mentions: nil,
                message_reference: nil,
                nonce: nil,
                pinned: nil,
                poll: nil,
                reactions: nil,
                referenced_message: nil,
                sticker_items: nil,
                timestamp: ~U[1970-01-01 00:00:00Z],
                thread: nil,
                tts: nil,
                type: nil,
                webhook_id: nil
              },
              %Nostrum.Struct.Message{
                activity: nil,
                application: nil,
                application_id: nil,
                attachments: nil,
                author: %Nostrum.Struct.User{id: 12345000, username: "test", discriminator: nil, global_name: nil, avatar: nil, bot: true, public_flags: nil},
                channel_id: 7654321000,
                content: "Hello, world!",
                components: nil,
                edited_timestamp: nil,
                embeds: nil,
                id: 7,
                interaction: nil,
                guild_id: nil,
                member: nil,
                mention_everyone: nil,
                mention_roles: nil,
                mention_channels: nil,
                mentions: nil,
                message_reference: nil,
                nonce: nil,
                pinned: nil,
                poll: nil,
                reactions: nil,
                referenced_message: nil,
                sticker_items: nil,
                timestamp: ~U[1970-01-01 00:00:00Z],
                thread: nil,
                tts: nil,
                type: nil,
                webhook_id: nil
              },
              %Nostrum.Struct.Message{
                activity: nil,
                application: nil,
                application_id: nil,
                attachments: nil,
                author: %Nostrum.Struct.User{id: 12345000, username: "test", discriminator: nil, global_name: nil, avatar: nil, bot: true, public_flags: nil},
                channel_id: 7654321000,
                content: "Hello, world!",
                components: nil,
                edited_timestamp: nil,
                embeds: nil,
                id: 8,
                interaction: nil,
                guild_id: nil,
                member: nil,
                mention_everyone: nil,
                mention_roles: nil,
                mention_channels: nil,
                mentions: nil,
                message_reference: nil,
                nonce: nil,
                pinned: nil,
                poll: nil,
                reactions: nil,
                referenced_message: nil,
                sticker_items: nil,
                timestamp: ~U[1970-01-01 00:00:00Z],
                thread: nil,
                tts: nil,
                type: nil,
                webhook_id: nil
              },
              %Nostrum.Struct.Message{
                activity: nil,
                application: nil,
                application_id: nil,
                attachments: nil,
                author: %Nostrum.Struct.User{id: 12345000, username: "test", discriminator: nil, global_name: nil, avatar: nil, bot: true, public_flags: nil},
                channel_id: 7654321000,
                content: "Hello, world!",
                components: nil,
                edited_timestamp: nil,
                embeds: nil,
                id: 9,
                interaction: nil,
                guild_id: nil,
                member: nil,
                mention_everyone: nil,
                mention_roles: nil,
                mention_channels: nil,
                mentions: nil,
                message_reference: nil,
                nonce: nil,
                pinned: nil,
                poll: nil,
                reactions: nil,
                referenced_message: nil,
                sticker_items: nil,
                timestamp: ~U[1970-01-01 00:00:00Z],
                thread: nil,
                tts: nil,
                type: nil,
                webhook_id: nil
              },
              %Nostrum.Struct.Message{
                activity: nil,
                application: nil,
                application_id: nil,
                attachments: nil,
                author: %Nostrum.Struct.User{id: 12345000, username: "test", discriminator: nil, global_name: nil, avatar: nil, bot: true, public_flags: nil},
                channel_id: 7654321000,
                content: "Hello, world!",
                components: nil,
                edited_timestamp: nil,
                embeds: nil,
                id: 10,
                interaction: nil,
                guild_id: nil,
                member: nil,
                mention_everyone: nil,
                mention_roles: nil,
                mention_channels: nil,
                mentions: nil,
                message_reference: nil,
                nonce: nil,
                pinned: nil,
                poll: nil,
                reactions: nil,
                referenced_message: nil,
                sticker_items: nil,
                timestamp: ~U[1970-01-01 00:00:00Z],
                thread: nil,
                tts: nil,
                type: nil,
                webhook_id: nil
              },
              %Nostrum.Struct.Message{
                activity: nil,
                application: nil,
                application_id: nil,
                attachments: nil,
                author: %Nostrum.Struct.User{id: 12345000, username: "test", discriminator: nil, global_name: nil, avatar: nil, bot: true, public_flags: nil},
                channel_id: 7654321000,
                content: "Hello, world!",
                components: nil,
                edited_timestamp: nil,
                embeds: nil,
                id: 11,
                interaction: nil,
                guild_id: nil,
                member: nil,
                mention_everyone: nil,
                mention_roles: nil,
                mention_channels: nil,
                mentions: nil,
                message_reference: nil,
                nonce: nil,
                pinned: nil,
                poll: nil,
                reactions: nil,
                referenced_message: nil,
                sticker_items: nil,
                timestamp: ~U[1970-01-01 00:00:00Z],
                thread: nil,
                tts: nil,
                type: nil,
                webhook_id: nil
              },
              %Nostrum.Struct.Message{
                activity: nil,
                application: nil,
                application_id: nil,
                attachments: nil,
                author: %Nostrum.Struct.User{id: 12345000, username: "test", discriminator: nil, global_name: nil, avatar: nil, bot: true, public_flags: nil},
                channel_id: 7654321000,
                content: "Hello, world!",
                components: nil,
                edited_timestamp: nil,
                embeds: nil,
                id: 1234567000,
                interaction: nil,
                guild_id: nil,
                member: nil,
                mention_everyone: nil,
                mention_roles: nil,
                mention_channels: nil,
                mentions: nil,
                message_reference: nil,
                nonce: nil,
                pinned: nil,
                poll: nil,
                reactions: nil,
                referenced_message: nil,
                sticker_items: nil,
                timestamp: ~U[1970-01-01 00:00:00Z],
                thread: nil,
                tts: nil,
                type: nil,
                webhook_id: nil
              }
            ]
     stacktrace:
       test/nostrum/cache/message_cache/mnesia_additional_test.exs:313: (test)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant