TestAdapter Classe

Crea una nuova istanza di TestAdapter. logica :p aram: :p aram conversazione: riferimento alla conversazione con cui iniziare lo stato dell'adattatore.

Costruttore

TestAdapter(logic: Coroutine = None, template_or_conversation: Activity | ConversationReference = None, send_trace_activities: bool = False)

Parametri

Nome Descrizione
logic
Valore predefinito: None
template_or_conversation
Valore predefinito: None
send_trace_activities
Valore predefinito: False

Metodi

add_exchangeable_token
add_user_token
continue_conversation

Il TestAdapter chiama semplicemente l'implementazione padre. :p aram reference: :p aram callback: :p aram bot_id: :p aram claims_identity: :return:

create_conversation
create_conversation_reference
create_turn_context
delete_activity

INTERNAL: chiamato dalla logica sottoposta a test per eliminare un'attività esistente. Questi vengono semplicemente inseriti in un deletedActivities matrice per l'ispezione al termine del turno. riferimento :p aram: :return:

exchange_token
exchange_token_from_credentials
get_aad_tokens
get_next_activity
get_oauth_sign_in_link
get_sign_in_resource_from_user
get_sign_in_resource_from_user_and_credentials
get_token_status
get_user_token
process_activity
receive_activity

INTERNAL: chiamato da un'istanza di TestFlow per simulare un utente che invia un messaggio al bot. In questo modo verrà eseguita la pipe middleware degli adattatori ed è necessario chiamare la logica. attività :p aram: :return:

send

Invia qualcosa al bot. Verrà restituita una nuova istanza di TestFlow che può essere usata per aggiungere passaggi aggiuntivi per esaminare i bot e quindi inviare attività aggiuntive. :p aram user_says: :return: nuova istanza dell'oggetto TestFlow

send_activities

INTERNAL: chiamato dalla logica sottoposta a test per inviare un set di attività. Questi verranno memorizzati nel buffer nell'istanza corrente TestFlow per il confronto con i risultati previsti. contesto :p aram: attività :p aram: :return:

sign_out_user
test

Inviare un elemento al bot e si prevede che il bot restituisca una risposta specifica. Si tratta semplicemente di un wrapper per le chiamate a send() e assertReply(). Si tratta di un modello così comune fornito da un helper. :p aram user_says: previsto :p aram: :p aram description: :p aram timeout: :return:

tests

Supportare più test case senza dover chiamare manualmente test() ripetutamente. Si tratta di un livello pratico intorno al test(). Gli argomenti validi sono elenchi o tuple di parametri :p aram args: :return:

throw_on_exchange_request
update_activity

INTERNAL: chiamato dalla logica sottoposta a test per sostituire un'attività esistente. Questi vengono semplicemente inseriti in un aggiornatoActivities matrice per l'ispezione al termine del turno. attività :p aram: :return:

add_exchangeable_token

add_exchangeable_token(connection_name: str, channel_id: str, user_id: str, exchangeable_item: str, token: str)

Parametri

Nome Descrizione
connection_name
Necessario
channel_id
Necessario
user_id
Necessario
exchangeable_item
Necessario
token
Necessario

add_user_token

add_user_token(connection_name: str, channel_id: str, user_id: str, token: str, magic_code: str = None)

Parametri

Nome Descrizione
connection_name
Necessario
channel_id
Necessario
user_id
Necessario
token
Necessario
magic_code
Valore predefinito: None

continue_conversation

Il TestAdapter chiama semplicemente l'implementazione padre. :p aram reference: :p aram callback: :p aram bot_id: :p aram claims_identity: :return:

async continue_conversation(reference: ConversationReference, callback: Callable, bot_id: str = None, claims_identity: ClaimsIdentity = None, audience: str = None)

Parametri

Nome Descrizione
reference
Necessario
callback
Necessario
bot_id
Valore predefinito: None
claims_identity
Valore predefinito: None
audience
Valore predefinito: None

create_conversation

async create_conversation(channel_id: str, callback: Callable)

Parametri

Nome Descrizione
channel_id
Necessario
callback
Necessario

create_conversation_reference

static create_conversation_reference(name: str, user: str = 'User1', bot: str = 'Bot') -> ConversationReference

Parametri

Nome Descrizione
name
Necessario
user
Valore predefinito: User1
bot
Valore predefinito: Bot

create_turn_context

create_turn_context(activity: Activity) -> TurnContext

Parametri

Nome Descrizione
activity
Necessario

delete_activity

INTERNAL: chiamato dalla logica sottoposta a test per eliminare un'attività esistente. Questi vengono semplicemente inseriti in un deletedActivities matrice per l'ispezione al termine del turno. riferimento :p aram: :return:

async delete_activity(context, reference: ConversationReference)

Parametri

Nome Descrizione
context
Necessario
reference
Necessario

exchange_token

async exchange_token(turn_context: TurnContext, connection_name: str, user_id: str, exchange_request: TokenExchangeRequest) -> TokenResponse

Parametri

Nome Descrizione
turn_context
Necessario
connection_name
Necessario
user_id
Necessario
exchange_request
Necessario

exchange_token_from_credentials

async exchange_token_from_credentials(turn_context: TurnContext, oauth_app_credentials: AppCredentials, connection_name: str, user_id: str, exchange_request: TokenExchangeRequest) -> TokenResponse

Parametri

