Skip to content

Commit 4df6fcb

Browse files
authored
chore: Adjust orchestration tests (#84)
1 parent 350e836 commit 4df6fcb

File tree

3 files changed

+85
-5
lines changed

3 files changed

+85
-5
lines changed

packages/gen-ai-hub/src/orchestration/orchestration-client.test.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,10 @@ describe('GenAiHubClient', () => {
7272
},
7373
prompt: {
7474
template: [
75-
{ role: 'user', content: 'Create {number} paraphrases of {phrase}' }
75+
{
76+
role: 'user',
77+
content: 'Create {{?number}} paraphrases of {{?phrase}}'
78+
}
7679
],
7780
template_params: { phrase: 'I hate you.', number: 3 }
7881
},
@@ -114,7 +117,10 @@ describe('GenAiHubClient', () => {
114117
},
115118
prompt: {
116119
template: [
117-
{ role: 'user', content: 'Create {number} paraphrases of {phrase}' }
120+
{
121+
role: 'user',
122+
content: 'Create {{?number}} paraphrases of {{?phrase}}'
123+
}
118124
],
119125
template_params: { phrase: 'I hate you.', number: 3 }
120126
},

packages/gen-ai-hub/src/orchestration/orchestration-completion-post-request.test.ts

Lines changed: 61 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,34 @@ describe('constructCompletionPostRequest()', () => {
4646
expect(completionPostRequest).toEqual(expectedCompletionPostRequest);
4747
});
4848

49+
// Todo: Adapt the test after Cloud SDK fix for: https://github.com/SAP/cloud-sdk-backlog/issues/1234
50+
it('with model configuration and empty template', async () => {
51+
genaihubCompletionParameters.prompt.template = [];
52+
const expectedCompletionPostRequest: CompletionPostRequest = {
53+
orchestration_config: {
54+
module_configurations: {
55+
templating_module_config: {
56+
template: []
57+
},
58+
llm_module_config: {
59+
model_name: 'gpt-35-turbo-16k',
60+
model_params: { max_tokens: 50, temperature: 0.1 }
61+
}
62+
}
63+
}
64+
};
65+
const completionPostRequest: CompletionPostRequest =
66+
constructCompletionPostRequest(genaihubCompletionParameters);
67+
expect(completionPostRequest).toEqual(expectedCompletionPostRequest);
68+
});
69+
4970
it('with model configuration, prompt template and template params', async () => {
5071
genaihubCompletionParameters.prompt = {
5172
template: [
52-
{ role: 'user', content: 'Create {number} paraphrases of {phrase}' }
73+
{
74+
role: 'user',
75+
content: 'Create {{?number}} paraphrases of {{?phrase}}'
76+
}
5377
],
5478
template_params: { phrase: 'I hate you.', number: 3 }
5579
};
@@ -60,7 +84,7 @@ describe('constructCompletionPostRequest()', () => {
6084
template: [
6185
{
6286
role: 'user',
63-
content: 'Create {number} paraphrases of {phrase}'
87+
content: 'Create {{?number}} paraphrases of {{?phrase}}'
6488
}
6589
]
6690
},
@@ -77,6 +101,40 @@ describe('constructCompletionPostRequest()', () => {
77101
expect(completionPostRequest).toEqual(expectedCompletionPostRequest);
78102
});
79103

104+
it('with model configuration, prompt template and empty template params', async () => {
105+
genaihubCompletionParameters.prompt = {
106+
template: [
107+
{
108+
role: 'user',
109+
content: 'Create {{?number}} paraphrases of {{?phrase}}'
110+
}
111+
],
112+
template_params: {}
113+
};
114+
const expectedCompletionPostRequest: CompletionPostRequest = {
115+
orchestration_config: {
116+
module_configurations: {
117+
templating_module_config: {
118+
template: [
119+
{
120+
role: 'user',
121+
content: 'Create {{?number}} paraphrases of {{?phrase}}'
122+
}
123+
]
124+
},
125+
llm_module_config: {
126+
model_name: 'gpt-35-turbo-16k',
127+
model_params: { max_tokens: 50, temperature: 0.1 }
128+
}
129+
}
130+
},
131+
input_params: {}
132+
};
133+
const completionPostRequest: CompletionPostRequest =
134+
constructCompletionPostRequest(genaihubCompletionParameters);
135+
expect(completionPostRequest).toEqual(expectedCompletionPostRequest);
136+
});
137+
80138
it('with model name, empty model parameters and prompt template', async () => {
81139
genaihubCompletionParameters.llmConfig = {
82140
model_name: 'gpt-35-turbo-16k',
@@ -205,6 +263,7 @@ describe('constructCompletionPostRequest()', () => {
205263
expect(completionPostRequest).toEqual(expectedCompletionPostRequest);
206264
});
207265

266+
// Todo: Adapt the test after Cloud SDK fix for: https://github.com/SAP/cloud-sdk-backlog/issues/1234
208267
it('with model configuration, prompt template empty filter configuration', async () => {
209268
genaihubCompletionParameters.filterConfig = {};
210269
const expectedCompletionPostRequest: CompletionPostRequest = {

tests/e2e-tests/src/orchestration.test.ts

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,27 @@ describe('orchestration', () => {
2020
model_params: { max_tokens: 50, temperature: 0.1 }
2121
},
2222
prompt: {
23-
template: [{ role: 'user', content: 'Hello!' }]
23+
template: [
24+
{
25+
role: 'user',
26+
content:
27+
'Create {{?number}} paraphrases of {{?phrase1}} and {{?phrase2}}'
28+
}
29+
],
30+
template_params: {
31+
number: '3',
32+
phrase1: 'I love coffee',
33+
phrase2: 'I dislike cats'
34+
}
2435
}
2536
};
2637
const response = await new GenAiHubClient().chatCompletion(request);
2738

2839
expect(response.module_results).toBeDefined();
40+
expect(response.module_results.templating).not.toHaveLength(0);
41+
expect(response.module_results.templating?.[0].content).toBe(
42+
'Create 3 paraphrases of I love coffee and I dislike cats'
43+
);
2944
expect(response.orchestration_result.choices).not.toHaveLength(0);
3045
});
3146
});

0 commit comments

Comments
 (0)