TestAdapter class
Adaptador de teste usado para testes de unidade. Esse adaptador pode ser usado para simular o envio de mensagens do usuário para o bot.
- Extends
Comentários
O exemplo a seguir configura o adaptador de teste e, em seguida, executa um teste simples:
const { TestAdapter } = require('botbuilder');
const adapter = new TestAdapter(async (context) => {
await context.sendActivity(`Hello World`);
});
adapter.test(`hi`, `Hello World`)
.then(() => done());
Construtores
Test |
Cria uma nova instância de TestAdapter. |
Propriedades
active |
Obtém a fila de respostas do bot. |
conversation | Obtém ou define uma referência à conversa atual. |
enable |
Obtém um valor que indica se as atividades de rastreamento devem ser enviadas. Define um valor que determina se as atividades de rastreamento devem ser enviadas. |
locale | Obtém ou define a localidade da conversa. |
on |
Obtém ou define um manipulador de erros que pode capturar exceções no middleware ou aplicativo. Define um manipulador de erros que pode capturar exceções no middleware ou aplicativo. |
template |
|
Propriedades herdadas
Bot |
|
Connector |
|
OAuth |
Métodos
add |
Adiciona um token trocável falso para que ele possa ser trocado posteriormente. |
add |
Adiciona um token de usuário falso para que ele possa ser recuperado posteriormente. |
continue |
O |
create |
Crie uma ConversationReference. |
exchange |
Executa uma operação de troca de token, como para logon único. |
get |
Desconscreve o usuário com o servidor de token. |
get |
Desativa e retorna a próxima resposta de bot do activeQueue. |
get |
Obtém um link de entrada do servidor de token que pode ser enviado como parte de um SigninCard. |
get |
Obtém um recurso de entrada. |
get |
Recupera de forma assíncrona o status do token para cada conexão configurada para o usuário fornecido. No testAdapter, recupera tokens que foram adicionados anteriormente por meio de addUserToken. |
get |
Recupera o token OAuth para um usuário que está em um fluxo de entrada. |
make |
Cria uma atividade de mensagem com base no texto e no contexto de conversa atual. |
process |
Recebe uma atividade e a executa por meio do pipeline de middleware. |
send(string | Partial<Activity>) | Envia algo para o bot. Isso retorna uma nova instância de |
send |
Processa uma atividade de mensagem de um usuário. |
sign |
Desconscreve o usuário com o servidor de token. |
test(string | Partial<Activity>, string | Partial<Activity> | (activity: Partial<Activity>, description?: string) => void, string, number) | Envie algo para o bot e espera que o bot retorne com uma determinada resposta. |
test |
Teste uma lista de atividades. |
throw |
Adiciona uma instrução para gerar uma exceção durante solicitações de troca. |
Métodos herdados
continue |
Retoma de forma assíncrona uma conversa com um usuário, possivelmente depois de algum tempo. |
continue |
Retoma de forma assíncrona uma conversa com um usuário, possivelmente depois de algum tempo. |
continue |
Retoma de forma assíncrona uma conversa com um usuário, possivelmente depois de algum tempo. |
create |
Cria uma conversa no canal especificado. |
use((context: Turn |
Adiciona middleware ao pipeline do adaptador. |
Detalhes do construtor
TestAdapter((context: TurnContext) => Promise<void> | ConversationReference, Partial<Activity>, boolean)
Cria uma nova instância de TestAdapter.
new TestAdapter(logicOrConversation?: (context: TurnContext) => Promise<void> | ConversationReference, template?: Partial<Activity>, sendTraceActivity?: boolean)
Parâmetros
- logicOrConversation
-
(context: TurnContext) => Promise<void> | ConversationReference
A lógica de bots que está em teste.
- template
-
Partial<Activity>
Atividade (opcional) que contém valores padrão a serem atribuídos a todas as mensagens de teste recebidas.
- sendTraceActivity
-
boolean
Indica se o adaptador deve adicionar à fila as atividades de rastreamento geradas pelo bot.
Detalhes da propriedade
activeQueue
Obtém a fila de respostas do bot.
activeQueue: Partial<Activity>[]
Valor da propriedade
Partial<Activity>[]
conversation
Obtém ou define uma referência à conversa atual.
conversation: ConversationReference
Valor da propriedade
ConversationReference
enableTrace
Obtém um valor que indica se as atividades de rastreamento devem ser enviadas. Define um valor que determina se as atividades de rastreamento devem ser enviadas.
boolean enableTrace
Valor da propriedade
boolean
Um valor que indica se as atividades de rastreamento devem ser enviadas.
locale
Obtém ou define a localidade da conversa.
locale: string
Valor da propriedade
string
onTurnError
Obtém ou define um manipulador de erros que pode capturar exceções no middleware ou aplicativo. Define um manipulador de erros que pode capturar exceções no middleware ou aplicativo.
(context: TurnContext, error: Error) => Promise<void> onTurnError
Valor da propriedade
(context: TurnContext, error: Error) => Promise<void>
Uma promessa que representa a operação assíncrona.
Comentários
O manipulador de erros é chamado com estes parâmetros:
Nome | Tipo | Descrição |
---|---|---|
context |
TurnContext | O objeto de contexto para a curva. |
error |
Error |
O erro de Node.js gerado. |
template
Activity
modelo que será mesclado com todas as atividades enviadas à lógica em teste.
template: Partial<Activity>
Valor da propriedade
Partial<Activity>
Detalhes das propriedades herdadas
BotIdentityKey
ConnectorClientKey
OAuthScopeKey
Detalhes do método
addExchangeableToken(string, string, string, string, string)
Adiciona um token trocável falso para que ele possa ser trocado posteriormente.
function addExchangeableToken(connectionName: string, channelId: string, userId: string, exchangeableItem: string, token: string)
Parâmetros
- connectionName
-
string
Nome da conexão de autenticação a ser usada.
- channelId
-
string
ID do canal.
- userId
-
string
Identificação de usuário.
- exchangeableItem
-
string
Token ou URI de recurso que pode ser trocado.
- token
-
string
Token a ser armazenado.
addUserToken(string, string, string, string, string)
Adiciona um token de usuário falso para que ele possa ser recuperado posteriormente.
function addUserToken(connectionName: string, channelId: string, userId: string, token: string, magicCode?: string)
Parâmetros
- connectionName
-
string
O nome da conexão.
- channelId
-
string
A ID do canal.
- userId
-
string
A ID do usuário.
- token
-
string
O token a ser armazenado.
- magicCode
-
string
(Opcional) O código mágico opcional a ser associado a esse token.
continueConversation(Partial<ConversationReference>, (revocableContext: TurnContext) => Promise<void>)
O TestAdapter
não implementa continueConversation()
e retornará um erro se for chamado.
function continueConversation(_reference: Partial<ConversationReference>, _logic: (revocableContext: TurnContext) => Promise<void>): Promise<void>
Parâmetros
- _reference
-
Partial<ConversationReference>
Uma referência à conversa a continuar.
- _logic
-
(revocableContext: TurnContext) => Promise<void>
O método assíncrono a ser chamado após a execução do middleware do adaptador.
Retornos
Promise<void>
Uma promessa que representa a operação assíncrona.
createConversation(string, string, string)
Crie uma ConversationReference.
static function createConversation(name: string, user?: string, bot?: string): ConversationReference
Parâmetros
- name
-
string
nome da conversa (também id).
- user
-
string
nome do usuário (também id) padrão: User1.
- bot
-
string
nome do bot (também id) padrão: Bot.
Retornos
ConversationReference
O
exchangeToken(TurnContext, string, string, TokenExchangeRequest)
Executa uma operação de troca de token, como para logon único.
function exchangeToken(context: TurnContext, connectionName: string, userId: string, tokenExchangeRequest: TokenExchangeRequest): Promise<TokenResponse>
Parâmetros
- context
- TurnContext
(xref:botbuilder-core. TurnContext) para a virada atual da conversa com o usuário.
- connectionName
-
string
Nome da conexão de autenticação a ser usada.
- userId
-
string
ID do usuário associada ao token.
- tokenExchangeRequest
-
TokenExchangeRequest
Detalhes da solicitação do Exchange, um token a ser trocado ou um uri a ser trocado.
Retornos
Promise<TokenResponse>
Se a promessa for concluída, o token trocado será retornado.
getAadTokens(TurnContext, string, string[])
Desconscreve o usuário com o servidor de token.
function getAadTokens(_context: TurnContext, _connectionName: string, _resourceUrls: string[]): Promise<[key: string]: TokenResponse>
Parâmetros
- _context
- TurnContext
Contexto para a virada atual da conversa com o usuário.
- _connectionName
-
string
Nome da conexão de autenticação a ser usada.
- _resourceUrls
-
string[]
A lista de URLs de recurso para a qual recuperar tokens.
Retornos
Promise<[key: string]: TokenResponse>
Um dicionário de resourceUrl para o TokenResponse correspondente.
getNextReply()
Desativa e retorna a próxima resposta de bot do activeQueue.
function getNextReply(): Partial<Activity>
Retornos
Partial<Activity>
A próxima atividade na fila; ou indefinido, se a fila estiver vazia.
getSignInLink(TurnContext, string)
Obtém um link de entrada do servidor de token que pode ser enviado como parte de um SigninCard.
function getSignInLink(context: TurnContext, connectionName: string): Promise<string>
Parâmetros
- context
- TurnContext
Contexto para a virada atual da conversa com o usuário.
- connectionName
-
string
Nome da conexão de autenticação a ser usada.
Retornos
Promise<string>
Um link de entrada do servidor de token que pode ser enviado como parte de um SigninCard.
getSignInResource(TurnContext, string, string, string)
Obtém um recurso de entrada.
function getSignInResource(context: TurnContext, connectionName: string, userId?: string, _finalRedirect?: string): Promise<SignInUrlResponse>
Parâmetros
- context
- TurnContext
(xref:botbuilder-core. TurnContext) para a virada atual da conversa com o usuário.
- connectionName
-
string
Nome da conexão de autenticação a ser usada.
- userId
-
string
Identificação de usuário
- _finalRedirect
-
string
URL de redirecionamento final.
Retornos
Promise<SignInUrlResponse>
Um
getTokenStatus(TurnContext, string, string, any)
Recupera de forma assíncrona o status do token para cada conexão configurada para o usuário fornecido. No testAdapter, recupera tokens que foram adicionados anteriormente por meio de addUserToken.
function getTokenStatus(context: TurnContext, userId: string, includeFilter?: string, _oAuthAppCredentials?: any): Promise<any[]>
Parâmetros
- context
- TurnContext
O objeto de contexto para a curva.
- userId
-
string
A ID do usuário para o qual recuperar o status do token.
- includeFilter
-
string
Opcional. Uma lista separada por vírgulas das conexões a serem incluídas. Se estiver presente, o parâmetro includeFilter
limitará os tokens retornados por esse método.
- _oAuthAppCredentials
-
any
AppCredentials para OAuth.
Retornos
Promise<any[]>
Os objetos TokenStatus recuperados.
getUserToken(TurnContext, string, string)
Recupera o token OAuth para um usuário que está em um fluxo de entrada.
function getUserToken(context: TurnContext, connectionName: string, magicCode?: string): Promise<TokenResponse>
Parâmetros
- context
- TurnContext
Contexto para a virada atual da conversa com o usuário.
- connectionName
-
string
Nome da conexão de autenticação a ser usada.
- magicCode
-
string
(Opcional) Código inserido pelo usuário opcional para validar.
Retornos
Promise<TokenResponse>
O token OAuth para um usuário que está em um fluxo de entrada.
makeActivity(string)
Cria uma atividade de mensagem com base no texto e no contexto de conversa atual.
function makeActivity(text?: string): Partial<Activity>
Parâmetros
- text
-
string
O texto da mensagem.
Retornos
Partial<Activity>
Uma atividade de mensagem apropriada.
processActivity(string | Partial<Activity>, (context: TurnContext) => Promise<any>)
Recebe uma atividade e a executa por meio do pipeline de middleware.
function processActivity(activity: string | Partial<Activity>, callback?: (context: TurnContext) => Promise<any>): Promise<any>
Parâmetros
- activity
-
string | Partial<Activity>
A atividade a ser processada.
- callback
-
(context: TurnContext) => Promise<any>
A lógica do bot a ser invocada.
Retornos
Promise<any>
Uma promessa que representa a operação assíncrona.
send(string | Partial<Activity>)
Envia algo para o bot. Isso retorna uma nova instância de TestFlow
que pode ser usada para adicionar etapas adicionais para inspecionar a resposta dos bots e, em seguida, enviar atividades adicionais.
function send(userSays: string | Partial<Activity>): TestFlow
Parâmetros
- userSays
-
string | Partial<Activity>
Texto ou atividade simulando a entrada do usuário.
Retornos
uma nova instância TestFlow que pode ser usada para adicionar etapas adicionais para inspecionar a resposta dos bots e, em seguida, enviar atividades adicionais.
Comentários
Este exemplo mostra como enviar uma mensagem e, em seguida, verificar se a resposta era conforme o esperado:
adapter.send('hi')
.assertReply('Hello World')
.then(() => done());
sendTextToBot(string, (context: TurnContext) => Promise<any>)
Processa uma atividade de mensagem de um usuário.
function sendTextToBot(userSays: string, callback: (context: TurnContext) => Promise<any>): Promise<any>
Parâmetros
- userSays
-
string
O texto da mensagem do usuário.
- callback
-
(context: TurnContext) => Promise<any>
A lógica do bot a ser invocada.
Retornos
Promise<any>
Uma promessa que representa a operação assíncrona.
signOutUser(TurnContext, string, string)
Desconscreve o usuário com o servidor de token.
function signOutUser(context: TurnContext, connectionName?: string, userId?: string): Promise<void>
Parâmetros
- context
- TurnContext
Contexto para a virada atual da conversa com o usuário.
- connectionName
-
string
Nome da conexão de autenticação a ser usada.
- userId
-
string
ID do usuário para sair.
Retornos
Promise<void>
test(string | Partial<Activity>, string | Partial<Activity> | (activity: Partial<Activity>, description?: string) => void, string, number)
Envie algo para o bot e espera que o bot retorne com uma determinada resposta.
function test(userSays: string | Partial<Activity>, expected: string | Partial<Activity> | (activity: Partial<Activity>, description?: string) => void, description?: string, _timeout?: number): TestFlow
Parâmetros
- userSays
-
string | Partial<Activity>
Texto ou atividade simulando a entrada do usuário.
- expected
-
string | Partial<Activity> | (activity: Partial<Activity>, description?: string) => void
Texto ou atividade esperado da resposta enviada pelo bot.
- description
-
string
(Opcional) Descrição do caso de teste. Se não for fornecido, um será gerado.
- _timeout
-
number
(Opcional) número de milissegundos para aguardar uma resposta do bot. O padrão é um valor de 3000
.
Retornos
Um novo objeto TestFlow que acrescenta essa troca à troca modelada.
Comentários
Isso é simplesmente um wrapper em torno de chamadas para send()
e assertReply()
. Esse é um padrão tão comum que um auxiliar é fornecido.
adapter.test('hi', 'Hello World')
.then(() => done());
testActivities(Partial<Activity>[], string, number)
Teste uma lista de atividades.
function testActivities(activities: Partial<Activity>[], description?: string, timeout?: number): TestFlow
Parâmetros
- activities
-
Partial<Activity>[]
Matriz de atividades.
- description
-
string
(Opcional) Descrição do caso de teste. Se não for fornecido, um será gerado.
- timeout
-
number
(Opcional) número de milissegundos para aguardar uma resposta do bot. O padrão é um valor de 3000
.
Retornos
Um novo objeto TestFlow que acrescenta essa troca à troca modelada.
Comentários
Cada atividade com a função "bot" será processada com assertReply() e todas as outras atividades serão processadas como uma mensagem de usuário com send().
throwOnExchangeRequest(string, string, string, string)
Adiciona uma instrução para gerar uma exceção durante solicitações de troca.
function throwOnExchangeRequest(connectionName: string, channelId: string, userId: string, exchangeableItem: string)
Parâmetros
- connectionName
-
string
O nome da conexão.
- channelId
-
string
A ID do canal.
- userId
-
string
A ID do usuário.
- exchangeableItem
-
string
O token ou o URI de recurso que pode ser trocado.
Detalhes do método herdado
continueConversationAsync(ClaimsIdentity, Partial<ConversationReference>, (context: TurnContext) => Promise<void>)
Retoma de forma assíncrona uma conversa com um usuário, possivelmente depois de algum tempo.
function continueConversationAsync(claimsIdentity: ClaimsIdentity, reference: Partial<ConversationReference>, logic: (context: TurnContext) => Promise<void>): Promise<void>
Parâmetros
- reference
-
Partial<ConversationReference>
Um ConversationReference parcial para que a conversa continue.
- logic
-
(context: TurnContext) => Promise<void>
O método assíncrono a ser chamado após a execução do middleware do adaptador.
Retornos
Promise<void>
uma promessa que representa a operação assíncrona
Herdado deBotAdapter.continueConversationAsync
continueConversationAsync(ClaimsIdentity, Partial<ConversationReference>, string, (context: TurnContext) => Promise<void>)
Retoma de forma assíncrona uma conversa com um usuário, possivelmente depois de algum tempo.
function continueConversationAsync(claimsIdentity: ClaimsIdentity, reference: Partial<ConversationReference>, audience: string, logic: (context: TurnContext) => Promise<void>): Promise<void>
Parâmetros
- reference
-
Partial<ConversationReference>
Um ConversationReference parcial para que a conversa continue.
- audience
-
string
Um valor que significa o destinatário da mensagem proativa.
- logic
-
(context: TurnContext) => Promise<void>
O método assíncrono a ser chamado após a execução do middleware do adaptador.
Retornos
Promise<void>
uma promessa que representa a operação assíncrona
Herdado deBotAdapter.continueConversationAsync
continueConversationAsync(string, Partial<ConversationReference>, (context: TurnContext) => Promise<void>)
Retoma de forma assíncrona uma conversa com um usuário, possivelmente depois de algum tempo.
function continueConversationAsync(botAppId: string, reference: Partial<ConversationReference>, logic: (context: TurnContext) => Promise<void>): Promise<void>
Parâmetros
- botAppId
-
string
A ID do aplicativo do bot. Esse parâmetro é ignorado em um único locatário dos Adaptadores (Console, Teste etc),mas é fundamental para o BotFrameworkAdapter, que tem reconhecimento multilocatário.
- reference
-
Partial<ConversationReference>
Um ConversationReference parcial para que a conversa continue.
- logic
-
(context: TurnContext) => Promise<void>
O método assíncrono a ser chamado após a execução do middleware do adaptador.
Retornos
Promise<void>
uma promessa que representa a operação assíncrona
Herdado deBotAdapter.continueConversationAsync
createConversationAsync(string, string, string, string, ConversationParameters, (context: TurnContext) => Promise<void>)
Cria uma conversa no canal especificado.
function createConversationAsync(_botAppId: string, _channelId: string, _serviceUrl: string, _audience: string, _conversationParameters: ConversationParameters, _logic: (context: TurnContext) => Promise<void>): Promise<void>
Parâmetros
- _botAppId
-
string
A ID do aplicativo do bot.
- _channelId
-
string
A ID do canal.
- _serviceUrl
-
string
A ID do canal.
- _audience
-
string
O público-alvo do conector.
- _conversationParameters
-
ConversationParameters
As informações de conversa a serem usadas para criar a conversa
- _logic
-
(context: TurnContext) => Promise<void>
O método a ser chamado para a curva de bot resultante.
Retornos
Promise<void>
Uma promessa que representa a operação assíncrona
Comentários
Para iniciar uma conversa, o bot deve saber suas informações de conta e as informações da conta do usuário nesse canal. A maioria dos _channels dá suporte apenas ao início de uma conversa direta (não em grupo).
O adaptador tenta criar uma nova conversa no canal e envia uma atividade conversationUpdate
por meio de seu pipeline de middleware para o método lógico.
Se a conversa for estabelecida com os usuários especificados, a ID da conversão da atividade conterá a ID da nova conversa.
Herdado deBotAdapter.createConversationAsync
use((context: TurnContext, next: () => Promise<void>) => Promise<void> | Middleware[])
Adiciona middleware ao pipeline do adaptador.
function use(middlewares: (context: TurnContext, next: () => Promise<void>) => Promise<void> | Middleware[]): this
Parâmetros
- middlewares
-
(context: TurnContext, next: () => Promise<void>) => Promise<void> | Middleware[]
Os manipuladores de middleware ou middleware a serem adicionados.
Retornos
this
O objeto do adaptador atualizado.
Comentários
O middleware é adicionado ao adaptador no momento da inicialização. A cada turno, o adaptador chama seu middleware na ordem em que você o adicionou.
Herdado doBotAdapter.use