forked from microsoft/BotFramework-FunctionalTests
-
Notifications
You must be signed in to change notification settings - Fork 2
/
testscript.schema
171 lines (171 loc) · 6.86 KB
/
testscript.schema
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
{
"$schema": "https://json-schema.org/draft-07/schema#",
"type": "object",
"description": "Schema for TestScript items.",
"additionalProperties": false,
"definitions": {
"TestScriptItem": {
"type": "object",
"description": "TestScript item.",
"title": "TestScriptItem",
"additionalProperties": false,
"required": [
"type"
],
"properties": {
"type": {
"type": "string",
"description": "The activity type.",
"title": "type",
"oneOf": [
{
"const": "message",
"description": "The type value for message activities.",
"title": "message"
},
{
"const": "contactRelationUpdate",
"description": "The type value for contact relation update activities.",
"title": "contactRelationUpdate"
},
{
"const": "conversationUpdate",
"description": "The type value for conversation update activities.",
"title": "conversationUpdate"
},
{
"const": "typing",
"description": "The type value for typing activities.",
"title": "typing"
},
{
"const": "endOfConversation",
"description": "The type value for end of conversation activities.",
"title": "endOfConversation"
},
{
"const": "event",
"description": "The type value for event activities.",
"title": "event"
},
{
"const": "invoke",
"description": "The type value for invoke activities.",
"title": "invoke"
},
{
"const": "deleteUserData",
"description": "The type value for delete user data activities.",
"title": "deleteUserData"
},
{
"const": "messageUpdate",
"description": "The type value for message update activities.",
"title": "messageUpdate"
},
{
"const": "messageDelete",
"description": "The type value for message delete activities.",
"title": "messageDelete"
},
{
"const": "installationUpdate",
"description": "The type value for installation update activities.",
"title": "installationUpdate"
},
{
"const": "messageReaction",
"description": "The type value for message reaction activities.",
"title": "messageReaction"
},
{
"const": "suggestion",
"description": "The type value for suggestion activities.",
"title": "suggestion"
},
{
"const": "trace",
"description": "The type value for trace activities.",
"title": "trace"
},
{
"const": "handoff",
"description": "The type value for handoff activities.",
"title": "handoff"
}
]
},
"role": {
"type": "string",
"description": "Role of the entity behind the account.",
"title": "role",
"oneOf": [
{
"const": "user",
"description": "User"
},
{
"const": "bot",
"description": "Bot"
}
]
},
"text": {
"type": "string",
"description": "The text content of the message.",
"title": "text"
},
"assertions": {
"type": "array",
"title": "Assertions to perform to validate Activity.",
"description": "Sequence of expressions which must evaluate to true.",
"items": {
"$ref": "#/definitions/condition",
"title": "Assertion",
"description": "Assertion as an expression, which must evaluate to true or it will fail the test script."
}
}
}
},
"condition": {
"$role": "expression",
"description": "Boolean constant or expression to evaluate.",
"title": "condition",
"oneOf": [
{
"$ref": "#/definitions/expression"
}
]
},
"expression": {
"$role": "expression",
"type": "string",
"description": "Expression to evaluate. More information at\n https://docs.microsoft.com/en-us/azure/bot-service/bot-builder-concept-adaptive-expressions?view=azure-bot-service-4.0&tabs=comparison#operators",
"title": "expression",
"examples": [
"type",
"recipient.role",
"from.name",
"from.role",
"text",
"inputHint"
]
}
},
"properties": {
"$schema": {
"type": "string",
"description": "Schema.",
"title": "$schema"
},
"items": {
"type": "array",
"description": "List of TestScript items.",
"title": "items",
"additionalItems": false,
"items": {
"$ref": "#/definitions/TestScriptItem"
}
}
}
}