You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
And I set the Authorization header to Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6Ikpva
8
7
And REST API service prefix is /v1
9
8
And the Lightspeed stack configuration directory is "tests/e2e/configuration"
10
9
11
-
# --- Configuration & startup ---
12
-
13
-
@SkillsConfig
14
-
Scenario: Service starts successfully with skills configured
15
-
Given The e2e-test-skill skill directory is present in the container
16
-
And The service uses the lightspeed-stack-skills.yaml configuration
17
-
And The service is restarted
18
-
When I access endpoint "readiness" using HTTP GET method
19
-
Then The status code of the response is 200
20
-
And The body of the response contains true
21
-
22
-
@SkillsConfig
23
-
Scenario: Service fails to start when skill path does not exist
24
-
Given The service uses the lightspeed-stack-skills-invalid-path.yaml configuration
25
-
And The service is restarted
26
-
When I access endpoint "readiness" using HTTP GET method
27
-
Then The status code of the response is not 200
28
-
29
-
@SkillsConfig
30
-
Scenario: Service fails to start when SKILL.md is missing from skill directory
31
-
Given The e2e-missing-skillmd-skill skill directory is present in the container
32
-
And The service uses the lightspeed-stack-skills-missing-skillmd.yaml configuration
33
-
And The service is restarted
34
-
When I access endpoint "readiness" using HTTP GET method
35
-
Then The status code of the response is not 200
36
-
37
-
@SkillsConfig
38
-
Scenario: Service fails to start when SKILL.md has invalid frontmatter
39
-
Given The service uses the lightspeed-stack-skills-invalid-frontmatter.yaml configuration
40
-
And The service is restarted
41
-
When I access endpoint "readiness" using HTTP GET method
42
-
Then The status code of the response is not 200
43
-
44
-
@SkillsConfig
45
-
Scenario: Service fails to start when duplicate skill names are configured
46
-
Given The service uses the lightspeed-stack-skills-duplicate-names.yaml configuration
47
-
And The service is restarted
48
-
When I access endpoint "readiness" using HTTP GET method
49
-
Then The status code of the response is not 200
50
10
11
+
#TODO: Remove "The e2e-test-skill skill directory is present in the container"
51
12
52
13
# --- Skill tools registration ---
53
14
@@ -61,6 +22,7 @@ Feature: Agent skills tests
61
22
And The body of the response contains list_skills
62
23
And The body of the response contains activate_skill
63
24
And The body of the response contains load_skill_resource
25
+
#TODO: list all the tools, check for number of tools (total) (More comprehensive than just basic testing is +)
64
26
65
27
Scenario: Skill tools are not registered when no skills are configured
66
28
Given The service uses the lightspeed-stack.yaml configuration
@@ -70,31 +32,33 @@ Feature: Agent skills tests
70
32
And The body of the response does not contain list_skills
71
33
And The body of the response does not contain activate_skill
72
34
And The body of the response does not contain load_skill_resource
35
+
#TODO: list all the tools, check for number of tools (total should be just non-skill tools)
73
36
74
37
75
38
# --- Skill discovery ---
76
39
77
-
@SkillsConfig@Authorized@flaky
40
+
@SkillsConfig
78
41
Scenario: LLM can discover skills via list_skills tool using query endpoint
79
42
Given The e2e-test-skill skill directory is present in the container
80
43
And The service uses the lightspeed-stack-skills-auth-noop-token.yaml configuration
81
44
And The service is restarted
82
45
And I capture the current token metrics
83
-
When I use "query" to ask question with authorization header
46
+
When I use "query" to ask question
84
47
"""
85
48
{"query": "What skills are available? Use the list_skills tool.", "model": "{MODEL}", "provider": "{PROVIDER}"}
86
49
"""
87
50
Then The status code of the response is 200
88
-
And The body of the response contains e2e-test-skill
51
+
And The body of the response contains e2e-test-skill #TODO: Make this more specific (instead of checking entire response check the skill content metadata (new step required))
52
+
#TODO: Instead of ^ Check tool results from list_skills tool (make it more decisive)
89
53
And The token metrics have increased
90
54
91
-
@SkillsConfig@Authorized@flaky
55
+
@SkillsConfig
92
56
Scenario: LLM can discover skills via list_skills tool using streaming_query endpoint
93
57
Given The e2e-test-skill skill directory is present in the container
94
58
And The service uses the lightspeed-stack-skills-auth-noop-token.yaml configuration
95
59
And The service is restarted
96
60
And I capture the current token metrics
97
-
When I use "streaming_query" to ask question with authorization header
61
+
When I use "streaming_query" to ask question
98
62
"""
99
63
{"query": "What skills are available? Use the list_skills tool.", "model": "{MODEL}", "provider": "{PROVIDER}"}
100
64
"""
@@ -104,31 +68,32 @@ Feature: Agent skills tests
104
68
| FragmentsinLLMresponse |
105
69
| e2e-test-skill |
106
70
And The token metrics have increased
71
+
#TODO: SEE ABOVE TEST
107
72
108
73
109
74
# --- Skill activation ---
110
75
111
-
@SkillsConfig@Authorized@flaky
76
+
@SkillsConfig
112
77
Scenario: LLM can activate a skill and use its instructions via query endpoint
113
78
Given The e2e-test-skill skill directory is present in the container
114
79
And The service uses the lightspeed-stack-skills-auth-noop-token.yaml configuration
115
80
And The service is restarted
116
81
And I capture the current token metrics
117
-
When I use "query" to ask question with authorization header
82
+
When I use "query" to ask question
118
83
"""
119
84
{"query": "I need help with e2e testing. Use the activate_skill tool to load the e2e-test-skill.", "model": "{MODEL}", "provider": "{PROVIDER}"}
120
85
"""
121
86
Then The status code of the response is 200
122
-
And The body of the response contains skill_content
87
+
And The body of the response contains skill_content #FIX: VERY GENERAL should check tool_results instead
123
88
And The token metrics have increased
124
89
125
-
@SkillsConfig@Authorized@flaky
90
+
@SkillsConfig
126
91
Scenario: LLM can activate a skill and use its instructions via streaming_query endpoint
127
92
Given The e2e-test-skill skill directory is present in the container
128
93
And The service uses the lightspeed-stack-skills-auth-noop-token.yaml configuration
129
94
And The service is restarted
130
95
And I capture the current token metrics
131
-
When I use "streaming_query" to ask question with authorization header
96
+
When I use "streaming_query" to ask question
132
97
"""
133
98
{"query": "I need help with e2e testing. Use the activate_skill tool to load the e2e-test-skill.", "model": "{MODEL}", "provider": "{PROVIDER}"}
134
99
"""
@@ -142,27 +107,27 @@ Feature: Agent skills tests
142
107
143
108
# --- Skill resource loading ---
144
109
145
-
@SkillsConfig@Authorized@flaky
110
+
@SkillsConfig
146
111
Scenario: LLM can load a skill reference file via load_skill_resource tool using query endpoint
147
112
Given The e2e-test-skill skill directory is present in the container
148
113
And The service uses the lightspeed-stack-skills-auth-noop-token.yaml configuration
149
114
And The service is restarted
150
115
And I capture the current token metrics
151
-
When I use "query" to ask question with authorization header
116
+
When I use "query" to ask question
152
117
"""
153
118
{"query": "Load the reference file references/guide.md from the e2e-test-skill using load_skill_resource.", "model": "{MODEL}", "provider": "{PROVIDER}"}
154
119
"""
155
120
Then The status code of the response is 200
156
121
And The body of the response contains skill_resource
157
122
And The token metrics have increased
158
123
159
-
@SkillsConfig@Authorized@flaky
124
+
@SkillsConfig
160
125
Scenario: LLM can load a skill reference file via load_skill_resource tool using streaming_query endpoint
161
126
Given The e2e-test-skill skill directory is present in the container
162
127
And The service uses the lightspeed-stack-skills-auth-noop-token.yaml configuration
163
128
And The service is restarted
164
129
And I capture the current token metrics
165
-
When I use "streaming_query" to ask question with authorization header
130
+
When I use "streaming_query" to ask question
166
131
"""
167
132
{"query": "Load the reference file references/guide.md from the e2e-test-skill using load_skill_resource.", "model": "{MODEL}", "provider": "{PROVIDER}"}
0 commit comments