Documentation
¶
Index ¶
- func TrimSlackMsgTrailingLine(msg string) string
- type BotDriver
- type Channel
- type DiscordChannel
- type DiscordConfig
- type DiscordTester
- func (d *DiscordTester) BotName() string
- func (d *DiscordTester) BotUserID() string
- func (d *DiscordTester) Channel() Channel
- func (d *DiscordTester) CreateChannel(t *testing.T, prefix string) (Channel, func(t *testing.T))
- func (d *DiscordTester) InitChannels(t *testing.T) []func()
- func (d *DiscordTester) InitUsers(t *testing.T)
- func (d *DiscordTester) InviteBotToChannel(_ *testing.T, _ string)
- func (d *DiscordTester) PostInitialMessage(t *testing.T, channelID string)
- func (d *DiscordTester) PostMessageToBot(t *testing.T, channel, command string)
- func (d *DiscordTester) SecondChannel() Channel
- func (d *DiscordTester) TesterUserID() string
- func (d *DiscordTester) ThirdChannel() Channel
- func (d *DiscordTester) Type() DriverType
- func (d *DiscordTester) WaitForInteractiveMessagePosted(userID, channelID string, limitMessages int, assertFn MessageAssertion) error
- func (d *DiscordTester) WaitForInteractiveMessagePostedRecentlyEqual(userID, channelID string, msg interactive.CoreMessage) error
- func (d *DiscordTester) WaitForLastInteractiveMessagePostedEqual(userID, channelID string, msg interactive.CoreMessage) error
- func (d *DiscordTester) WaitForLastMessageContains(userID, channelID, expectedMsgSubstring string) error
- func (d *DiscordTester) WaitForLastMessageEqual(userID, channelID, expectedMsg string) error
- func (d *DiscordTester) WaitForMessagePosted(userID, channelID string, limitMessages int, assertFn MessageAssertion) error
- func (d *DiscordTester) WaitForMessagePostedRecentlyEqual(userID, channelID, expectedMsg string) error
- func (d *DiscordTester) WaitForMessagePostedWithAttachment(userID, channelID string, limitMessages int, assertFn ExpAttachmentInput) error
- func (d *DiscordTester) WaitForMessagePostedWithFileUpload(userID, channelID string, assertFn FileUploadAssertion) error
- type DriverType
- type ExpAttachmentInput
- type FileUploadAssertion
- type MessageAssertion
- type SlackChannel
- type SlackConfig
- type SlackTester
- func (s *SlackTester) BotName() string
- func (s *SlackTester) BotUserID() string
- func (s *SlackTester) Channel() Channel
- func (s *SlackTester) CreateChannel(t *testing.T, prefix string) (Channel, func(t *testing.T))
- func (s *SlackTester) InitChannels(t *testing.T) []func()
- func (s *SlackTester) InitUsers(t *testing.T)
- func (s *SlackTester) InviteBotToChannel(t *testing.T, channelID string)
- func (s *SlackTester) PostInitialMessage(t *testing.T, channelName string)
- func (s *SlackTester) PostMessageToBot(t *testing.T, channel, command string)
- func (s *SlackTester) SecondChannel() Channel
- func (s *SlackTester) TesterUserID() string
- func (s *SlackTester) ThirdChannel() Channel
- func (s *SlackTester) Type() DriverType
- func (s *SlackTester) WaitForInteractiveMessagePosted(userID, channelID string, limitMessages int, assertFn MessageAssertion) error
- func (s *SlackTester) WaitForInteractiveMessagePostedRecentlyEqual(userID, channelID string, msg interactive.CoreMessage) error
- func (s *SlackTester) WaitForLastInteractiveMessagePostedEqual(userID, channelID string, msg interactive.CoreMessage) error
- func (s *SlackTester) WaitForLastMessageContains(userID, channelID, expectedMsgSubstring string) error
- func (s *SlackTester) WaitForLastMessageEqual(userID, channelID, expectedMsg string) error
- func (s *SlackTester) WaitForMessagePosted(userID, channelID string, limitMessages int, assertFn MessageAssertion) error
- func (s *SlackTester) WaitForMessagePostedRecentlyEqual(userID, channelID, expectedMsg string) error
- func (s *SlackTester) WaitForMessagePostedWithAttachment(userID, channelID string, limitMessages int, assertFn ExpAttachmentInput) error
- func (s *SlackTester) WaitForMessagePostedWithFileUpload(userID, channelID string, assertFn FileUploadAssertion) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type BotDriver ¶
type BotDriver interface {
Type() DriverType
InitUsers(t *testing.T)
CreateChannel(t *testing.T, prefix string) (Channel, func(t *testing.T))
InitChannels(t *testing.T) []func()
PostInitialMessage(t *testing.T, channel string)
PostMessageToBot(t *testing.T, channel, command string)
InviteBotToChannel(t *testing.T, channel string)
WaitForMessagePostedRecentlyEqual(userID, channelID, expectedMsg string) error
WaitForLastMessageContains(userID, channel, expectedMsgSubstring string) error
WaitForLastMessageEqual(userID, channel, expectedMsg string) error
WaitForMessagePosted(userID, channel string, limitMessages int, assertFn MessageAssertion) error
WaitForInteractiveMessagePosted(userID, channelID string, limitMessages int, assertFn MessageAssertion) error
WaitForMessagePostedWithFileUpload(userID, channelID string, assertFn FileUploadAssertion) error
WaitForMessagePostedWithAttachment(userID, channel string, limitMessages int, expInput ExpAttachmentInput) error
Channel() Channel
SecondChannel() Channel
ThirdChannel() Channel
BotName() string
BotUserID() string
TesterUserID() string
WaitForInteractiveMessagePostedRecentlyEqual(userID string, channelID string, message interactive.CoreMessage) error
WaitForLastInteractiveMessagePostedEqual(userID string, channelID string, message interactive.CoreMessage) error
}
func NewDiscordTester ¶
func NewDiscordTester(discordCfg DiscordConfig) (BotDriver, error)
func NewSlackTester ¶
func NewSlackTester(slackCfg SlackConfig) (BotDriver, error)
type DiscordChannel ¶
func (*DiscordChannel) ID ¶
func (s *DiscordChannel) ID() string
func (*DiscordChannel) Identifier ¶
func (s *DiscordChannel) Identifier() string
func (*DiscordChannel) Name ¶
func (s *DiscordChannel) Name() string
type DiscordConfig ¶
type DiscordConfig struct {
BotName string `envconfig:"optional"`
BotID string `envconfig:"default=983294404108378154"`
TesterName string `envconfig:"optional"`
TesterID string `envconfig:"default=1020384322114572381"`
AdditionalContextMessage string `envconfig:"optional"`
GuildID string
TesterAppToken string
RecentMessagesLimit int `envconfig:"default=6"`
MessageWaitTimeout time.Duration `envconfig:"default=30s"`
}
type DiscordTester ¶
type DiscordTester struct {
// contains filtered or unexported fields
}
func (*DiscordTester) BotName ¶
func (d *DiscordTester) BotName() string
func (*DiscordTester) BotUserID ¶
func (d *DiscordTester) BotUserID() string
func (*DiscordTester) Channel ¶
func (d *DiscordTester) Channel() Channel
func (*DiscordTester) CreateChannel ¶
CreateChannel creates Discord channel.
func (*DiscordTester) InitChannels ¶
func (d *DiscordTester) InitChannels(t *testing.T) []func()
func (*DiscordTester) InitUsers ¶
func (d *DiscordTester) InitUsers(t *testing.T)
func (*DiscordTester) InviteBotToChannel ¶
func (d *DiscordTester) InviteBotToChannel(_ *testing.T, _ string)
func (*DiscordTester) PostInitialMessage ¶
func (d *DiscordTester) PostInitialMessage(t *testing.T, channelID string)
func (*DiscordTester) PostMessageToBot ¶
func (d *DiscordTester) PostMessageToBot(t *testing.T, channel, command string)
func (*DiscordTester) SecondChannel ¶
func (d *DiscordTester) SecondChannel() Channel
func (*DiscordTester) TesterUserID ¶
func (d *DiscordTester) TesterUserID() string
func (*DiscordTester) ThirdChannel ¶
func (d *DiscordTester) ThirdChannel() Channel
func (*DiscordTester) Type ¶
func (d *DiscordTester) Type() DriverType
func (*DiscordTester) WaitForInteractiveMessagePosted ¶
func (d *DiscordTester) WaitForInteractiveMessagePosted(userID, channelID string, limitMessages int, assertFn MessageAssertion) error
func (*DiscordTester) WaitForInteractiveMessagePostedRecentlyEqual ¶
func (d *DiscordTester) WaitForInteractiveMessagePostedRecentlyEqual(userID, channelID string, msg interactive.CoreMessage) error
func (*DiscordTester) WaitForLastInteractiveMessagePostedEqual ¶
func (d *DiscordTester) WaitForLastInteractiveMessagePostedEqual(userID, channelID string, msg interactive.CoreMessage) error
func (*DiscordTester) WaitForLastMessageContains ¶
func (d *DiscordTester) WaitForLastMessageContains(userID, channelID, expectedMsgSubstring string) error
func (*DiscordTester) WaitForLastMessageEqual ¶
func (d *DiscordTester) WaitForLastMessageEqual(userID, channelID, expectedMsg string) error
func (*DiscordTester) WaitForMessagePosted ¶
func (d *DiscordTester) WaitForMessagePosted(userID, channelID string, limitMessages int, assertFn MessageAssertion) error
func (*DiscordTester) WaitForMessagePostedRecentlyEqual ¶
func (d *DiscordTester) WaitForMessagePostedRecentlyEqual(userID, channelID, expectedMsg string) error
func (*DiscordTester) WaitForMessagePostedWithAttachment ¶
func (d *DiscordTester) WaitForMessagePostedWithAttachment(userID, channelID string, limitMessages int, assertFn ExpAttachmentInput) error
func (*DiscordTester) WaitForMessagePostedWithFileUpload ¶
func (d *DiscordTester) WaitForMessagePostedWithFileUpload(userID, channelID string, assertFn FileUploadAssertion) error
type DriverType ¶
type DriverType string
DriverType to instrument
const ( SlackBot DriverType = "slack" DiscordBot DriverType = "discord" )
type ExpAttachmentInput ¶
type FileUploadAssertion ¶
type SlackChannel ¶
func (*SlackChannel) ID ¶
func (s *SlackChannel) ID() string
func (*SlackChannel) Identifier ¶
func (s *SlackChannel) Identifier() string
func (*SlackChannel) Name ¶
func (s *SlackChannel) Name() string
type SlackConfig ¶
type SlackConfig struct {
BotName string `envconfig:"default=botkube"`
TesterName string `envconfig:"default=tester"`
AdditionalContextMessage string `envconfig:"optional"`
TesterAppToken string
RecentMessagesLimit int `envconfig:"default=6"`
MessageWaitTimeout time.Duration `envconfig:"default=30s"`
}
type SlackTester ¶
type SlackTester struct {
// contains filtered or unexported fields
}
func (*SlackTester) BotName ¶
func (s *SlackTester) BotName() string
func (*SlackTester) BotUserID ¶
func (s *SlackTester) BotUserID() string
func (*SlackTester) Channel ¶
func (s *SlackTester) Channel() Channel
func (*SlackTester) CreateChannel ¶
func (*SlackTester) InitChannels ¶
func (s *SlackTester) InitChannels(t *testing.T) []func()
func (*SlackTester) InitUsers ¶
func (s *SlackTester) InitUsers(t *testing.T)
func (*SlackTester) InviteBotToChannel ¶
func (s *SlackTester) InviteBotToChannel(t *testing.T, channelID string)
func (*SlackTester) PostInitialMessage ¶
func (s *SlackTester) PostInitialMessage(t *testing.T, channelName string)
func (*SlackTester) PostMessageToBot ¶
func (s *SlackTester) PostMessageToBot(t *testing.T, channel, command string)
func (*SlackTester) SecondChannel ¶
func (s *SlackTester) SecondChannel() Channel
func (*SlackTester) TesterUserID ¶
func (s *SlackTester) TesterUserID() string
func (*SlackTester) ThirdChannel ¶
func (s *SlackTester) ThirdChannel() Channel
func (*SlackTester) Type ¶
func (s *SlackTester) Type() DriverType
func (*SlackTester) WaitForInteractiveMessagePosted ¶
func (s *SlackTester) WaitForInteractiveMessagePosted(userID, channelID string, limitMessages int, assertFn MessageAssertion) error
func (*SlackTester) WaitForInteractiveMessagePostedRecentlyEqual ¶
func (s *SlackTester) WaitForInteractiveMessagePostedRecentlyEqual(userID, channelID string, msg interactive.CoreMessage) error
TODO: This contains an implementation for socket mode slack apps. Once needed, you can see the already implemented functions here https://github.com/kubeshop/botkube/blob/abfeb95fa5f84ceb9b25a30159cdc3d17e130711/test/e2e/slack_driver_test.go#L289
func (*SlackTester) WaitForLastInteractiveMessagePostedEqual ¶
func (s *SlackTester) WaitForLastInteractiveMessagePostedEqual(userID, channelID string, msg interactive.CoreMessage) error
func (*SlackTester) WaitForLastMessageContains ¶
func (s *SlackTester) WaitForLastMessageContains(userID, channelID, expectedMsgSubstring string) error
func (*SlackTester) WaitForLastMessageEqual ¶
func (s *SlackTester) WaitForLastMessageEqual(userID, channelID, expectedMsg string) error
func (*SlackTester) WaitForMessagePosted ¶
func (s *SlackTester) WaitForMessagePosted(userID, channelID string, limitMessages int, assertFn MessageAssertion) error
func (*SlackTester) WaitForMessagePostedRecentlyEqual ¶
func (s *SlackTester) WaitForMessagePostedRecentlyEqual(userID, channelID, expectedMsg string) error
func (*SlackTester) WaitForMessagePostedWithAttachment ¶
func (s *SlackTester) WaitForMessagePostedWithAttachment(userID, channelID string, limitMessages int, assertFn ExpAttachmentInput) error
func (*SlackTester) WaitForMessagePostedWithFileUpload ¶
func (s *SlackTester) WaitForMessagePostedWithFileUpload(userID, channelID string, assertFn FileUploadAssertion) error
Click to show internal directories.
Click to hide internal directories.