Nome Descrizione
turn_context
Necessario
oauth_app_credentials
Necessario
connection_name
Necessario
user_id
Necessario
exchange_request
Necessario

get_aad_tokens

async get_aad_tokens(context: TurnContext, connection_name: str, resource_urls: List[str], user_id: str = None, oauth_app_credentials: AppCredentials = None) -> Dict[str, TokenResponse]

Parametri

Nome Descrizione
context
Necessario
connection_name
Necessario
resource_urls
Necessario
user_id
Valore predefinito: None
oauth_app_credentials
Valore predefinito: None

get_next_activity

get_next_activity() -> Activity
async get_oauth_sign_in_link(context: TurnContext, connection_name: str, final_redirect: str = None, oauth_app_credentials: AppCredentials = None) -> str

Parametri

Nome Descrizione
context
Necessario
connection_name
Necessario
final_redirect
Valore predefinito: None
oauth_app_credentials
Valore predefinito: None

get_sign_in_resource_from_user

async get_sign_in_resource_from_user(turn_context: TurnContext, connection_name: str, user_id: str, final_redirect: str = None) -> SignInUrlResponse

Parametri

Nome Descrizione
turn_context
Necessario
connection_name
Necessario
user_id
Necessario
final_redirect
Valore predefinito: None

get_sign_in_resource_from_user_and_credentials

async get_sign_in_resource_from_user_and_credentials(turn_context: TurnContext, oauth_app_credentials: AppCredentials, connection_name: str, user_id: str, final_redirect: str = None) -> SignInUrlResponse

Parametri

Nome Descrizione
turn_context
Necessario
oauth_app_credentials
Necessario
connection_name
Necessario
user_id
Necessario
final_redirect
Valore predefinito: None

get_token_status

async get_token_status(context: TurnContext, connection_name: str = None, user_id: str = None, include_filter: str = None, oauth_app_credentials: AppCredentials = None) -> Dict[str, TokenResponse]

Parametri

Nome Descrizione
context
Necessario
connection_name
Valore predefinito: None
user_id
Valore predefinito: None
include_filter
Valore predefinito: None
oauth_app_credentials
Valore predefinito: None

get_user_token

async get_user_token(context: TurnContext, connection_name: str, magic_code: str = None, oauth_app_credentials: AppCredentials = None) -> TokenResponse

Parametri

Nome Descrizione
context
Necessario
connection_name
Necessario
magic_code
Valore predefinito: None
oauth_app_credentials
Valore predefinito: None

process_activity

async process_activity(activity: Activity, logic: Callable[[TurnContext], Awaitable])

Parametri

Nome Descrizione
activity
Necessario
logic
Necessario

receive_activity

INTERNAL: chiamato da un'istanza di TestFlow per simulare un utente che invia un messaggio al bot. In questo modo verrà eseguita la pipe middleware degli adattatori ed è necessario chiamare la logica. attività :p aram: :return:

async receive_activity(activity)

Parametri

Nome Descrizione
activity
Necessario

send

Invia qualcosa al bot. Verrà restituita una nuova istanza di TestFlow che può essere usata per aggiungere passaggi aggiuntivi per esaminare i bot e quindi inviare attività aggiuntive. :p aram user_says: :return: nuova istanza dell'oggetto TestFlow

async send(user_says) -> object

Parametri

Nome Descrizione
user_says
Necessario

send_activities

INTERNAL: chiamato dalla logica sottoposta a test per inviare un set di attività. Questi verranno memorizzati nel buffer nell'istanza corrente TestFlow per il confronto con i risultati previsti. contesto :p aram: attività :p aram: :return:

async send_activities(context, activities: List[Activity]) -> List[ResourceResponse]

Parametri

Nome Descrizione
context
Necessario
activities
Necessario

sign_out_user

async sign_out_user(context: TurnContext, connection_name: str = None, user_id: str = None, oauth_app_credentials: AppCredentials = None)

Parametri

Nome Descrizione
context
Necessario
connection_name
Valore predefinito: None
user_id
Valore predefinito: None
oauth_app_credentials
Valore predefinito: None

test

Inviare un elemento al bot e si prevede che il bot restituisca una risposta specifica. Si tratta semplicemente di un wrapper per le chiamate a send() e assertReply(). Si tratta di un modello così comune fornito da un helper. :p aram user_says: previsto :p aram: :p aram description: :p aram timeout: :return:

async test(user_says, expected, description=None, timeout=None) -> TestFlow

Parametri

Nome Descrizione
user_says
Necessario
expected
Necessario
description
Valore predefinito: None
timeout
Valore predefinito: None

tests

Supportare più test case senza dover chiamare manualmente test() ripetutamente. Si tratta di un livello pratico intorno al test(). Gli argomenti validi sono elenchi o tuple di parametri :p aram args: :return:

async tests(*args)

throw_on_exchange_request

throw_on_exchange_request(connection_name: str, channel_id: str, user_id: str, exchangeable_item: str)

Parametri

Nome Descrizione
connection_name
Necessario
channel_id
Necessario
user_id
Necessario
exchangeable_item
Necessario

update_activity

INTERNAL: chiamato dalla logica sottoposta a test per sostituire un'attività esistente. Questi vengono semplicemente inseriti in un aggiornatoActivities matrice per l'ispezione al termine del turno. attività :p aram: :return:

async update_activity(context, activity: Activity)

Parametri

Nome Descrizione
context
Necessario
activity
Necessario