in src/lambda_functions/bot_tester/bot_conversations.py [0:0]
def get_bot_conversations(self):
"""Get a Banker Bot Conversation"""
user_name = self._faker.user_name()
return [
# welcome
[
{
"operation": "recognize_text",
"args": {
"text": self._faker.random_element(
elements=self.DEFINITIONS[self._locale]["welcome_utterances"]
),
"requestAttributes": {"state": "init"},
"sessionState": {"sessionAttributes": {"username": user_name}},
},
}
],
# hello speech
[
{
"operation": "recognize_utterance",
"args": {
"inputStream": HELLO_AUDIO,
"requestContentType": AUDIO_REQUEST_CONTENT_TYPE,
"responseContentType": "text/plain;charset=utf-8",
},
}
],
# fallback utterance
[
{
"operation": "recognize_text",
"args": {
"text": self._faker.random_element(
elements=self.DEFINITIONS[self._locale]["fallback_utterances"]
),
"sessionState": {"sessionAttributes": {"username": user_name}},
},
}
],
# check balance
[
{
"operation": "recognize_text",
"args": {
"text": self._faker.random_element(
elements=self.DEFINITIONS[self._locale]["check_balance_utterances"]
),
"sessionState": {
"sessionAttributes": {"appState": "CheckBalance", "username": user_name}
},
},
},
{
"operation": "recognize_text",
"args": {
"text": self._faker.random_element(
elements=self.DEFINITIONS[self._locale]["account_types"]
),
"sessionState": {
"sessionAttributes": {
"appState": "CheckBalance:Account",
"username": user_name,
}
},
},
},
{
"operation": "recognize_text",
"args": {
"text": self._faker.date_of_birth().isoformat(),
"sessionState": {
"sessionAttributes": {
"appState": "CheckBalance:Account:DoB",
"username": user_name,
}
},
},
},
],
# check balance invalid account slot value
[
{
"operation": "recognize_text",
"args": {
"text": self._faker.random_element(
elements=self.DEFINITIONS[self._locale]["check_balance_utterances"]
),
"sessionState": {
"sessionAttributes": {"appState": "CheckBalance", "username": user_name}
},
},
},
*[
{
"operation": "recognize_text",
"args": {
"text": t,
"sessionState": {
"sessionAttributes": {
"appState": "CheckBalance:Account",
"username": user_name,
}
},
},
}
for t in self.DEFINITIONS[self._locale]["invalid_account_types"]
],
],
# transfer funds
[
{
"operation": "recognize_text",
"args": {
"text": self._faker.random_element(
elements=self.DEFINITIONS[self._locale]["transfer_funds_utterances"]
),
"sessionState": {
"sessionAttributes": {
"appState": "TransferFunds",
"username": user_name,
}
},
},
},
{
"operation": "recognize_text",
"args": {
"text": self._faker.random_element(
elements=self.DEFINITIONS[self._locale]["account_types"]
),
"sessionState": {
"sessionAttributes": {
"appState": "TransferFunds:SrcAccount",
"username": user_name,
}
},
},
},
{
"operation": "recognize_text",
"args": {
"text": self._faker.random_element(
elements=self.DEFINITIONS[self._locale]["account_types"]
),
"sessionState": {
"sessionAttributes": {
"appState": "TransferFunds:DstAccount",
"username": user_name,
}
},
},
},
{
"operation": "recognize_text",
"args": {
"text": self._faker.pricetag(),
"sessionState": {
"sessionAttributes": {
"appState": "Transfer:Amount",
"username": user_name,
}
},
},
},
{
"operation": "recognize_text",
"args": {
"text": self._faker.random_element(
elements=self.DEFINITIONS[self._locale]["confirmations"]
),
"sessionState": {
"sessionAttributes": {
"appState": "TransferFunds:DstAccount",
"username": user_name,
}
},
},
},
],
]